§
    fŠtj%–  ã                   óh  — d dl Z 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$e j%         &                     ej'        ¦   «         dk    d¬¦  «        d„ ¦   «         Z(e j%         &                     ej'        ¦   «         dk    d¬¦  «        d„ ¦   «         Z)e j%         &                     ej'        ¦   «         dk    d¬¦  «        d„ ¦   «         Z*dS )é    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dS )ÚExScalarFunctionc                 ó0   — d| _         d| _        d| _        d S ©Nr   )ÚnfevÚngevÚnhev©Úselfs    úp/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/optimize/tests/test_differentiable_functions.pyÚ__init__zExScalarFunction.__init__   ó   € ØˆŒ	ØˆŒ	ØˆŒ	ˆ	ˆ	ó    c                 ón   — | 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   s:   € Øˆ	Œ	�Q‰ˆ	Œ	ÝŒx˜˜1˜Qœ4™ ™ 1 Q q¤T¡6Ð*Ñ+Ô+Ð+r"   c                 óP   — | 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      sP   € € € € € ðð ð ð
0ð 0ð 0ð,ð ,ð ,ðð ð ð ð r"   r   c                   óx   — e Zd Zd„ Zej                             d¦  «        d„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd	S )
ÚTestScalarFunctionc           
      ó¼  — 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}|                     |¦  «        }|                     |¦  «        }	|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |j	        z   |¦  «         |                     |¦  «        }
|                     |¦  «        }|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |j	        z   |¦  «         t          ||
¦  «         t          |	|¦  «         d
dg}|                     |¦  «        }	|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |j	        z   |¦  «         |                     |¦  «        }|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |j	        z   |¦  «         t          |	|¦  «         dd	g}|                     |¦  «        }|                     |¦  «        }	|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |j	        z   |¦  «         |                     |¦  «        }
|                     |¦  «        }|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |j	        z   |¦  «         t          ||
¦  «         t          |	|¦  «         dd	g}|                     |¦  «        }|                     |¦  «        }	|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |j	        z   |¦  «         |                     |¦  «        }
|                     |¦  «        }|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |j	        z   |¦  «         t          ||
¦  «         t          |	|¦  «         d S )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)   sk  € ÝÑÔˆØˆØˆà�3ˆZˆÝ ¤¨¨B°´Ø "¤¨µ´°½¼Ð/@ñBô Bˆà�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ;¨Ñ-Ô-Ð-Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ;¨Ñ-Ô-Ð-Ý ¤¨¨B°	Ø "¤¨µ´°½¼Ð/@ñBô Bˆà�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜6œ8 V¤XÑ.Ô.Ð.Ý! &¤(¨F¬HÑ5Ô5Ð5à�ˆIˆØ—:’:˜a‘=”=ˆØ—;’;˜q‘>”>ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø—:’:˜a‘=”=ˆØ—;’;˜q‘>”>ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý! (¨HÑ5Ô5Ð5Ý! (¨HÑ5Ô5Ð5à�#ˆJˆØ—;’;˜q‘>”>ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9à—;’;˜q‘>”>ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý! (¨HÑ5Ô5Ð5à�#ˆJˆØ—:’:˜a‘=”=ˆØ—;’;˜q‘>”>ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø—:’:˜a‘=”=ˆØ—;’;˜q‘>”>ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý! (¨HÑ5Ô5Ð5Ý! (¨HÑ5Ô5Ð5à�ˆHˆØ—:’:˜a‘=”=ˆØ—;’;˜q‘>”>ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø—:’:˜a‘=”=ˆØ—;’;˜q‘>”>ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý! (¨HÑ5Ô5Ð5Ý! (¨HÑ5Ô5Ð5Ð5Ð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          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         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          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         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          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         |                     |¦  «         |                     |¦  «         t          |j        |j        ¦  «         t          |j        |j        ¦  «         t          |j        |j        ¦  «         t          |j        |j        ¦  «         t          |j        |j        ¦  «         t          |j        |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
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�s˜C�jÑ!Ô!ˆÝÑÔˆÝÑ Ô ˆÝ˜‰]Œ]ð 6	7˜fÝ# B¤F¨B°°IØ$&¤G¨TµR´V°G½R¼VÐ3DØ,2ð4ñ 4ô 4ˆFõ +¨3¬7°B¸¸IØ+.¬8°T½R¼V¸GÅRÄVÐ;Lñ-ô -ˆMõ ˜FŸKšK¨™OœO¨R¯WªW°R©[¬[Ñ9Ô9Ð9Ý˜M×.Ò.¨rÑ2Ô2°B·G²G¸B±K´KÑ@Ô@Ð@Ý˜M×.Ò.¨rÑ2Ô2°B·G²G¸B±K´KÑ@Ô@Ð@Ý˜FŸKšK¨™OœO¨R¯WªW°R©[¬[Ñ9Ô9Ð9Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6å!Ñ#Ô#ˆBÝ"Ñ$Ô$ˆCÝ# B¤F¨B°°IØ$&¤G¨TµR´V°G½R¼VÐ3DØ,2ð4ñ 4ô 4ˆFõ +¨3¬7°B¸¸IØ+.¬8°T½R¼V¸GÅRÄVÐ;Lñ,ô ,ˆMõ ˜FŸKšK¨™OœO¨R¯WªW°R©[¬[Ñ9Ô9Ð9Ý˜M×.Ò.¨rÑ2Ô2°B·G²G¸B±K´KÑ@Ô@Ð@Ý˜M×.Ò.¨rÑ2Ô2°B·G²G¸B±K´KÑ@Ô@Ð@Ý˜FŸKšK¨™OœO¨R¯WªW°R©[¬[Ñ9Ô9Ð9Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6å!Ñ#Ô#ˆBÝ"Ñ$Ô$ˆCÝ”˜3 ˜*Ñ%Ô%ˆBå# B¤F¨B°°B´GØ$-¨tµr´v°g½r¼vÐ5FØ,2ð4ñ 4ô 4ˆFõ +¨3¬7°B¸¸C¼HØ+4°d½b¼f¸WÅbÄfÐ<Mñ-ô -ˆMõ ˜FŸKšK¨™OœO¨R¯WªW°R©[¬[Ñ9Ô9Ð9Ý˜M×.Ò.¨rÑ2Ô2°B·G²G¸B±K´KÑ@Ô@Ð@Ø×Ò˜rÑ"Ô"Ð"Ø�KŠK˜‰OŒOˆOÝ˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6ðm6	7ð 6	7ð 6	7ñ 6	7ô 6	7ð 6	7ð 6	7ð 6	7ð 6	7ð 6	7ð 6	7ð 6	7øøøð 6	7ð 6	7ð 6	7ð 6	7ð 6	7ð 6	7s   ÁU?W×W×Wc           
      óÄ  — t          ¦   «         }d„ }ddg}t          |j        |d|j        |j        d t
          j         t
          j        f¦  «        }|                     |¦  «        |                     |¦  «        f} ||                     |¦  «        |¦  «         |j        dk    sJ ‚d|d<   |                     |¦  «        |                     |¦  «        f} ||                     |¦  «        |¦  «         ddg}t          |j        |dd|j        d t
          j         t
          j        f¦  «        }|j        dk    sJ ‚|                     |¦  «        |                     |¦  «        f} ||                     |¦  «        |¦  «         |j        dk    sJ ‚d|d<   |                     |¦  «        |                     |¦  «        f} ||                     |¦  «        |¦  «         d S )Nc                 óv   — t          | d         |d         ¦  «         t          | d         |d         ¦  «         d S )Nr   r$   )r   )r'   Úys     r   Úfg_allclosez9TestScalarFunction.test_fun_and_grad.<locals>.fg_allcloseÆ   s8   € Ý˜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ô Bˆð �VŠV�B‰ZŒZ˜Ÿš ™œÐ$ˆØˆ�F×'Ò'¨Ñ+Ô+¨RÑ0Ô0Ð0ØŒ{˜aÒÐÐÐàˆˆ1‰Ø�VŠV�B‰ZŒZ˜Ÿš ™œÐ$ˆØˆ�F×'Ò'¨Ñ+Ô+¨RÑ0Ô0Ð0ð �3ˆZˆÝ˜BœF B¨¨IØ "¤¨µ´°½¼Ð/@ñBô BˆàŒw˜!Š|ˆ|ˆ|ˆ|Ø�VŠV�B‰ZŒZ˜Ÿš ™œÐ$ˆØˆ�B—O’O BÑ'Ô'¨Ñ,Ô,Ð,ØŒw˜!Š|ˆ|ˆ|ˆ|àˆˆ1‰Ø�VŠV�B‰ZŒ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 ]v}t          |j        |j        ¦  «         t!          |j        |j        ¦  «         t!          |j                             |¦  «        |j                             |¦  «        ¦  «         Œw|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}	|                     |	¦  «        }
