Ë
    0Ò^jÈ–  ã                   ó  — d dl Z d dlZd dlmZmZmZmZmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZmZmZmZ d dlmZmZmZ d d	lmZ  G d
„ d«      Z G d„ de«      Z G d„ d«      Z G d„ de«      Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&y)é    N)ÚTestCaseÚassert_array_almost_equalÚassert_array_equalÚassert_Úassert_allcloseÚassert_equal)Úassert_deallocated)Ú
MapWrapper©Ú	csr_array)ÚLinearOperator)ÚScalarFunctionÚVectorFunctionÚLinearVectorFunctionÚIdentityVectorFunction)ÚrosenÚ	rosen_derÚ
rosen_hess)ÚBFGSc                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚExScalarFunctionc                 ó.   — d| _         d| _        d| _        y ©Nr   )ÚnfevÚngevÚnhev©Úselfs    ú}/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/optimize/tests/test_differentiable_functions.pyÚ__init__zExScalarFunction.__init__   ó   € ØˆŒ	ØˆŒ	Øˆ�	ó    c                 óf   — | xj                   dz  c_         d|d   dz  |d   dz  z   dz
  z  |d   z
  S )Né   é   r   )r   ©r   Úxs     r   ÚfunzExScalarFunction.fun   s=   € Ø�	Š	�Q‰�	Ø�!�A‘$˜‘'˜A˜a™D !™GÑ# aÑ'Ñ(¨1¨Q©4Ñ/Ð/r"   c                 óx   — | xj                   dz  c_         t        j                  d|d   z  dz
  d|d   z  g«      S )Nr$   é   r   )r   ÚnpÚarrayr&   s     r   ÚgradzExScalarFunction.grad   s7   € Ø�	Š	�Q‰�	Ü�x‰x˜˜1˜Q™4™ ™ 1 Q q¡T¡6Ð*Ó+Ð+r"   c                 ó\   — | xj                   dz  c_         dt        j                  d«      z  S )Nr$   r*   r%   )r   r+   Úeyer&   s     r   ÚhesszExScalarFunction.hess!   s!   € Ø�	Š	�Q‰�	Ø”—‘˜“‰{Ðr"   N)Ú__name__Ú
__module__Ú__qualname__r    r(   r-   r0   © r"   r   r   r      s   „ òò
0ò,ór"   r   c                   ór   — e Zd Zd„ Zej
                  j                  d«      d„ «       Zd„ Zd„ Z	d„ Z
d„ Zd„ Zy	)
ÚTestScalarFunctionc           
      óV  — t        «       }d}d}ddg}t        |j                  |d|j                  |j                  d t
        j                   t
        j                  f«      }|dz  }|dz  }t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  |dd|j                  d t
        j                   t
        j                  f«      }|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |j                  z   |«       t        |j                  |j                  «       t        |j                  |j                  «       dd	g}|j                  |«      }|j                  |«      }	|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |j                  z   |«       |j                  |«      }
|j                  |«      }|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |j                  z   |«       t        ||
«       t        |	|«       d
dg}|j                  |«      }	|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |j                  z   |«       |j                  |«      }|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |j                  z   |«       t        |	|«       dd	g}|j                  |«      }|j                  |«      }	|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |j                  z   |«       |j                  |«      }
|j                  |«      }|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |j                  z   |«       t        ||
«       t        |	|«       dd	g}|j                  |«      }|j                  |«      }	|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |j                  z   |«       |j                  |«      }
|j                  |«      }|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |j                  z   |«       t        ||
«       t        |	|«       y )Nr   ç      ð?ç        r4   r$   ú2-pointé   é
   ç333333Ó?ç       @ç      @r%   )r   r   r(   r-   r0   r+   Úinfr   r   r   Úfr   Úg)r   Úexr   r   Úx0ÚanalitÚapproxr'   Úf_analitÚg_analitÚf_approxÚg_approxs               r   Útest_finite_difference_gradz.TestScalarFunction.test_finite_difference_grad(   sÆ  € ÜÓˆØˆØˆà�3ˆZˆÜ §¡¨¨B°·±Ø "§¡¨´·±°¼¿¹Ð/@óBˆà�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™;¨Ô-Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™;¨Ô-Ü §¡¨¨B°	Ø "§¡¨´·±°¼¿¹Ð/@óBˆà�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜6Ÿ8™8 V§X¡XÔ.Ü! &§(¡(¨F¯H©HÔ5à�ˆIˆØ—:‘:˜a“=ˆØ—;‘;˜q“>ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø—:‘:˜a“=ˆØ—;‘;˜q“>ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü! (¨HÔ5Ü! (¨HÔ5à�#ˆJˆØ—;‘;˜q“>ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9à—;‘;˜q“>ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü! (¨HÔ5à�#ˆJˆØ—:‘:˜a“=ˆØ—;‘;˜q“>ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø—:‘:˜a“=ˆØ—;‘;˜q“>ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü! (¨HÔ5Ü! (¨HÔ5à�ˆHˆØ—:‘:˜a“=ˆØ—;‘;˜q“>ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø—:‘:˜a“=ˆØ—;‘;˜q“>ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü! (¨HÔ5Ü! (¨HÕ5r"   ç      @c                 óà  — t        j                  ddg«      }t        «       }t        «       }t        d«      5 }t	        |j
                  |dd|j                  d t         j                   t         j                  f|¬«      }t	        |j
                  |dd|j                  d t         j                   t         j                  f«      }t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        «       }t        «       }t	        |j
                  |dd|j                  d t         j                   t         j                  f|¬«      }t	        |j
                  |dd|j                  d t         j                   t         j                  f«      }t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        «       }t        «       }t        j                  dd	g«      }t	        |j
                  |d|j                  dd t         j                   t         j                  f|¬«      }t	        |j
                  |d|j                  dd t         j                   t         j                  f«      }t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       |j                  |«       |j                  |«       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       d d d «       y # 1 sw Y   y xY w)