|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         |                     |	¦  «        }t          t          |t          ¦  «        ¦  «         ddgdd	gd
dgfD ]8}t!          |
                     |¦  «        |                     |¦  «        ¦  «         Œ9|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         ddg}	|                     |	¦  «        }
|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         |                     |	¦  «        }t          t          |t          ¦  «        ¦  «         ddgdd	gd
dgfD ]8}t!          |
                     |¦  «        |                     |¦  «        ¦  «         Œ9|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         ddg}	|                     |	¦  «        }|                     |	¦  «        }
|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         |                     |	¦  «        }|                     |	¦  «        }t          t          |t          ¦  «        ¦  «         ddgdd	gd
dgfD ]8}t!          |
                     |¦  «        |                     |¦  «        ¦  «         Œ9|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         ddg}	|                     |	¦  «        }|                     |	¦  «        }
|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         |                     |	¦  «        }|                     |	¦  «        }t          t          |t          ¦  «        ¦  «         ddgdd	gd
dgfD ]8}t!          |
                     |¦  «        |                     |¦  «        ¦  «         Œ9|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         d S )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ô Bˆà�‰	ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ;¨Ñ-Ô-Ð-Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ;¨Ñ-Ô-Ð-Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ;¨Ñ-Ô-Ð-Ý ¤¨¨B°´Ø )¨4µ2´6°'½2¼6Ð1BñDô Dˆå•
˜6œ8¥^Ñ4Ô4Ñ5Ô5Ð5Ø˜�*˜s C˜j¨3°¨*Ð5ð 	Hð 	HˆAÝ˜vœx¨¬Ñ2Ô2Ð2Ý% f¤h°´Ñ9Ô9Ð9Ý% f¤h§l¢l°1¡o¤o°v´x·|²|ÀA±´ÑGÔGÐGÐGØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9à�#ˆJˆØ—;’;˜q‘>”>ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø—;’;˜q‘>”>ˆÝ•
˜8¥^Ñ4Ô4Ñ5Ô5Ð5Ø˜�*˜s C˜j¨3°¨*Ð5ð 	Hð 	HˆAÝ% h§l¢l°1¡o¤o°x·|²|ÀA±´ÑGÔGÐGÐGØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9à�#ˆJˆØ—;’;˜q‘>”>ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø—;’;˜q‘>”>ˆÝ•
˜8¥^Ñ4Ô4Ñ5Ô5Ð5Ø˜�*˜s C˜j¨3°¨*Ð5ð 	Hð 	HˆAÝ% h§l¢l°1¡o¤o°x·|²|ÀA±´ÑGÔGÐGÐGØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9à�#ˆJˆØ�KŠK˜‰NŒNˆØ—;’;˜q‘>”>ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø�KŠK˜‰NŒNˆØ—;’;˜q‘>”>ˆÝ•
˜8¥^Ñ4Ô4Ñ5Ô5Ð5Ø˜�*˜s C˜j¨3°¨*Ð5ð 	Hð 	HˆAÝ% h§l¢l°1¡o¤o°x·|²|ÀA±´ÑGÔGÐGÐGØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9à�#ˆJˆØ�KŠK˜‰NŒNˆØ—;’;˜q‘>”>ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø�KŠK˜‰NŒNˆØ—;’;˜q‘>”>ˆÝ•
˜8¥^Ñ4Ô4Ñ5Ô5Ð5Ø˜�*˜s C˜j¨3°¨*Ð5ð 	Hð 	HˆAÝ% h§l¢l°1¡o¤o°x·|²|ÀA±´ÑGÔGÐGÐGØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ð9Ð9r"   c           
      óâ  — d„ }t          j        g d¢¦  «        }t          ||ddd„ d t           j         t           j        f¦  «        }||j        usJ ‚t          |                     |¦  «        d¦  «         ||j        usJ ‚d|d<   |                     |¦  «        }t          |d	¦  «         d
|d<   |                     |¦  «        }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          |                     |¦  «        d¦  «         ||j        usJ ‚d|d<   |                     |¦  «        }t          |d	¦  «         d
|d<   |                     |¦  «        }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          |                     |¦  «        d¦  «         t          |j        t          j        g d¢¦  «        ¦  «         ||j        usJ ‚d S )Nc                 óT   — t          j        t          j        | ¦  «        dz  ¦  «        S )Nr%   )r+   ÚsumÚasarray©r'   s    r   rA   z4TestScalarFunction.test_x_storage_overlap.<locals>.fe  s   € Ý”6�"œ* Q™-œ-¨1Ñ,Ñ-Ô-Ð-r"   )r8   r>   rQ   r4   rP   c                 ó   — | S ©Nr4   rq   s    r   ú<lambda>z;TestScalarFunction.test_x_storage_overlap.<locals>.<lambda>i  s   € ¸1€ r"   g      ,@r9   r   g      *@r$   c                 ó4   — | | z  } t          j        | ¦  «        S rs   )r+   ro   rq   s    r   Úffz5TestScalarFunction.test_x_storage_overlap.<locals>.ff‹  s   € Ø�‰FˆAÝ”6˜!‘9”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`  si  € ð
	.ð 	.ð 	.õ ŒH�\�\�\Ñ"Ô"ˆÝ˜A˜q " i°°¸dÅbÄfÀWÍbÌfÐDUÑVÔVˆà˜œˆ}ˆ}ˆ}ˆ}Ý�R—V’V˜A‘Y”Y Ñ%Ô%Ð%Ø˜œˆ}ˆ}ˆ}ˆ}àˆˆ!‰Ø�VŠV�A‰YŒYˆÝ�R˜ÑÔÐàˆˆ!‰Ø�VŠV�A‰YŒYˆÝ�R˜ÑÔÐØ˜œˆ}ˆ}ˆ}ˆ}õ ‰vŒvˆÝŒH�\�\�\Ñ"Ô"ˆÝ˜A˜q " i°°t½r¼v¸gÅrÄvÐ=NÑOÔOˆà˜œˆ}ˆ}ˆ}ˆ}Ý�R—V’V˜A‘Y”Y Ñ%Ô%Ð%Ø˜œˆ}ˆ}ˆ}ˆ}àˆˆ!‰Ø�VŠV�A‰YŒYˆÝ�R˜ÑÔÐàˆˆ!‰Ø�VŠV�A‰YŒYˆÝ�R˜ÑÔÐØ˜œˆ}ˆ}ˆ}ˆ}ð	ð 	ð 	õ ŒH�\�\�\Ñ"Ô"ˆÝØ��2�y + +¨tµr´v°g½r¼vÐ5Fñ
ô 
ˆð ˜œˆ}ˆ}ˆ}ˆ}Ý�R—V’V˜A‘Y”Y Ñ%Ô%Ð%Ý�R”T�2œ8 L L LÑ1Ô1Ñ2Ô2Ð2Ø˜œˆ}ˆ}ˆ}ˆ}ˆ}ˆ}r"   c           
      óþ  — t          j        g d¢¦  «        }t          t          |dt          t
          d d ¦  «        }|                     g d¢¦  «         |                     |¦  «         |                     g d¢¦  «         |                     g d¢¦  «         t          |j	        d¦  «         t          |j
        g d¢¦  «         t          t          |ddt
          d t           j         t           j        f¦  «        }|                     g d¢¦  «         |                     |¦  «         |                     g d¢¦  «         |                     g d¢¦  «         t          |j	        d¦  «         t          |j
        g d¢¦  «         d S )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˜  sT  € åŒX�i�i�iÑ Ô ˆÝ�E 2 r­9µjØ  $ñ(ô (ˆà
�ŠˆyˆyˆyÑÔÐØ
�Šˆr‰
Œ
ˆ
Ø
�Šˆ~ˆ~ˆ~ÑÔÐØ
�Š���ÑÔÐÝ�R”\ 3Ñ'Ô'Ð'Ý�R”\ ? ? ?Ñ3Ô3Ð3å�E 2 r¨9µjØ ¥B¤F 7­B¬FÐ"3ñ5ô 5ˆà
�ŠˆyˆyˆyÑÔÐØ
�Šˆr‰
Œ
ˆ
Ø
�Šˆ~ˆ~ˆ~ÑÔÐØ
�Š���ÑÔÐÝ�R”\ 3Ñ'Ô'Ð'Ý�R”\ ? ? ?Ñ3Ô3Ð3Ð3Ð3r"   c           
      ó,  — t          j        g d¢¦  «                             t           j        ¦  «        }d„ }t	          ||ddt
          d t           j         t           j        f¦  «        }|                     |¦  «        }|j        t           j        k    sJ ‚d S )Nr|   c                 óN   — | j         t          j        k    sJ ‚t          | ¦  «        S rs   )Údtyper+   Úfloat32r   rq   s    r   Úrosen_z2TestScalarFunction.test_float_size.<locals>.rosen_²  s"   € Ø”7�bœjÒ(Ð(Ð(Ð(Ý˜‘8”8ˆOr"   r4   r:   )	r+   r,   Úastyperƒ   r   r   r@   r(   r‚   )r   rD   r„   r^   Úress        r   Útest_float_sizez"TestScalarFunction.test_float_size­  s‰   € ÝŒX�i�i�iÑ Ô ×'Ò'­¬