Nr>   r=   r%   r4   r:   ©Úworkersú3-pointç      @ç      @)r+   r,   r   r
   r   r(   r0   r@   r   r-   r   r   r   r   )r   rD   rC   Úex2ÚmapperrF   Úapprox_seriesÚx1s           r   Útest_workerszTestScalarFunction.test_workers…   s  € ä�X‰X�s˜C�jÓ!ˆÜÓˆÜÓ ˆÜ˜‹]ð 6	7˜fÜ# B§F¡F¨B°°IØ$&§G¡G¨T´R·V±V°G¼R¿V¹VÐ3DØ,2ô4ˆFô +¨3¯7©7°B¸¸IØ+.¯8©8°T¼R¿V¹V¸GÄRÇVÁVÐ;Ló-ˆMô ˜FŸK™K¨›O¨R¯W©W°R«[Ô9Ü˜M×.Ñ.¨rÓ2°B·G±G¸B³KÔ@Ü˜M×.Ñ.¨rÓ2°B·G±G¸B³KÔ@Ü˜FŸK™K¨›O¨R¯W©W°R«[Ô9Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6ä!Ó#ˆBÜ"Ó$ˆCÜ# B§F¡F¨B°°IØ$&§G¡G¨T´R·V±V°G¼R¿V¹VÐ3DØ,2ô4ˆFô +¨3¯7©7°B¸¸IØ+.¯8©8°T¼R¿V¹V¸GÄRÇVÁVÐ;Ló,ˆMô ˜FŸK™K¨›O¨R¯W©W°R«[Ô9Ü˜M×.Ñ.¨rÓ2°B·G±G¸B³KÔ@Ü˜M×.Ñ.¨rÓ2°B·G±G¸B³KÔ@Ü˜FŸK™K¨›O¨R¯W©W°R«[Ô9Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6ä!Ó#ˆBÜ"Ó$ˆCÜ—‘˜3 ˜*Ó%ˆBä# B§F¡F¨B°°B·G±GØ$-¨t´r·v±v°g¼r¿v¹vÐ5FØ,2ô4ˆFô +¨3¯7©7°B¸¸C¿H¹HØ+4°d¼b¿f¹f¸WÄbÇfÁfÐ<Mó-ˆMô ˜FŸK™K¨›O¨R¯W©W°R«[Ô9Ü˜M×.Ñ.¨rÓ2°B·G±G¸B³KÔ@Ø×Ñ˜rÔ"Ø�K‰K˜ŒOÜ˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6÷m6	7÷ 6	7ñ 6	7ús   ·V$W$×$W-c           
      óœ  — t        «       }d„ }ddg}t        |j                  |d|j                  |j                  d t
        j                   t
        j                  f«      }|j                  |«      |j                  |«      f} ||j                  |«      |«       |j                  dk(  sJ ‚d|d<   |j                  |«      |j                  |«      f} ||j                  |«      |«       ddg}t        |j                  |dd|j                  d t
        j                   t
        j                  f«      }|j                  dk(  sJ ‚|j                  |«      |j                  |«      f} ||j                  |«      |«       |j                  dk(  sJ ‚d|d<   |j                  |«      |j                  |«      f} ||j                  |«      |«       y )Nc                 óL   — t        | d   |d   «       t        | d   |d   «       y )Nr   r$   )r   )r'   Úys     r   Úfg_allclosez9TestScalarFunction.test_fun_and_grad.<locals>.fg_allcloseÅ   s&   € Ü˜A˜a™D ! A¡$Ô'Ü˜A˜a™D ! A¡$Õ'r"   r>   r=   r4   r$   r8   rP   )	r   r   r(   r-   r0   r+   r@   Úfun_and_gradr   )r   rC   r[   rD   rE   ÚfgÚsfs          r   Útest_fun_and_gradz$TestScalarFunction.test_fun_and_gradÂ   s‰  € ÜÓˆò	(ð
 �3ˆZˆÜ §¡¨¨B°·±Ø "§¡¨´·±°¼¿¹Ð/@óBˆð �V‰V�B‹Z˜Ÿ™ ›Ð$ˆÙ�F×'Ñ'¨Ó+¨RÔ0Ø�{‰{˜aÒÐÐàˆˆ1‰Ø�V‰V�B‹Z˜Ÿ™ ›Ð$ˆÙ�F×'Ñ'¨Ó+¨RÔ0ð �3ˆZˆÜ˜BŸF™F B¨¨IØ "§¡¨´·±°¼¿¹Ð/@óBˆà�w‰w˜!Š|Ðˆ|Ø�V‰V�B‹Z˜Ÿ™ ›Ð$ˆÙ�B—O‘O BÓ'¨Ô,Ø�w‰w˜!Š|Ðˆ|àˆˆ1‰Ø�V‰V�B‹Z˜Ÿ™ ›Ð$ˆÙ�B—O‘O BÓ'¨Õ,r"   c           
      ó¦  — t        «       }d}d}d}ddg}t        |j                  |d|j                  |j                  d t
        j                   t
        j                  f«      }|dz  }|dz  }|dz  }t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  |d|j                  dd t
        j                   t
        j                  f«      }t        t        |j                  t        «      «       ddgdd	gd
dgfD ]€  }t        |j                  |j                  «       t!        |j"                  |j"                  «       t!        |j                  j%                  |«      |j                  j%                  |«      «       Œ‚ |dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       ddg}	|j	                  |	«      }
|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j	                  |	«      }t        t        |t        «      «       ddgdd	gd
dgfD ],  }t!        |
j%                  |«      |j%                  |«      «       Œ. |dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       ddg}	|j	                  |	«      }
|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j	                  |	«      }t        t        |t        «      «       ddgdd	gd
dgfD ],  }t!        |
j%                  |«      |j%                  |«      «       Œ. |dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       ddg}	|j                  |	«      }|j	                  |	«      }
|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j                  |	«      }|j	                  |	«      }t        t        |t        «      «       ddgdd	gd
dgfD ],  }t!        |
j%                  |«      |j%                  |«      «       Œ. |dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       ddg}	|j                  |	«      }|j	                  |	«      }
|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j                  |	«      }|j	                  |	«      }t        t        |t        «      «       ddgdd	gd
dgfD ],  }t!        |
j%                  |«      |j%                  |«      «       Œ. |dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       y )Nr   r8   r9   r4   r$   r:   r>   rQ   rR   rL   r*   çÍÌÌÌÌÌ @ç333333ó?r?   r=   çÍÌÌÌÌÌ@çffffff@)r   r   r(   r-   r0   r+   r@   r   r   r   r   r   Ú
isinstanceÚHr   rA   r   rB   Údot)r   rC   r   r   r   rD   rE   rF   Úvr'   ÚH_analitÚH_approxÚ_s                r   Ú+test_finite_difference_hess_linear_operatorz>TestScalarFunction.test_finite_difference_hess_linear_operatorã   s½  € ÜÓˆØˆØˆØˆà�3ˆZˆÜ §¡¨¨B°·±Ø "§¡¨´·±°¼¿¹Ð/@óBˆà�‰	ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™;¨Ô-Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™;¨Ô-Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™;¨Ô-Ü §¡¨¨B°·±Ø )¨4´2·6±6°'¼2¿6¹6Ð1BóDˆä”
˜6Ÿ8™8¤^Ó4Ô5Ø˜�*˜s C˜j¨3°¨*Ð5ò 	HˆAÜ˜vŸx™x¨¯©Ô2Ü% f§h¡h°·±Ô9Ü% f§h¡h§l¡l°1£o°v·x±x·|±|ÀA³ÕGð	Hð 	�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9à�#ˆJˆØ—;‘;˜q“>ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø—;‘;˜q“>ˆÜ”
˜8¤^Ó4Ô5Ø˜�*˜s C˜j¨3°¨*Ð5ò 	HˆAÜ% h§l¡l°1£o°x·|±|ÀA³ÕGð	Hà�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9à�#ˆJˆØ—;‘;˜q“>ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø—;‘;˜q“>ˆÜ”
˜8¤^Ó4Ô5Ø˜�*˜s C˜j¨3°¨*Ð5ò 	HˆAÜ% h§l¡l°1£o°x·|±|ÀA³ÕGð	Hà�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9à�#ˆJˆØ�K‰K˜‹NˆØ—;‘;˜q“>ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø�K‰K˜‹NˆØ—;‘;˜q“>ˆÜ”
˜8¤^Ó4Ô5Ø˜�*˜s C˜j¨3°¨*Ð5ò 	HˆAÜ% h§l¡l°1£o°x·|±|ÀA³ÕGð	Hà�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9à�#ˆJˆØ�K‰K˜‹NˆØ—;‘;˜q“>ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø�K‰K˜‹NˆØ—;‘;˜q“>ˆÜ”
˜8¤^Ó4Ô5Ø˜�*˜s C˜j¨3°¨*Ð5ò 	HˆAÜ% h§l¡l°1£o°x·|±|ÀA³ÕGð	Hà�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÕ9r"   c           
      óÚ  — d„ }t        j                  g d¢«      }t        ||ddd„ d t         j                   t         j                  f«      }||j                  usJ ‚t        |j                  |«      d«       ||j                  usJ ‚d|d<   |j                  |«      }t        |d	«       d