Ñ3Ô3ˆð	ð 	ð 	õ ˜F B¨¨IµzØ ¥B¤F 7­B¬FÐ"3ñ5ô 5ˆà�fŠf�R‰jŒjˆØŒy�BœJÒ&Ð&Ð&Ð&Ð&Ð&r"   N)r1   r2   r3   rK   ÚpytestÚmarkÚ	fail_slowrW   r_   rl   rz   r   r‡   r4   r"   r   r6   r6   '   s¥   € € € € € ð[6ð [6ð [6ðz „[×Ò˜3ÑÔð:7ð :7ñ  Ôð:7ðx-ð -ð -ðBz:ð z:ð z:ðx6ð 6ð 6ðp4ð 4ð 4ð*'ð 'ð 'ð 'ð 'r"   r6   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚExVectorialFunctionc                 ó0   — d| _         d| _        d| _        d S 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˜˜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ðMñ Mô 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È  ss   € Øˆ	Œ	�Q‰ˆ	Œ	ÝŒx˜!˜A˜aœD™& ™( A a¨¤d¡FÐ+Ø˜Q˜qœT 1™W™* Q™,¨¨!¨A¬$©Ð/ð1Ø89¼ðAñ Aô 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Í  sf   € Øˆ	Œ	�Q‰ˆ	Œ	Ø�Œt�A‰v•b”f˜Q‘i”iÑ ! A¤$¥r¤x°"°Q°q´T±'¸1°Ø23°Q°ð19ñ (:ô (:ñ #:ñ :ð 	:r"   N)r1   r2   r3   r    r(   r”   r0   r4   r"   r   rŒ   rŒ   ¼  sV   € € € € € ðð ð ð
Mð Mð Mð
Að Að Að
:ð :ð :ð :ð :r"   rŒ   c                   ó„   — e Zd Zd„ Zd„ Zej                             d¦  «        d„ ¦   «         Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zd
„ ZdS )ÚTestVectorialFunctionc           
      óÖ  — 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}|                     |¦  «        }|                     |¦  «        }	|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         |                     |¦  «        }
|                     |¦  «        }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          ||
¦  «         t          |	|d	¬
¦  «         ddg}|                     |¦  «        }	|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         |                     |¦  «        }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |	|¦  «         ddg}|                     |¦  «        }|                     |¦  «        }	|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         |                     |¦  «        }
|                     |¦  «        }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          ||
¦  «         t          |	|¦  «         ddg}|                     |¦  «        }|                     |¦  «        }	|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         |                     |¦  «        }
|                     |¦  «        }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          ||
¦  «         t          |	|¦  «         d S )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°B´G¸TÀ4Ý"$¤& ­"¬&Ð 1°4ñ9ô 9ˆà�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ;¨Ñ-Ô-Ð-Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ;¨Ñ-Ô-Ð-õ   ¤¨¨I°r´wÑ?Ô?ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜6œ8 V¤XÑ.Ô.Ð.Ý! &¤(¨F¬HÑ5Ô5Ð5à�ˆIˆØ—:’:˜a‘=”=ˆØ—:’:˜a‘=”=ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø—:’:˜a‘=”=ˆØ—:’:˜a‘=”=ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý! (¨HÑ5Ô5Ð5Ý! (¨H¸aÐ@Ñ@Ô@Ð@à�#ˆJˆØ—:’:˜a‘=”=ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø—:’:˜a‘=”=ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý! (¨HÑ5Ô5Ð5à�#ˆJˆØ—:’:˜a‘=”=ˆØ—:’:˜a‘=”=ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø—:’:˜a‘=”=ˆØ—:’:˜a‘=”=ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý! (¨HÑ5Ô5Ð5Ý! (¨HÑ5Ô5Ð5à�ˆHˆØ—:’:˜a‘=”=ˆØ—:’:˜a‘=”=ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø—:’:˜a‘=”=ˆØ—:’:˜a‘=”=ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý! (¨HÑ5Ô5Ð5Ý! (¨HÑ5Ô5Ð5Ð5Ð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        dk    sJ ‚|j	        dk    sJ ‚|j        dk    sJ ‚|j	        dk    sJ ‚d S )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_setup6  sâ   € õ ŒX�s˜C�jÑ!Ô!ˆÝ Ñ"Ô"ˆÝ˜BœF B¨¬°´Ñ8Ô8ˆØŒ|ÐÐˆ|ØŒw˜!Š|ˆ|ˆ|ˆ|ØŒw˜!Š|ˆ|ˆ|ˆ|ØŒw˜!Š|ˆ|ˆ|ˆ|ØŒw˜!Š|ˆ|ˆ|ˆ|Ø
�Šˆr‰
Œ
ˆ
Ø
�Šˆr‰
Œ
ˆ
ØŒ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          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          |                     ||¦  «        |                     ||¦  «        ¦  «         t          |                     ||¦  «        |                     ||¦  «        ¦  «         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          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          |                     ||¦  «        |                     ||¦  «        ¦  «         t          |                     ||¦  «        |                     ||¦  «        ¦  «         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          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         |                     ||¦  «        }|                     ||¦  «        }	|                     ||¦  «        }
ddg}t          |
                     |¦  «        |                     |¦  «        ¦  «         t          |	                     |¦  «        |                     |¦  «        ¦  «         t          |j        |j        ¦  «         t          |j        |j        ¦  «         t          |j        |j        ¦  «         t          |j        |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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_workersH  s‡  € åŒX�s˜C�jÑ!Ô!ˆÝ Ñ"Ô"ˆÝ!Ñ#Ô#ˆÝŒH�c˜3�ZÑ Ô ˆå˜‰]Œ]ð =	:˜fÝ# B¤F¨B°	Ø$&¤G¨T°4½2¼6¸'Å2Ä6Ð9JØ$)°6ð;ñ ;ô ;ˆFõ +¨3¬7°B¸	Ø+.¬8°T¸4Å2Ä6À'Í2Ì6ÐARØ+0ñ2ô 2ˆMõ ˜FŸJšJ r™NœN¨B¯FªF°2©J¬JÑ7Ô7Ð7Ý˜M×-Ò-¨bÑ1Ô1°2·6²6¸"±:´:Ñ>Ô>Ð>Ý˜M×.Ò.¨r°1Ñ5Ô5°r·w²w¸rÀ1±~´~ÑFÔFÐFÝ˜FŸKšK¨¨AÑ.Ô.°·²¸¸A±´Ñ?Ô?Ð?Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6à*+Ð+ˆBŒGÐ+�b”g ¤Ø-.Ð.ˆCŒHÐ.�s”x #¤(Ý# B¤F¨B°	Ø$&¤G¨T°4½2¼6¸'Å2Ä6Ð9JØ$)°6ð;ñ ;ô ;ˆFõ +¨3¬7°B¸	Ø+.¬8°T¸4Å2Ä6À'Í2Ì6ÐARØ+0ñ2ô 2ˆMõ ˜FŸJšJ r™NœN¨B¯FªF°2©J¬JÑ7Ô7Ð7Ý˜M×-Ò-¨bÑ1Ô1°2·6²6¸"±:´:Ñ>Ô>Ð>Ý˜M×.Ò.¨r°1Ñ5Ô5°r·w²w¸rÀ1±~´~ÑFÔFÐFÝ˜FŸKšK¨¨AÑ.Ô.°·²¸¸A±´Ñ?Ô?Ð?å˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6ð
 +,Ð+ˆBŒGÐ+�b”g ¤Ø-.Ð.ˆCŒHÐ.�s”x #¤(Ý# B¤F¨B°´Ø$-¨t°T½R¼V¸GÅRÄVÐ;LØ$)°6ð;ñ ;ô ;ˆFõ +¨3¬7°B¸¼Ø+4°d¸DÅBÄFÀ7ÍBÌFÐBSØ+0ñ2ô 2ˆMõ ˜FŸJšJ r™NœN¨B¯FªF°2©J¬JÑ7Ô7Ð7Ý˜M×-Ò-¨bÑ1Ô1°2·6²6¸"±:´:Ñ>Ô>Ð>à—x’x  A‘”ˆHØ+×0Ò0°°QÑ7Ô7ˆOØ—{’{ 2 qÑ)Ô)ˆHØ�C�ˆAÝ˜HŸLšL¨™OœO¨X¯\ª\¸!©_¬_Ñ=Ô=Ð=Ý˜O×/Ò/°Ñ2Ô2°H·L²LÀ±O´OÑDÔDÐDå˜œ mÔ&8Ñ9Ô9Ð9Ý˜Ô+¨S¬XÑ6Ô6Ð6Ý˜œ mÔ&8Ñ9Ô9Ð9Ý˜œ mÔ&8Ñ9Ô9Ð9ð{=	:ð =	:ð =	:ñ =	:ô =	:ð =	:ð =	:ð =	:ð =	:ð =	:ð =	:ð =	:øøøð =	:ð =	:ð =	:ð =	:ð =	:ð =	:s   ÁW'YÙYÙ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 ]v}	t          |j        |j        ¦  «         t!          |j        |j        ¦  «         t!          |j                             |	¦  «        |j                             |	¦  «        ¦  «         Œw|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}
|                     |
|¦  «        }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         |                     |
|¦  «        }t          t          |t          ¦  «        ¦  «         ddgddgd	dgfD ]:}	t!          |                     |	¦  «        |                     |	¦  «        d¬¦  «         Œ;|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}|                     |
|¦  «        }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         |                     |
|¦  «        }t          t          |t          ¦  «        ¦  «         ddgddgd	dgfD ]8}t!          |                     |¦  «        |                     |¦  «        ¦  «         Œ9|d
z  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         ddg}
|                     |
¦  «        }|                     |
|¦  «        }|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         |                     |
¦  «        }|                     |
|¦  «        }t          t          |t          ¦  «        ¦  «         ddgddgd	dgfD ]:}t!          |                     |¦  «        |                     |¦  «        d
¬¦  «         Œ;|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}|                     |
¦  «        }|                     |
|¦  «        }|dz  }|dz  }t          |j        |¦  «         t          |j        |j        z   |¦  «         t          |j	        |¦  «         t          |j	        |j	        z   |¦  «         t          |j
        |¦  «         t          |j
        |j
        z   |¦  «         |                     |