|d<   |j                  |«      }t        |d«       ||j                  usJ ‚t        «       }t        j                  g d¢«      }t        ||dd|d t         j                   t         j                  f«      }||j                  usJ ‚t        |j                  |«      d«       ||j                  usJ ‚d|d<   |j                  |«      }t        |d	«       d
|d<   |j                  |«      }t        |d«       ||j                  usJ ‚d„ }t        j                  g d¢«      }t        ||ddd„ d t         j                   t         j                  f«      }||j                  usJ ‚t        |j                  |«      d«       t        |j                  t        j                  g d¢«      «       ||j                  usJ ‚y )Nc                 óX   — t        j                  t        j                  | «      dz  «      S )Nr%   )r+   ÚsumÚasarray©r'   s    r   rA   z4TestScalarFunction.test_x_storage_overlap.<locals>.fd  s   € Ü—6‘6œ"Ÿ*™* Q›-¨1Ñ,Ó-Ð-r"   )r8   r>   rQ   r4   rP   c                 ó   — | S ©Nr4   rq   s    r   ú<lambda>z;TestScalarFunction.test_x_storage_overlap.<locals>.<lambda>h  s   € ¸1€ r"   g      ,@r9   r   g      *@r$   c                 ó6   — | | z  } t        j                  | «      S rs   )r+   ro   rq   s    r   Úffz5TestScalarFunction.test_x_storage_overlap.<locals>.ffŠ  s   € Ø�‰FˆAÜ—6‘6˜!“9Ðr"   c                 ó   — | S rs   r4   rq   s    r   rt   z;TestScalarFunction.test_x_storage_overlap.<locals>.<lambda>�  s   € ¨A€ r"   )r+   r,   r   r@   r'   r   r(   r   )r   rA   r'   r^   Úf1Úf2r0   rv   s           r   Útest_x_storage_overlapz)TestScalarFunction.test_x_storage_overlap_  s  € ò
	.ô �H‰H’\Ó"ˆÜ˜A˜q " i±¸dÄbÇfÁfÀWÌbÏfÉfÐDUÓVˆà˜Ÿ™‰}Ðˆ}Ü�R—V‘V˜A“Y Ô%Ø˜Ÿ™‰}Ðˆ}àˆˆ!‰Ø�V‰V�A‹YˆÜ�R˜Ôàˆˆ!‰Ø�V‰V�A‹YˆÜ�R˜ÔØ˜Ÿ™‰}Ðˆ}ô ‹vˆÜ�H‰H’\Ó"ˆÜ˜A˜q " i°°t¼r¿v¹v¸gÄrÇvÁvÐ=NÓOˆà˜Ÿ™‰}Ðˆ}Ü�R—V‘V˜A“Y Ô%Ø˜Ÿ™‰}Ðˆ}àˆˆ!‰Ø�V‰V�A‹YˆÜ�R˜Ôàˆˆ!‰Ø�V‰V�A‹YˆÜ�R˜ÔØ˜Ÿ™‰}Ðˆ}ò	ô �H‰H’\Ó"ˆÜØ��2�y¡+¨t´r·v±v°g¼r¿v¹vÐ5Fó