¦  «        }|                     |
|¦  «        }t          t          |t          ¦  «        ¦  «         ddgddgd	dgfD ]:}t!          |                     |¦  «        |                     |¦  «        d
¬¦  «         Œ;|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	        }|                     |
|d ¬¦  «        }t          |t          ¦  «        sJ ‚|j        j	        |dz   k    sJ ‚d S )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Ž  sÏ	  € Ý Ñ"Ô"ˆØˆØˆØˆà�3ˆZˆØ�3ˆZˆÝ ¤¨¨B¬F°B´G¸TÀ4Ý"$¤& ­"¬&Ð 1°4ñ9ô 9ˆà�‰	ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ;¨Ñ-Ô-Ð-Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ;¨Ñ-Ô-Ð-Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ;¨Ñ-Ô-Ð-Ý ¤¨¨B¬F°I¸tÀTÝ"$¤& ­"¬&Ð 1°4ñ9ô 9ˆå•
˜6œ8¥^Ñ4Ô4Ñ5Ô5Ð5Ø˜�*˜s C˜j¨3°¨*Ð5ð 	Hð 	HˆAÝ˜vœx¨¬Ñ2Ô2Ð2Ý% f¤h°´Ñ9Ô9Ð9Ý% f¤h§l¢l°1¡o¤o°v´x·|²|ÀA±´ÑGÔGÐGÐGØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9à�#ˆJˆØ—;’;˜q "Ñ%Ô%ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø—;’;˜q "Ñ%Ô%ˆÝ•
˜8¥^Ñ4Ô4Ñ5Ô5Ð5Ø˜�*˜s C˜j¨3°¨*Ð5ð 	1ð 	1ˆAÝ% h§l¢l°1¡o¤o°x·|²|ÀA±´Ø./ð1ñ 1ô 1ð 1ð 1à�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9à�#ˆJˆØ�#ˆJˆØ—;’;˜q !Ñ$Ô$ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø—;’;˜q !Ñ$Ô$ˆÝ•
˜8¥^Ñ4Ô4Ñ5Ô5Ð5Ø˜�*˜s C˜j¨3°¨*Ð5ð 	Hð 	HˆAÝ% h§l¢l°1¡o¤o°x·|²|ÀA±´ÑGÔGÐGÐGØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9à�#ˆJˆØ�JŠJ�q‰MŒMˆØ—;’;˜q "Ñ%Ô%ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø�JŠJ�q‰MŒMˆØ—;’;˜q "Ñ%Ô%ˆÝ•
˜8¥^Ñ4Ô4Ñ5Ô5Ð5Ø˜�*˜s C˜j¨3°¨*Ð5ð 	Sð 	SˆAÝ% h§l¢l°1¡o¤o°x·|²|ÀA±´ÐPQÐRÑRÔRÐRÐRØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9à�#ˆJˆØ�#ˆJˆØ�JŠJ�q‰MŒMˆØ—;’;˜q !Ñ$Ô$ˆØ�‰	ˆØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ø�JŠJ�q‰MŒMˆØ—;’;˜q !Ñ$Ô$ˆÝ•
˜8¥^Ñ4Ô4Ñ5Ô5Ð5Ø˜�*˜s C˜j¨3°¨*Ð5ð 	Sð 	SˆAÝ% h§l¢l°1¡o¤o°x·|²|ÀA±´ÐPQÐRÑRÔRÐRÐRØ�‰	ˆÝ˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9Ý˜2œ7 DÑ)Ô)Ð)Ý˜6œ; v¤{Ñ2°DÑ9Ô9Ð9õ ŒH�c˜3�ZÑ Ô ˆÝŒH�c˜3�ZÑ Ô ˆØÔ)Ô.ˆØ×Ò  1¨ÐÑ.Ô.ˆÝ˜!�^Ñ,Ô,Ð,Ð,Ð,àÔ"Ô'¨;¸©?Ò:Ð:Ð:Ð:Ð:Ð:r"   c           
      ó4  — t          ¦   «         }t          j        ddg¦  «        }t          |j        |d|j        d d t          j         t          j        fd ¦  «        }|                     t          j        ddg¦  «        ¦  «        }|                     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 ¦  «        }|                     t          j        ddg¦  «        ¦  «        }|                     ddg¦  «        }|j        |usJ ‚|j	        |usJ ‚t          ||j        ¦  «         t          ||j	        ¦  «         d S )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  sr  € å Ñ"Ô"ˆÝŒX�s˜C�jÑ!Ô!ˆå˜BœF B¨	°2´7¸DÀ$Ý œf˜W¥b¤fÐ-¨tñ5ô 5ˆà�FŠF•2”8˜S #˜JÑ'Ô'Ñ(Ô(ˆØ�FŠF�C˜�:ÑÔˆØŒt˜1ˆ}ˆ}ˆ}ˆ}ØŒt˜1ˆ}ˆ}ˆ}ˆ}Ý�Q˜œÑÔÐÝ�Q˜œÑÔÐå˜BœF B¨¬°´¸¸tÝ œf˜W¥b¤fÐ-¨tñ5ô 5ˆà�FŠF•2”8˜S #˜JÑ'Ô'Ñ(Ô(ˆØ�FŠF�C˜�:ÑÔˆØŒt˜1ˆ}ˆ}ˆ}ˆ}ØŒ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        usJ ‚d|d<   t          |                     |¦  «        |                     |¦  «        ¦  «         ||j        usJ ‚d|d<   t          |                     |¦  «        |                     |¦  «        ¦  «         ||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        usJ ‚d|d<   t          |                     |¦  «        |                     |¦  «        ¦  «         ||j        usJ ‚d|d<   t          |                     |¦  «        |                     |¦  «        ¦  «         ||j        usJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )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�s˜C�jÑ!Ô!ˆå˜BœF B¨	°2´7¸DÀ$Ý œf˜W¥b¤fÐ-¨tñ5ô 5ˆð ˜œˆ~ˆ~ˆ~ˆ~Ý�R—V’V˜B‘Z”Z §¢¨¡¤Ñ,Ô,Ð,Ø˜œˆ~ˆ~ˆ~ˆ~àˆˆ1‰Ý�R—V’V˜B‘Z”Z §¢¨¡¤Ñ,Ô,Ð,Ø˜œˆ~ˆ~ˆ~ˆ~àˆˆ1‰Ý�R—V’V˜B‘Z”Z §¢¨¡¤Ñ,Ô,Ð,Ø˜œˆ~ˆ~ˆ~ˆ~õ ‰vŒvˆÝŒX�s˜C�jÑ!Ô!ˆÝ˜BœF B¨	°4¸¸tÝ œf˜W¥b¤fÐ-¨tñ5ô 5ˆõ Œ\�+Ñ&Ô&ð 	"ð 	"ð ˜RœT�>�>�>�>Ý˜Ÿš ™œ R§V¢V¨B¡Z¤ZÑ0Ô0Ð0Ø˜RœT�>�>�>�>àˆBˆq‰EÝ˜Ÿš ™œ R§V¢V¨B¡Z¤ZÑ0Ô0Ð0Ø˜RœT�>�>�>�>àˆBˆq‰EÝ˜Ÿš ™œ R§V¢V¨B¡Z¤ZÑ0Ô0Ð0Ø˜RœT�>�>�>�>�>ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"s   Æ#CJ