ˆð ˜Ÿ™‰}Ðˆ}Ü�R—V‘V˜A“Y Ô%Ü�R—T‘Tœ2Ÿ8™8¢LÓ1Ô2Ø˜Ÿ™‰}Ð‰}r"   c           
      ó¼  — t        j                  g d¢«      }t        t        |dt        t
        d d «      }|j                  g d¢«       |j                  |«       |j                  g d¢«       |j                  g d¢«       t        |j                  d«       t        |j                  g d¢«       t        t        |ddt
        d t         j                   t         j                  f«      }|j                  g d¢«       |j                  |«       |j                  g d¢«       |j                  g d¢«       t        |j                  d«       t        |j                  g d¢«       y )N©r%   r;   r*   r4   )r$   r$   r$   )g)\�Âõ(ð?r$   r8   r9   )r8   r8   r8   r:   )r+   r,   r   r   r   r   r(   r-   r   Ú	_lowest_fÚ	_lowest_xr@   )r   rD   r^   s      r   Útest_lowest_xz TestScalarFunction.test_lowest_x—  sç   € ä�X‰X’iÓ ˆÜœE 2 r¬9´jØ  $ó(ˆà
�‰ŠyÔØ
�‰ˆrŒ
Ø
�‰Š~ÔØ
�‰’ÔÜ�R—\‘\ 3Ô'Ü�R—\‘\¢?Ô3äœE 2 r¨9´jØ ¤B§F¡F 7¬B¯F©FÐ"3ó5ˆà
�‰ŠyÔØ
�‰ˆrŒ
Ø
�‰Š~ÔØ
�‰’ÔÜ�R—\‘\ 3Ô'Ü�R—\‘\¢?Õ3r"   c           
      ó¼  — t        j                  g d¢«      j                  t         j                  «      }d„ }t	        ||ddt
        d t         j                   t         j                  f«      }|j                  |«      }|j                  t         j                  k(  sJ ‚d„ }t        j                  dgt         j                  ¬«      }t	        ||ddd„ d t         j                   t         j                  f«      }|j                  |«      } ||«      j                  t         j                  k(  sJ ‚|j                  t         j                  k(  sJ ‚t        | ||«      «       y )	Nr|   c                 óV   — | j                   t        j                  k(  sJ ‚t        | «      S rs   )Údtyper+   Úfloat32r   rq   s    r   Úrosen_z2TestScalarFunction.test_float_size.<locals>.rosen_±  s!   € Ø—7‘7œbŸj™jÒ(Ð(Ð(Ü˜“8ˆOr"   r4   r:   c                 ó   — | dz  | z
  S )Nr*   r4   rq   s    r   r(   z/TestScalarFunction.test_float_size.<locals>.fun¼  s   € Ø�a‘4˜!‘8ˆOr"   rb   ©r‚   c                  ó   — y rs   r4   rq   s    r   rt   z4TestScalarFunction.test_float_size.<locals>.<lambda>À  s   � r"   )
r+   r,   Úastyperƒ   r   r   r@   r(   r‚   r   )r   rD   r„   r^   Úresr(   Úfxs          r   Útest_float_sizez"TestScalarFunction.test_float_size¬  s  € Ü�X‰X’iÓ ×'Ñ'¬¯
©
Ó3ˆò	ô ˜F B¨¨I´zØ ¤B§F¡F 7¬B¯F©FÐ"3ó5ˆà�f‰f�R‹jˆØ�y‰yœBŸJ™JÒ&Ð&Ð&ò	ô �X‰X�s�e¤2§:¡:Ô.ˆÜ˜C  R¨±NØ ¤B§F¡F 7¬B¯F©FÐ"3ó5ˆà�V‰V�B‹ZˆÙ�2‹w�}‰}¤§
¡
Ò*Ð*Ð*Ø�x‰xœ2Ÿ:™:Ò%Ð%Ð%ä�R™˜R›Õ!r"   N)r1   r2   r3   rK   ÚpytestÚmarkÚ	fail_slowrW   r_   rl   rz   r   r‹   r4   r"   r   r6   r6   &   sJ   „ ò[6ðz ‡[�[×Ñ˜3Óñ:7ó  ð:7òx-òBz:òx6òp4ó*"r"   r6   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚExVectorialFunctionc                 ó.   — d| _         d| _        d| _        y r   )r   Únjevr   r   s    r   r    zExVectorialFunction.__init__Ë  r!   r"   c                 óä   — | xj                   dz  c_         t        j                  d|d   dz  |d   dz  z   dz
  z  |d   z
  d|d   dz  |d   dz  z   dz
  z  d|d   z  z
  g|j                  ¬«      S )Nr$   r%   r   r*   r;   r†   )r   r+   r,   r‚   r&   s     r   r(   zExVectorialFunction.funÐ  s‡   € Ø�	Š	�Q‰�	Ü�x‰x˜˜A˜a™D !™G a¨¡d¨A¡gÑ-°Ñ1Ñ2°Q°q±TÑ9Ø˜A˜a™D !™G a¨¡d¨A¡gÑ-°Ñ1Ñ2°Q°q¸±t±VÑ;ð=ØDEÇGÁGôMð 	Mr"   c                 ó¼   — | xj                   dz  c_         t        j                  d|d   z  dz
  d|d   z  gd|d   dz  z  dz
  d|d   z  gg|j                  ¬«      S )	Nr$   r*   r   é   r%   r;   é   r†   )r’   r+   r,   r‚   r&   s     r   ÚjaczExVectorialFunction.jacÕ  si   € Ø�	Š	�Q‰�	Ü�x‰x˜!˜A˜a™D™& ™( A a¨¡d¡FÐ+Ø˜Q˜q™T 1™W™* Q™,¨¨!¨A©$©Ð/ð1Ø89¿¹ôAð 	Ar"   c                 ó¸   — | xj                   dz  c_         |d   dz  t        j                  d«      z  |d   t        j                  d|d   z  dgddgg«      z  z   S )Nr$   r   r*   r%   é   r–   )r   r+   r/   r,   )r   r'   rh   s      r   r0   zExVectorialFunction.hessÚ  sa   € Ø�	Š	�Q‰�	Ø�‰t�A‰v”b—f‘f˜Q“iÑ ! A¡$¤r§x¡x°"°Q°q±T±'¸1°Ø23°Q°ð19ó (:ñ #:ñ :ð 	:r"   N)r1   r2   r3   r    r(   r—   r0   r4   r"   r   r�   r�   É  s   „ òò
Mò
Aó
:r"   r�   c                   ó~   — e Zd Zd„ Zd„ Zej                  j                  d«      d„ «       Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zd
„ Zy)ÚTestVectorialFunctionc           
      ór  — t        «       }d}d}ddg}t        |j                  ||j                  |j                  d d t
        j                   t
        j                  fd «      }|dz  }|dz  }t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  |d|j                  «      }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |j                  «       t        |j                  |j                  «       ddg}|j                  |«      }|j                  |«      }	|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j                  |«      }
|j                  |«      }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        ||
«       t        |	|d	¬
«       ddg}|j                  |«      }	|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j                  |«      }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |	|«       ddg}|j                  |«      }|j                  |«      }	|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j                  |«      }
|j                  |«      }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        ||
«       t        |	|«       ddg}|j                  |«      }|j                  |«      }	|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j                  |«      }
|j                  |«      }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        ||
«       t        |	|«       y )Nr   r8   r9   r$   r:   r;   r<   r=   r*   ©Údecimalr>   r?   r%   )r�   r   r(   r—   r0   r+   r@   r   r   r’   rA   r   ÚJ)r   rC   r   r’   rD   rE   rF   r'   rG   ÚJ_analitrI   ÚJ_approxs               r   Útest_finite_difference_jacz0TestVectorialFunction.test_finite_difference_jacâ  s  € Ü Ó"ˆØˆØˆà�3ˆZˆÜ §¡¨¨B¯F©F°B·G±G¸TÀ4Ü"$§&¡& ¬"¯&©&Ð 1°4ó9ˆà�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™;¨Ô-Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™;¨Ô-ô   §¡¨¨I°r·w±wÓ?ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜6Ÿ8™8 V§X¡XÔ.Ü! &§(¡(¨F¯H©HÔ5à�ˆIˆØ—:‘:˜a“=ˆØ—:‘:˜a“=ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø—:‘:˜a“=ˆØ—:‘:˜a“=ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü! (¨HÔ5Ü! (¨H¸aÕ@à�#ˆJˆØ—:‘:˜a“=ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø—:‘:˜a“=ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü! (¨HÔ5à�#ˆJˆØ—:‘:˜a“=ˆØ—:‘:˜a“=ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø—:‘:˜a“=ˆØ—:‘:˜a“=ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü! (¨HÔ5Ü! (¨HÔ5à�ˆHˆØ—:‘:˜a“=ˆØ—:‘:˜a“=ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø—:‘:˜a“=ˆØ—:‘:˜a“=ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü! (¨HÔ5Ü! (¨HÕ5r"   c                 ó  — t        j                  ddg«      }t        «       }t        |j                  ||j
                  |j                  «      }|j                  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j	                  |«       |j                  |«       |j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚y )Nr?   rQ   r$   )