Ê
JÊJc           
      ó°  — t          ¦   «         }t          j        ddg¦  «                             t          j        ¦  «        }t          |j        ||j        |j        d d t          j	         t          j	        fd ¦  «        }|                     |¦  «        }|j
        t          j        k    sJ ‚|                     |¦  «        }|j
        t          j        k    sJ ‚d S )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_sizeY  s±   € Ý Ñ"Ô"ˆÝŒX�s˜C�jÑ!Ô!×(Ò(­¬Ñ4Ô4ˆå˜BœF B¨¬°´¸¸tÝ œf˜W¥b¤fÐ-¨tñ5ô 5ˆð �fŠf�R‰jŒjˆØŒy�BœJÒ&Ð&Ð&Ð&à�fŠf�R‰jŒjˆØŒy�Bœ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¬¦  «        }|                     |dz   ¦  «        }|                     |dz   ¦  «        }t          ||¦  «         d S )Nr8   r9   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó8   •—  ‰| ¦  «        }t          |¦  «        S rs   r   )r'   Úf_xÚfuncs     €r   ÚinnerzUTestVectorialFunction.test_sparse_analytic_jac.<locals>.sparse_adapter.<locals>.innerj  s   ø€ Ø�d˜1‘g”g�Ý  ‘~”~Ð%r"   r4   )r·   r¸   s   ` r   Úsparse_adapterzFTestVectorialFunction.test_sparse_analytic_jac.<locals>.sparse_adapteri  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_jacf  sî   € Ý Ñ"Ô"ˆÝŒX�s˜C�jÑ!Ô!ˆð	ð 	ð 	õ ˜RœV R¨¬°´¸$ÀÝ œf˜W¥b¤fÐ-¸tðEñ Eô Eˆõ ˜RœV R¨¨¸¼Ñ)?Ô)?ÀÄÈ$ÐPTÝ œf˜W¥b¤fÐ-¸uðFñ Fô 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¬¦  «        }| 
                    |dz   ¦  «        }| 
                    |dz   ¦  «        }t          ||¦  «         d S )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_jacz  só   € Ý Ñ"Ô"ˆÝŒX�s˜C�jÑ!Ô!ˆÝ�‰GŒGˆõ ˜RœV R¨°B´G¸TÀ4Ý!œv˜g¥r¤vÐ.ÀðFñ Fô Fˆõ $-­R¬W°a¸°V©_¬_Ñ#=Ô#=Ð Ý˜RœV R¨°B´G¸TØ5½¼¸ÅÄÐ7HØ-2ð4ñ 4ô 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˜   Ó  sÅ   € € € € € ð_6ð _6ð _6ðBð ð ð$ „[×Ò˜3ÑÔðC:ð C:ñ  ÔðC:ðJG;ð G;ð 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          |                     |¦  «        |¦  «         t          |                     |¦  «        |¦  «         t          | 	                    |¦  «        | ¦  «         t          | 	                    |¦  «         
                    ¦   «         | 
                    ¦   «         ¦  «         t          |                     ||¦  «         
                    ¦   «         t          j        d¦  «        ¦  «         d S )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Øˆ
ˆ
Øˆ	ˆ	ðñ ô €Gõ 
Œ�!‰Œ€BÝ˜Ñ!Ô!€HÝ
Œ���ÑÔ€AÝ
Œ�"�a�ÑÔ€AÝ	Œ�2�r�(Ñ	Ô	€Bå	˜g r¨4Ñ	0Ô	0€BÝ�Ô"Ð"Ñ#Ô#Ð#å	˜g r¨4Ñ	0Ô	0€BÝˆBÔÑÔÐå	˜g r¨5Ñ	1Ô	1€BÝ�Ô"Ð"Ñ#Ô#Ð#å	˜h¨¨DÑ	1Ô	1€BÝˆBÔÑÔÐå	˜h¨¨DÑ	1Ô	1€BÝˆBÔÑÔÐå	˜h¨¨EÑ	2Ô	2€BÝ�Ô"Ð"Ñ#Ô#Ð#å�r—v’v˜a‘y”y "Ñ%Ô%Ð%Ý�r—v’v˜a‘y”y "Ñ%Ô%Ð%Ý�r—v’v˜a‘y”y 'Ñ*Ô*Ð*Ý�r—v’v˜a‘y”y×(Ò(Ñ*Ô*¨H×,<Ò,<Ñ,>Ô,>Ñ?Ô?Ð?Ý�r—w’w˜q !‘}”}×,Ò,Ñ.Ô.µ´¸Ñ0@Ô0@ÑAÔAÐAÐAÐAr"   c                  óª  — t          j        g d¢g d¢g¦  «        } t          j        g d¢¦  «        }t          | |d¦  «        }t          ||j        ¦  «         t          |                      |¦  «        |j        ¦  «         t          j        g d¢¦  «        }t          | |                     |¦  «        ¦  «         t          ||j        ¦  «         t          |                      |¦  «        |j        ¦  «         t          |                      |¦  «        |                     |¦  «        ¦  «         t          |                      |¦  «        |j        ¦  «         d S )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˜i˜iÐ(Ñ)Ô)€AÝ	Œ�*�*�*Ñ	Ô	€BÝ
˜q " eÑ
,Ô
,€Cå�r˜3œ5Ñ!Ô!Ð!Ý�q—u’u˜R‘y”y #¤%Ñ(Ô(Ð(å	Œ�+�+�+Ñ	Ô	€BÝ�q˜#Ÿ'š' "™+œ+Ñ&Ô&Ð&Ý�r˜3œ5Ñ!Ô!Ð!Ý�q—u’u˜R‘y”y #¤%Ñ(Ô(Ð(Ý�q—u’u˜R‘y”y #§'¢'¨"¡+¤+Ñ.Ô.Ð.Ý�q—u’u˜R‘y”y #¤%Ñ(Ô(Ð(Ð(Ð(r"   c                  ót  — t          j        d¦  «        } t          | d ¦  «        }t          | d¦  «        }t          | d¦  «        }t          |j        ¦  «         t          |j         ¦  «         t          |j        ¦  «         t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          |                     |¦  «        |¦  «         t          |                     |¦  «        |¦  «         t          |                     |¦  «         	                    ¦   «         t          j
        d¦  «        ¦  «         t          |                     |¦  «        t          j
        d¦  «        ¦  «         t          |                     ||¦  «         	                    ¦   «         t          j        d¦  «        ¦  «         d S )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Ý   Á  sT  € Ý	Œ�!‰Œ€Bå	  DÑ	)Ô	)€BÝ	  EÑ	*Ô	*€BÝ	  DÑ	)Ô	)€BåˆBÔÑÔÐÝ�Ô"Ð"Ñ#Ô#Ð#ÝˆBÔÑÔÐå
Œ���ÑÔ€AÝ
Œ���ÑÔ€Aå�r—v’v˜a‘y”y !Ñ$Ô$Ð$Ý�r—v’v˜a‘y”y !Ñ$Ô$Ð$å�r—v’v˜a‘y”y×(Ò(Ñ*Ô*­B¬F°1©I¬IÑ6Ô6Ð6Ý�r—v’v˜a‘y”y¥"¤&¨¡)¤)Ñ,Ô,Ð,å�r—w’w˜q !‘}”}×,Ò,Ñ.Ô.µ´¸Ñ0@Ô0@ÑAÔAÐAÐAÐAr"   ÚPyPyz'assert_deallocate not available on PyPy)Úreasonc                  ó¨   ‡ ‡— t          ¦   «         Š t          j        d¦  «        Št          ˆ ˆfd„¦  «        5  	 ddd¦  «         dS # 1 swxY w Y   dS )úRegression test for gh-20768.r;   c            
      óz   •— 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>à  s1   ø€ ¥N°2´6¸2¸rÀ2Ä7ØœG T­R¬V¨GµR´VÐ+<ñ%>ô %>€ r"   N)r   r+   rÎ   r	   rã   s   @@r   Ú#test_ScalarFunctionNoReferenceCyclerä   Ø  s®   øø€ õ 
Ñ	Ô	€BÝ	Œ�!‰Œ€BÝ	ð >ð >ð >ð >ð >ñ 
?ô 
?ð ð àðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¸AÁAÁAc                  óˆ   ‡ ‡— t          ¦   «         Š ddgŠt          ˆ ˆfd„¦  «        5  	 ddd¦  «         dS # 1 swxY w Y   dS )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>í  s5   ø€ ¥N°2´6¸2¸r¼vØœG T¨4µ2´6°'½2¼6Ð1BÀDñ%Jô %J€ r"   N)rŒ   r	   rã   s   @@r   Ú#test_VectorFunctionNoReferenceCyclerç   å  s±   øø€ õ 
Ñ	Ô	€BØ
ˆsˆ€BÝ	ð Jð Jð Jð Jð Jñ 
Kô 
Kð ð àðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¨7·;¾;c                  óÞ   ‡‡— t          j        g d¢g d¢g¦  «        } t          j        d¦  «        Št          | ¦  «        Št	          ˆˆfd„¦  «        5  	 ddd¦  «         dS # 1 swxY w Y   dS )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Ô$L€ r"   N)r+   r,   rÎ   r   r	   )rÐ   rÑ   rD   s    @@r   Ú)test_LinearVectorFunctionNoReferenceCyclerê   ò  sÈ   øø€ õ ŒhØˆ
ˆ
Øˆ	ˆ	ðñ ô €Gõ 
Œ�!‰Œ€BÝ˜Ñ!Ô!€HÝ	ÐLÐLÐLÐLÐLÑ	MÔ	Mð ð Øðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA"Á"A&Á)A&)+rˆ   ÚplatformÚ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‰   ÚskipifÚpython_implementationrä   rç   rê   r4   r"   r   ú<module>r÷      s  ðØ €€€Ø €€€Ø Ð Ð Ð ð)ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð 3Ð 2Ð 2Ð 2Ð 2Ð 2Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø "Ð "Ð "Ð "Ð "Ð "Ø .Ð .Ð .Ð .Ð .Ð .ðNð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð 8Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8ðð ð ð ð ñ ô ð ð(R'ð R'ð R'ð R'ð R'˜ñ R'ô R'ð R'ðj:ð :ð :ð :ð :ñ :ô :ð :ð.w!ð w!ð w!ð w!ð w!˜Hñ w!ô w!ð w!ðt!Bð !Bð !BðH)ð )ð )ð Bð Bð Bð. „×ÒØ"€HÔ"Ñ$Ô$¨Ò.Ø4ð ñ ô ðð ñ	ô ðð „×ÒØ"€HÔ"Ñ$Ô$¨Ò.Ø4ð ñ ô ðð ñ	ô ðð „×ÒØ"€HÔ"Ñ$Ô$¨Ò.Ø4ð ñ ô ð	ð 	ñ	ô ð	ð 	ð 	r"   