r+   r,   r�   r   r(   r—   r0   Ú	f_updatedr   r’   )r   rD   rC   Úvfs       r   Útest_updating_on_initial_setupz4TestVectorialFunction.test_updating_on_initial_setupC  sÜ   € ô �X‰X�s˜C�jÓ!ˆÜ Ó"ˆÜ˜BŸF™F B¨¯©°·±Ó8ˆØ�|Š|Ðˆ|Ø�w‰w˜!Š|Ðˆ|Ø�w‰w˜!Š|Ðˆ|Ø�w‰w˜!Š|Ðˆ|Ø�w‰w˜!Š|Ðˆ|Ø
�‰ˆrŒ
Ø
�‰ˆrŒ
Ø�w‰w˜!Š|Ðˆ|Ø�w‰w˜!Š|Ðˆ|Ø�w‰w˜!Š|Ðˆ|Ø�w‰w˜!Š|Ð‰|r"   rL   c                 ó¬  — t        j                  ddg«      }t        «       }t        «       }t        j                  ddg«      }t        d«      5 }t	        |j
                  |d|j                  d d t         j                   t         j                  fd|¬«	      }t	        |j
                  |d|j                  d d t         j                   t         j                  fd«      }t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       t        |j                  ||«      |j                  ||«      «       t        |j                  ||«      |j                  ||«      «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       d	x|_        x|_        |_        d	x|_        x|_        |_        t	        |j
                  |d
|j                  d d t         j                   t         j                  fd|¬«	      }t	        |j
                  |d
|j                  d d t         j                   t         j                  fd«      }t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       t        |j                  ||«      |j                  ||«      «       t        |j                  ||«      |j                  ||«      «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       d	x|_        x|_        |_        d	x|_        x|_        |_        t	        |j
                  ||j                  dd d t         j                   t         j                  fd|¬«	      }t	        |j
                  ||j                  dd d t         j                   t         j                  fd«      }t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       |j                  ||«      }|j                  ||«      }	|j                  ||«      }
ddg}t        |
j                  |«      |j                  |«      «       t        |	j                  |«      |j                  |«      «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       d d d «       y # 1 sw Y   y xY w)Nr?   rQ   r8   r>   r%   r:   FrN   r   rP   é   )r+   r,   r�   r
   r   r(   r0   r@   r   r—   r   r   r’   r   rg   )r   rD   rC   rS   rh   rT   rF   rU   ri   ÚH_approx_seriesrj   r'   s               r   rW   z"TestVectorialFunction.test_workersU  s�  € ä�X‰X�s˜C�jÓ!ˆÜ Ó"ˆÜ!Ó#ˆÜ�H‰H�c˜3�ZÓ ˆä˜‹]ð =	:˜fÜ# B§F¡F¨B°	Ø$&§G¡G¨T°4¼2¿6¹6¸'Ä2Ç6Á6Ð9JØ$)°6ô;ˆFô +¨3¯7©7°B¸	Ø+.¯8©8°T¸4Ä2Ç6Á6À'Ì2Ï6É6ÐARØ+0ó2ˆMô ˜FŸJ™J r›N¨B¯F©F°2«JÔ7Ü˜M×-Ñ-¨bÓ1°2·6±6¸"³:Ô>Ü˜M×.Ñ.¨r°1Ó5°r·w±w¸rÀ1³~ÔFÜ˜FŸK™K¨¨AÓ.°·±¸¸A³Ô?Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6à*+Ð+ˆBŒGÐ+�b”g ¤Ø-.Ð.ˆCŒHÐ.�s”x #¤(Ü# B§F¡F¨B°	Ø$&§G¡G¨T°4¼2¿6¹6¸'Ä2Ç6Á6Ð9JØ$)°6ô;ˆFô +¨3¯7©7°B¸	Ø+.¯8©8°T¸4Ä2Ç6Á6À'Ì2Ï6É6ÐARØ+0ó2ˆMô ˜FŸJ™J r›N¨B¯F©F°2«JÔ7Ü˜M×-Ñ-¨bÓ1°2·6±6¸"³:Ô>Ü˜M×.Ñ.¨r°1Ó5°r·w±w¸rÀ1³~ÔFÜ˜FŸK™K¨¨AÓ.°·±¸¸A³Ô?ä˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6ð
 +,Ð+ˆBŒGÐ+�b”g ¤Ø-.Ð.ˆCŒHÐ.�s”x #¤(Ü# B§F¡F¨B°·±Ø$-¨t°T¼R¿V¹V¸GÄRÇVÁVÐ;LØ$)°6ô;ˆFô +¨3¯7©7°B¸¿¹Ø+4°d¸DÄBÇFÁFÀ7ÌBÏFÉFÐBSØ+0ó2ˆMô ˜FŸJ™J r›N¨B¯F©F°2«JÔ7Ü˜M×-Ñ-¨bÓ1°2·6±6¸"³:Ô>à—x‘x  A“ˆHØ+×0Ñ0°°QÓ7ˆOØ—{‘{ 2 qÓ)ˆHØ�C�ˆAÜ˜HŸL™L¨›O¨X¯\©\¸!«_Ô=Ü˜O×/Ñ/°Ó2°H·L±LÀ³OÔDä˜Ÿ™ m×&8Ñ&8Ô9Ü˜×+Ñ+¨S¯X©XÔ6Ü˜Ÿ™ m×&8Ñ&8Ô9Ü˜Ÿ™ m×&8Ñ&8Ô9÷{=	:÷ =	:ñ =	:ús   ÁW3Y
Ù
Yc           
      óî  — t        «       }d}d}d}ddg}ddg}t        |j                  ||j                  |j                  d d t
        j                   t
        j                  fd «      }|dz  }|dz  }|dz  }t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                  ||j                  dd d t
        j                   t
        j                  fd «      }t        t        |j                  t        «      «       ddgddgd	dgfD ]€  }	t        |j                  |j                  «       t!        |j"                  |j"                  «       t!        |j                  j%                  |	«      |j                  j%                  |	«      «       Œ‚ |dz  }|d
z  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       ddg}
|j	                  |
|«      }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j	                  |
|«      }t        t        |t        «      «       ddgddgd	dgfD ].  }	t!        |j%                  |	«      |j%                  |	«      d¬«       Œ0 |d
z  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       ddg}
ddg}|j	                  |
|«      }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j	                  |
|«      }t        t        |t        «      «       ddgddgd	dgfD ],  }t!        |j%                  |«      |j%                  |«      «       Œ. |d
z  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       ddg}
|j                  |
«      }|j	                  |
|«      }|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j                  |
«      }|j	                  |
|«      }t        t        |t        «      «       ddgddgd	dgfD ].  }t!        |j%                  |«      |j%                  |«      d
¬«       Œ0 |d
z  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       ddg}
ddg}|j                  |
«      }|j	                  |
|«      }|dz  }|dz  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       |j                  |
«      }|j	                  |
|«      }t        t        |t        «      «       ddgddgd	dgfD ].  }t!        |j%                  |«      |j%                  |«      d
¬«       Œ0 |d
z  }t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        |j                  |«       t        |j                  |j                  z   |«       t        j&                  ddg«      }
t        j&                  ddg«      }|j(                  j                  }|j)                  |
|d ¬«      }t        |t        «      sJ ‚|j(                  j                  |dz   k(  sJ ‚y )Nr   r8   r9   r>   r$   r:   rQ   rR   rL   r*   r¨   r�   ra   rb   r?   r=   rc   rd   g      ø?g      à?)ÚJ0)r�   r   r(   r—   r0   r+   r@   r   r   r’   r   r   re   rf   r   rA   r   rŸ   rg   r,   Úhess_wrapped)r   rC   r   r’   r   rD   Úv0rE   rF   Úpr'   ri   rj   rh   rk   Únjev_beforerf   s                    r   rl   zATestVectorialFunction.test_finite_difference_hess_linear_operator›  sy  € Ü Ó"ˆØˆØˆØˆà�3ˆZˆØ�3ˆZˆÜ §¡¨¨B¯F©F°B·G±G¸TÀ4Ü"$§&¡& ¬"¯&©&Ð 1°4ó9ˆà�‰	ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™;¨Ô-Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™;¨Ô-Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™;¨Ô-Ü §¡¨¨B¯F©F°I¸tÀTÜ"$§&¡& ¬"¯&©&Ð 1°4ó9ˆä”
˜6Ÿ8™8¤^Ó4Ô5Ø˜�*˜s C˜j¨3°¨*Ð5ò 	HˆAÜ˜vŸx™x¨¯©Ô2Ü% f§h¡h°·±Ô9Ü% f§h¡h§l¡l°1£o°v·x±x·|±|ÀA³ÕGð	Hð 	�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9à�#ˆJˆØ—;‘;˜q "Ó%ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø—;‘;˜q "Ó%ˆÜ”
˜8¤^Ó4Ô5Ø˜�*˜s C˜j¨3°¨*Ð5ò 	1ˆAÜ% h§l¡l°1£o°x·|±|ÀA³Ø./ö1ð	1ð 	�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9à�#ˆJˆØ�#ˆJˆØ—;‘;˜q !Ó$ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø—;‘;˜q !Ó$ˆÜ”
˜8¤^Ó4Ô5Ø˜�*˜s C˜j¨3°¨*Ð5ò 	HˆAÜ% h§l¡l°1£o°x·|±|ÀA³ÕGð	Hà�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9à�#ˆJˆØ�J‰J�q‹MˆØ—;‘;˜q "Ó%ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø�J‰J�q‹MˆØ—;‘;˜q "Ó%ˆÜ”
˜8¤^Ó4Ô5Ø˜�*˜s C˜j¨3°¨*Ð5ò 	SˆAÜ% h§l¡l°1£o°x·|±|ÀA³ÐPQÖRð	Sà�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9à�#ˆJˆØ�#ˆJˆØ�J‰J�q‹MˆØ—;‘;˜q !Ó$ˆØ�‰	ˆØ�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ø�J‰J�q‹MˆØ—;‘;˜q !Ó$ˆÜ”
˜8¤^Ó4Ô5Ø˜�*˜s C˜j¨3°¨*Ð5ò 	SˆAÜ% h§l¡l°1£o°x·|±|ÀA³ÐPQÖRð	Sà�‰	ˆÜ˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9Ü˜2Ÿ7™7 DÔ)Ü˜6Ÿ;™; v§{¡{Ñ2°DÔ9ô �H‰H�c˜3�ZÓ ˆÜ�H‰H�c˜3�ZÓ ˆØ×)Ñ)×.Ñ.ˆØ×Ñ  1¨ÐÓ.ˆÜ˜!œ^Ô,Ð,Ð,à×"Ñ"×'Ñ'¨;¸©?Ò:Ð:Ñ:r"   c           
      ó‚  — t        «       }t        j                  ddg«      }t        |j                  |d|j
                  d d t        j                   t        j                  fd «      }|j	                  t        j                  ddg«      «      }|j                  ddg«      }|j                  |usJ ‚|j                  |usJ ‚t        ||j                  «       t        ||j                  «       t        |j                  ||j                  |j
                  d d t        j                   t        j                  fd «      }|j	                  t        j                  ddg«      «      }|j                  ddg«      }|j                  |usJ ‚|j                  |usJ ‚t        ||j                  «       t        ||j                  «       y )Nr8   r9   rP   gš™™™™™ñ?gš™™™™™¹?)r�   r+   r,   r   r(   r0   r@   r—   rA   rŸ   r   )r   rC   rD   r¥   rA   rŸ   s         r   Útest_fgh_overlapz&TestVectorialFunction.test_fgh_overlap$  sV  € ä Ó"ˆÜ�X‰X�s˜C�jÓ!ˆä˜BŸF™F B¨	°2·7±7¸DÀ$Ü Ÿf™f˜W¤b§f¡fÐ-¨tó5ˆà�F‰F”2—8‘8˜S #˜JÓ'Ó(ˆØ�F‰F�C˜�:ÓˆØ�t‰t˜1‰}Ðˆ}Ø�t‰t˜1‰}Ðˆ}Ü�Q˜Ÿ™ÔÜ�Q˜Ÿ™Ôä˜BŸF™F B¨¯©°·±¸¸tÜ Ÿf™f˜W¤b§f¡fÐ-¨tó5ˆà�F‰F”2—8‘8˜S #˜JÓ'Ó(ˆØ�F‰F�C˜�:ÓˆØ�t‰t˜1‰}Ðˆ}Ø�t‰t˜1‰}Ðˆ}Ü�Q˜Ÿ™ÔÜ�Q˜Ÿ™Õr"   c           
      ó  — t        «       }t        j                  ddg«      }t        |j                  |d|j
                  d d t        j                   t        j                  fd «      }||j                  usJ ‚t        |j	                  |«      |j	                  |«      «       ||j                  usJ ‚d|d<   t        |j	                  |«      |j	                  |«      «       ||j                  usJ ‚d|d<   t        |j	                  |«      |j	                  |«      «       ||j                  usJ ‚t        «       }t        j                  ddg«      }t        |j                  |d|d d t        j                   t        j                  fd «      }t        j                  t        «      5  ||j                  usJ ‚t        |j	                  |«      |j	                  |«      «       ||j                  usJ ‚d|d<   t        |j	                  |«      |j	                  |«      «       ||j                  usJ ‚d|d<   t        |j	                  |«      |j	                  |«      «       ||j                  usJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr8   r9   rP   r>   r   )r�   r+   r,   r   r(   r0   r@   r'   r   r   rŒ   ÚwarnsÚUserWarning)r   rC   rD   r¥   r0   s        r   rz   z,TestVectorialFunction.test_x_storage_overlap;  s   € ô !Ó"ˆÜ�X‰X�s˜C�jÓ!ˆä˜BŸF™F B¨	°2·7±7¸DÀ$Ü Ÿf™f˜W¤b§f¡fÐ-¨tó5ˆð ˜Ÿ™‰~Ðˆ~Ü�R—V‘V˜B“Z §¡¨£Ô,Ø˜Ÿ™‰~Ðˆ~àˆˆ1‰Ü�R—V‘V˜B“Z §¡¨£Ô,Ø˜Ÿ™‰~Ðˆ~àˆˆ1‰Ü�R—V‘V˜B“Z §¡¨£Ô,Ø˜Ÿ™‰~Ðˆ~ô ‹vˆÜ�X‰X�s˜C�jÓ!ˆÜ˜BŸF™F B¨	°4¸¸tÜ Ÿf™f˜W¤b§f¡fÐ-¨tó5ˆô �\‰\œ+Ó&ñ 	"ð ˜RŸT™T‘>Ð!�>Ü˜Ÿ™ › R§V¡V¨B£ZÔ0Ø˜RŸT™T‘>Ð!�>àˆBˆq‰EÜ˜Ÿ™ › R§V¡V¨B£ZÔ0Ø˜RŸT™T‘>Ð!�>àˆBˆq‰EÜ˜Ÿ™ › R§V¡V¨B£ZÔ0Ø˜RŸT™T‘>Ð!‘>÷	"÷ 	"ñ 	"ús   Æ$C	I7É7J c           
      óÞ  — t        «       }t        j                  ddg«      j                  t        j                  «      }t        |j                  ||j                  |j                  d d t        j                   t        j                  fd «      }|j                  |«      }|j                  t        j                  k(  sJ ‚|j                  |«      }|j                  t        j                  k(  sJ ‚y )Nr8   r9   )r�   r+   r,   rˆ   rƒ   r   r(   r—   r0   r@   r‚   )r   rC   rD   r¥   r‰   s        r   r‹   z%TestVectorialFunction.test_float_sizef  s©   € Ü Ó"ˆÜ�X‰X�s˜C�jÓ!×(Ñ(¬¯©Ó4ˆä˜BŸF™F B¨¯©°·±¸¸tÜ Ÿf™f˜W¤b§f¡fÐ-¨tó5ˆð �f‰f�R‹jˆØ�y‰yœBŸJ™JÒ&Ð&Ð&à�f‰f�R‹jˆØ�y‰yœBŸJ™JÒ&Ð&Ñ&r"   c           
      ó   — t        «       }t        j                  ddg«      }d„ }t        |j                  ||j
                  |j                  d d t        j                   t        j                  fd ¬«      }t        |j                  | ||j
                  «      |j                  d d t        j                   t        j                  fd¬«      }|j                  |dz   «      }|j                  |dz   «      }t        ||«       y )Nr8   r9   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó*   •—  ‰| «      }t        |«      S rs   r   )r'   Úf_xÚfuncs     €r   ÚinnerzUTestVectorialFunction.test_sparse_analytic_jac.<locals>.sparse_adapter.<locals>.innerw  s   ø€ Ù˜1“g�Ü  “~Ð%r"   r4   )rº   r»   s   ` r   Úsparse_adapterzFTestVectorialFunction.test_sparse_analytic_jac.<locals>.sparse_adapterv  s   ø€ ô&ð ˆLr"   ©Úsparse_jacobianFr$   )	r�   r+   r,   r   r(   r—   r0   r@   r   )r   rC   rD   r¼   Úvf1Úvf2Úres1Úres2s           r   Útest_sparse_analytic_jacz.TestVectorialFunction.test_sparse_analytic_jacs  sÇ   € Ü Ó"ˆÜ�X‰X�s˜C�jÓ!ˆò	ô ˜RŸV™V R¨¯©°·±¸$ÀÜ Ÿf™f˜W¤b§f¡fÐ-¸tôEˆô ˜RŸV™V R©¸¿¹Ó)?ÀÇÁÈ$ÐPTÜ Ÿf™f˜W¤b§f¡fÐ-¸uôFˆð �w‰w�r˜A‘v‹ˆØ�w‰w�r˜A‘v‹ˆÜ�T˜4Õ r"   c           
      ó  — t        «       }t        j                  ddg«      }t        |«      }t	        |j
                  |d|j                  d d t        j                   t        j                  fd ¬«      }t        t        j                  ||f«      «      }t	        |j
                  |d|j                  d |t        j                   t        j                  fd¬«      }|j                  |dz   «      }|j                  |dz   «      }t        ||«       y )Nr8   r9   r:   r½   Fr$   )r�   r+   r,   Úlenr   r(   r0   r@   r   Úonesr—   r   )	r   rC   rD   ÚNr¿   Úfinite_diff_jac_sparsityrÀ   rÁ   rÂ   s	            r   Útest_sparse_numerical_jacz/TestVectorialFunction.test_sparse_numerical_jac‡  sÔ   € Ü Ó"ˆÜ�X‰X�s˜C�jÓ!ˆÜ�‹Gˆô ˜RŸV™V R¨°B·G±G¸TÀ4Ü!Ÿv™v˜g¤r§v¡vÐ.ÀôFˆô $-¬R¯W©W°a¸°V«_Ó#=Ð Ü˜RŸV™V R¨°B·G±G¸TØ5¼¿¹¸ÄÇÁÐ7HØ-2ô4ˆð �w‰w�r˜A‘v‹ˆØ�w‰w�r˜A‘v‹ˆÜ�T˜4Õ r"   N)r1   r2   r3   r¢   r¦   rŒ   r�   rŽ   rW   rl   r±   rz   r‹   rÃ   rÉ   r4   r"   r   r›   r›   à  sU   „ ò_6òBð$ ‡[�[×Ñ˜3ÓñC:ó  ðC:òJG;òRò.)"òV'ò!ó(!r"   r›   c                  ó,  — t        j                  g d¢g d¢g«      } t        j                  d«      }t        | «      }t        j                  g d¢«      }t        j                  ddg«      }t        j                  ddg«      }t	        | |d «      }t        |j                   «       t	        | |d	«      }t        |j                  «       t	        | |d
«      }t        |j                   «       t	        ||d «      }	t        |	j                  «       t	        ||d	«      }
t        |
j                  «       t	        ||d
«      }t        |j                   «       t        |j                  |«      |«       t        |j                  |«      |«       t        |j                  |«      | «       t        |j                  |«      j                  «       |j                  «       «       t        |j                  ||«      j                  «       t        j                  d«      «       y )N©éÿÿÿÿr%   r   ©r   r*   r%   r;   )r$   rÌ   r   rÌ   r$   éýÿÿÿéüÿÿÿTF©r;   r;   )r+   r,   Úzerosr   r   r   r¾   r   r(   r—   Útoarrayr0   )ÚA_denserD   ÚA_sparser'   rh   ÚAxrx   ry   Úf3Úf4Úf5Úf6s               r   Útest_LinearVectorFunctionrÚ   š  s—  € Ü�h‰hÚÚðó €Gô 
�‰�!‹€BÜ˜Ó!€HÜ
�‰’Ó€AÜ
�‰�"�a�Ó€AÜ	�‰�2�r�(Ó	€Bä	˜g r¨4Ó	0€BÜ�×"Ñ"Ð"Ô#ä	˜g r¨4Ó	0€BÜˆB×ÑÔä	˜g r¨5Ó	1€BÜ�×"Ñ"Ð"Ô#ä	˜h¨¨DÓ	1€BÜˆB×ÑÔä	˜h¨¨DÓ	1€BÜˆB×ÑÔä	˜h¨¨EÓ	2€BÜ�×"Ñ"Ð"Ô#ä�r—v‘v˜a“y "Ô%Ü�r—v‘v˜a“y "Ô%Ü�r—v‘v˜a“y 'Ô*Ü�r—v‘v˜a“y×(Ñ(Ó*¨H×,<Ñ,<Ó,>Ô?Ü�r—w‘w˜q !“}×,Ñ,Ó.´·±¸Ó0@ÕAr"   c                  óp  — t        j                  g d¢g d¢g«      } t        j                  g d¢«      }t        | |d«      }t        ||j                  «       t        | j                  |«      |j                  «       t        j                  g d¢«      }t        | |j                  |«      «       t        ||j                  «       t        | j                  |«      |j                  «       t        | j                  |«      |j                  |«      «       t        | j                  |«      |j                  «       y )NrË   rÍ   )r$   r%   rÌ   F)rÌ   r;   r<   )	r+   r,   r   r   r'   rg   rA   r—   r(   )ÚArD   r(   rV   s       r   Ú%test_LinearVectorFunction_memoizationrÝ   ¾  sÉ   € Ü
�‰’*šiÐ(Ó)€AÜ	�‰’*Ó	€BÜ
˜q " eÓ
,€Cä�r˜3Ÿ5™5Ô!Ü�q—u‘u˜R“y #§%¡%Ô(ä	�‰’+Ó	€BÜ�q˜#Ÿ'™' "›+Ô&Ü�r˜3Ÿ5™5Ô!Ü�q—u‘u˜R“y #§%¡%Ô(Ü�q—u‘u˜R“y #§'¡'¨"£+Ô.Ü�q—u‘u˜R“y #§%¡%Õ(r"   c                  ó  — t        j                  d«      } t        | d «      }t        | d«      }t        | d«      }t        |j                  «       t        |j                   «       t        |j                  «       t        j
                  g d¢«      }t        j
                  g d¢«      }t        |j                  |«      |«       t        |j                  |«      |«       t        |j                  |«      j                  «       t        j                  d«      «       t        |j                  |«      t        j                  d«      «       t        |j                  ||«      j                  «       t        j                  d«      «       y )Nr;   FT)rÌ   r%   r$   )éþÿÿÿr;   r   rÐ   )r+   rÑ   r   r   r¾   r,   r   r(   r—   rÒ   r/   r0   )rD   rx   ry   rÖ   r'   rh   s         r   Útest_IdentityVectorFunctionrà   Î  s  € Ü	�‰�!‹€Bä	  DÓ	)€BÜ	  EÓ	*€BÜ	  DÓ	)€BäˆB×ÑÔÜ�×"Ñ"Ð"Ô#ÜˆB×ÑÔä
�‰’Ó€AÜ
�‰’Ó€Aä�r—v‘v˜a“y !Ô$Ü�r—v‘v˜a“y !Ô$ä�r—v‘v˜a“y×(Ñ(Ó*¬B¯F©F°1«IÔ6Ü�r—v‘v˜a“y¤"§&¡&¨£)Ô,ä�r—w‘w˜q !“}×,Ñ,Ó.´·±¸Ó0@ÕAr"   c                  ó�   ‡ ‡— t        «       Š t        j                  d«      Št        ˆ ˆfd„«      5  	 ddd«       y# 1 sw Y   yxY w)úRegression test for gh-20768.r;   c            
      ó    •— t        ‰ j                  ‰d‰ j                  ‰ j                  d t        j
                   t        j
                  f«      S )Nr4   )r   r(   r-   r0   r+   r@   ©rC   rD   s   €€r   rt   z5test_ScalarFunctionNoReferenceCycle.<locals>.<lambda>é  s6   ø€ ¤N°2·6±6¸2¸rÀ2Ç7Á7ØŸG™G T¬R¯V©V¨G´R·V±VÐ+<ó%>€ r"   N)r   r+   rÑ   r	   rä   s   @@r   Ú#test_ScalarFunctionNoReferenceCyclerå   å  s=   ù€ ä	Ó	€BÜ	�‰�!‹€BÜ	ô >ó 
?ñ à÷÷ ñ ús	   ±<¼Ac                  ón   ‡ ‡— t        «       Š ddgŠt        ˆ ˆfd„«      5  	 ddd«       y# 1 sw Y   yxY w)râ   r8   r9   c            
      ó¢   •— t        ‰ j                  ‰‰ j                  ‰ j                  d d t        j
                   t        j
                  fd «      S rs   )r   r(   r—   r0   r+   r@   rä   s   €€r   rt   z5test_VectorFunctionNoReferenceCycle.<locals>.<lambda>ò  s9   ø€ ¤N°2·6±6¸2¸r¿v¹vØŸG™G T¨4´2·6±6°'¼2¿6¹6Ð1BÀDó%J€ r"   N)r�   r	   rä   s   @@r   Ú#test_VectorFunctionNoReferenceCyclerè   î  s;   ù€ ä	Ó	€BØ
ˆsˆ€BÜ	ô Jó 
Kñ à÷÷ ñ ús    +«4c                  óÈ   ‡‡— t        j                  g d¢g d¢g«      } t        j                  d«      Št        | «      Št	        ˆˆfd„«      5  	 ddd«       y# 1 sw Y   yxY w)râ   rË   rÍ   r;   c                  ó   •— t        ‰ ‰d «      S rs   )r   )rÔ   rD   s   €€r   rt   z;test_LinearVectorFunctionNoReferenceCycle.<locals>.<lambda>ÿ  s   ø€ Ô$8¸À2ÀtÓ$L€ r"   N)r+   r,   rÑ   r   r	   )rÓ   rÔ   rD   s    @@r   Ú)test_LinearVectorFunctionNoReferenceCyclerë   ÷  sV   ù€ ä�h‰hÚÚðó €Gô 
�‰�!‹€BÜ˜Ó!€HÜ	ÔLÓ	Mñ Ø÷÷ ñ ús   ÁAÁA!)'rŒ   Únumpyr+   Únumpy.testingr   r   r   r   r   r   Úscipy._lib._gcutilsr	   Úscipy._lib._utilr
   Úscipy.sparser   Úscipy.sparse.linalgr   Ú(scipy.optimize._differentiable_functionsr   r   r   r   Úscipy.optimizer   r   r   Ú'scipy.optimize._hessian_update_strategyr   r   r6   r�   r›   rÚ   rÝ   rà   rå   rè   rë   r4   r"   r   ú<module>rõ      s�   ðÛ Û ÷)÷ )õ 3Ý 'Ý "Ý .÷Nó N÷ 8Ñ 7Ý 8÷ñ ô(`"˜ô `"÷F:ñ :ô.w!˜Hô w!òt!BòH)ò Bò.òó	r"   