+
    LV-jp(  ã                   ó*  € R .t ^ RIt^ RIHt ^ RIHt ^RIHt R]P                  R]P                  R]P                  R]P                  /tR]P                  R]P                  R]P                   R]P"                  /tR	^R
^ /t ! R R4      tRR ltR# )Ú_svdpN)Úaslinearoperator)ÚLinAlgError)Ú_propackÚfÚdÚFÚDÚLMÚSMc                   óP   a € ] tR t^!t o RtR tR t]R 4       t]R 4       t	Rt
V tR# )Ú_AProdz|
Wrapper class for linear operator

The call signature of the __call__ method matches the callback of
the PROPACK routines.
c                ó”   €  \        V4      V n        R #   \         d)    \        \        P                  ! T4      4      T n         R # i ; i©N)r   ÚAÚ	TypeErrorÚnpÚasarray)Úselfr   s   &&Új/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/sparse/linalg/_svdp.pyÚ__init__Ú_AProd.__init__(   s6   € ð	5Ü% aÓ(ˆDŽFøÜô 	5Ü%¤b§j¢j°£mÓ4ˆD�Fð	5ús   ‚ ”/AÁAc                ó�   € V^ 8X  d!   V P                   P                  V4      VR&   R# V P                   P                  V4      VR&   R# )é    ºNNNN)r   ÚmatvecÚrmatvec)r   ÚtransaÚmÚnÚxÚys   &&&&&&r   Ú__call__Ú_AProd.__call__.   s5   € Ø�QŒ;Ø—6‘6—=‘= Ó#ˆAˆa‹Dà—6‘6—>‘> !Ó$ˆAˆa‹Dó    c                ó.   € V P                   P                  # r   )r   Úshape©r   s   &r   r&   Ú_AProd.shape4   s   € à�v‰v�|‰|Ðr$   c                óú   €  V P                   P                  #   \         dX    T P                   P                  \        P
                  ! T P                   P                  ^,          4      4      P                  u # i ; i)é   )r   ÚdtypeÚAttributeErrorr   r   Úzerosr&   r'   s   &r   r+   Ú_AProd.dtype8   sU   € ð	BØ—6‘6—<‘<ÐøÜô 	BØ—6‘6—=‘=¤§¢¨$¯&©&¯,©,°q­/Ó!:Ó;×AÑAÒAð	Bús   ‚ ˜AA:Á9A:)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r"   Úpropertyr&   r+   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r   !   s>   ø‡ € ñò5ò%ð ñó ðð ñBó öBr$   r   c                ó~  € Vf   \        R4      hVP                  4       pVR9  d   \        R4      hV'       g   VR8X  d   \        R4      h\        V 4      pVP                  P                  p \
        V,          p\        V,          pVP                  w  ppV^8  g   V\        VV4      8”  d   \        R	4      hVf
   ^
V,          pVf   R
p\        V^,           V^,           V4      pWA8  d   \        RV RV R24      hV'       d   ^M^ pV'       d   ^M^ p\        P                  ! VV^,           3RVR7      p\        P                  ! VV3RVR7      p\        P                  ! VRVP                  4       R7      p\        P                  ! VRVP                  4       R7      pVfu   VP                  VR7      VR&   \        P                  ! \        P                  ! ^ VR7      4      '       d-   VR;;,          RVP                  VR7      ,          ,          uu&   M VVR&   V
f5   \        P                   ! \        P"                  ! V4      P$                  4      p
Vf(   \        P"                  ! V4      P$                  R,          pV'       dl   \        P&                  ! W«WÏ3VP                  4       R7      pVf	   WA,
          pV\        VV,
          VV4      8”  d   \        R4      hV^ 8  d   \        R4      hM(\        P&                  ! W«V3VP                  4       R7      p\        P&                  ! \)        \+        V4      4      \)        \+        V4      4      3RR7      p ^ p!V'       g	   V'       d…   VV,           ^V^,          ,          ,           ^	V,          ,           ^,           p"V"\-        ^V^,          ,          ^V,          ,           ^,           V!\-        VV4      ,          4      ,          p"^V,          p#MiVV,           ^	V,          ,           ^V^,          ,          ,           ^,           \-        VV,           ^V,          ^,           4      ,           p"^V,          ^,           p#\        P                  ! V"VP                  4       R7      p$\        P                  ! V#\        P.                  R7      p%\        P                  ! ^VP                  4       R7      p&\        P                  ! ^\        P.                  R7      p'VP1                  4       '       d-   \        P                  ! VV,           V,           VR7      p(V$V(V%3p)MV$V%3p)VP3                  ^ \        P4                  ! \        P6                  4      P,                  ^\        P8                  R7      p*V'       d.   V! \:        V,          VVVVVVVV	VVVVV.V)OVNV NV&NV'NV*N5!  p+MV! VVVVWV	VVVVV.V)OVNV NV&NV'NV*N5!  p+V+^ 8”  d   \=        RV+ R24      hV+^ 8  d   \=        RV RV R24      hVRRV13,          VVRRV13,          P?                  4       P@                  V3#   \         dV    \        P                  ! \        P                  ! ^ TR7      4      '       d   RpMRp\
        T,          p\        T,          p ELi ; i  \          d    \        RT 24      hi ; i) a4  
Compute the singular value decomposition of a linear operator using PROPACK

Parameters
----------
A : array_like, sparse matrix, or LinearOperator
    Operator for which SVD will be computed.  If `A` is a LinearOperator
    object, it must define both ``matvec`` and ``rmatvec`` methods.
k : int
    Number of singular values/vectors to compute
which : {"LM", "SM"}
    Which singular triplets to compute:
    - 'LM': compute triplets corresponding to the `k` largest singular
            values
    - 'SM': compute triplets corresponding to the `k` smallest singular
            values
    `which='SM'` requires `irl_mode=True`.  Computes largest singular
    values by default.
irl_mode : bool, optional
    If `True`, then compute SVD using IRL (implicitly restarted Lanczos)
    mode.  Default is `True`.
kmax : int, optional
    Maximal number of iterations / maximal dimension of the Krylov
    subspace. Default is ``10 * k``.
compute_u : bool, optional
    If `True` (default) then compute left singular vectors, `u`.
compute_v : bool, optional
    If `True` (default) then compute right singular vectors, `v`.
tol : float, optional
    The desired relative accuracy for computed singular values.
    If not specified, it will be set based on machine precision.
v0 : array_like, optional
    Starting vector for iterations: must be of length ``A.shape[0]``.
    If not specified, PROPACK will generate a starting vector.
full_output : bool, optional
    If `True`, then return sigma_bound.  Default is `False`.
delta : float, optional
    Level of orthogonality to maintain between Lanczos vectors.
    Default is set based on machine precision.
eta : float, optional
    Orthogonality cutoff.  During reorthogonalization, vectors with
    component larger than `eta` along the Lanczos vector will be purged.
    Default is set based on machine precision.
anorm : float, optional
    Estimate of ``||A||``.  Default is ``0``.
cgs : bool, optional
    If `True`, reorthogonalization is done using classical Gram-Schmidt.
    If `False` (default), it is done using modified Gram-Schmidt.
elr : bool, optional
    If `True` (default), then extended local orthogonality is enforced
    when obtaining singular vectors.
min_relgap : float, optional
    The smallest relative gap allowed between any shift in IRL mode.
    Default is ``0.001``.  Accessed only if ``irl_mode=True``.
shifts : int, optional
    Number of shifts per restart in IRL mode.  Default is determined
    to satisfy ``k <= min(kmax-shifts, m, n)``.  Must be
    >= 0, but choosing 0 might lead to performance degradation.
    Accessed only if ``irl_mode=True``.
maxiter : int, optional
    Maximum number of restarts in IRL mode.  Default is ``1000``.
    Accessed only if ``irl_mode=True``.
rng : `numpy.random.Generator`, optional
    Pseudorandom number generator state. When `rng` is None, a new
    `numpy.random.Generator` is created using entropy from the
    operating system. Types other than `numpy.random.Generator` are
    passed to `numpy.random.default_rng` to instantiate a ``Generator``.

Returns
-------
u : ndarray
    The `k` largest (``which="LM"``) or smallest (``which="SM"``) left
    singular vectors, ``shape == (A.shape[0], 3)``, returned only if
    ``compute_u=True``.
sigma : ndarray
    The top `k` singular values, ``shape == (k,)``
vt : ndarray
    The `k` largest (``which="LM"``) or smallest (``which="SM"``) right
    singular vectors, ``shape == (3, A.shape[1])``, returned only if
    ``compute_v=True``.
sigma_bound : ndarray
    the error bounds on the singular values sigma, returned only if
    ``full_output=True``.

Nz:`rng` must be a normalized numpy.random.Generator instancer   z#`which` must be either 'LM' or 'SM'z#`which`='SM' requires irl_mode=True)r+   r	   r   z.k must be positive and not greater than m or niè  z3kmax must be greater than or equal to k, but kmax (z) < k (Ú)r   )Úorderr+   )Úsizer   y              ð?zv0 must be of length g      è?z0shifts must satisfy k <= min(kmax-shifts, m, n)!zshifts must be >= 0!Úi)ÚlowÚhighr;   r+   z#An invariant subspace of dimension z was found.zk=z0 singular triplets did not converge within kmax=z iterations>   r
   r   )r   r   )!Ú
ValueErrorÚupperr   r+   ÚcharÚ_lansvd_irl_dictÚ_lansvd_dictÚKeyErrorr   ÚiscomplexobjÚemptyr&   Úminr-   ÚlowerÚuniformÚsqrtÚfinfoÚepsÚarrayÚintÚboolÚmaxÚint32ÚisupperÚintegersÚiinfoÚint64Úuint64Ú_which_converterr   ÚconjÚT),r   ÚkÚwhichÚirl_modeÚkmaxÚ	compute_uÚ	compute_vÚv0Úfull_outputÚtolÚdeltaÚetaÚanormÚcgsÚelrÚ
min_relgapÚshiftsÚmaxiterÚrngÚaprodÚtypÚ
lansvd_irlÚlansvdr   r   ÚjobuÚjobvÚuÚvÚsigmaÚbndÚdoptionÚioptionÚNBÚlworkÚliworkÚworkÚiworkÚdparmÚiparmÚzworkÚworksÚ	rng_stateÚinfos,   &&&&&&&&&&&&&&&&&&&                         r   r   r   @   sõ  € ðr ‚{ÜÐUÓVÐVà�K‰K‹M€EØ�LÔ ÜÐ>Ó?Ð?ß˜ œÜÐ>Ó?Ð?ä�1‹I€EØ
�+‰+×
Ñ
€Cð
#Ü% cÕ*ˆ
Ü˜cÕ"ˆð �;‰;�D€A€qØ	ˆAŒ�1”s˜1˜a“y”=ÜÐIÓJÐJà‚|Ø�!�tˆØ‚Øˆô ˆq�1�u�a˜!•e˜TÓ"€DØ„xÜðØ˜˜g a S¨ð+ó,ð 	,÷
 ‰1˜q€Dß‰1˜q€Dô 	�Š�!�T˜A•X� c°Ô5€AÜ
�Š�!�T� #¨SÔ1€AÜ�HŠH�Q˜c¨¯©«Ô5€EÜ
�(Š(�1˜C s§y¡y£{Ô
3€Cð
 
‚zØ—+‘+ 1�+Ó%ˆˆ$‰Ü�?Š?œ2Ÿ8š8 A¨SÔ1×2Ò2Øˆd�G�r˜CŸK™K¨Q˜KÓ/Õ/Õ/‹Gøð	:ØˆAˆd‰Gð
 ‚}Ü—’œŸš ›×)Ñ)Ó*ˆØ
‚{Ü�hŠh�s‹m×Ñ 4Õ'ˆçÜ—(’(˜E¨Ð:À#Ç)Á)Ã+ÔNˆð Š>Ø•XˆFØŒs�4˜&•= ! QÓ'Ô'Üð <ó =ð =à�aŒZÜÐ3Ó4Ð4ð ô —(’(˜E¨Ð.°c·i±i³kÔBˆä�hŠhœœD ›I›¬¬D°«I«Ð7¸sÔC€Gð 
€B÷ —IØ�A•˜˜$ �'�	Õ! A d¥FÕ*¨QÕ.ˆØ”�Q�t˜Q•w•Y  4¥Õ'¨!Õ+¨R´°A°q³	­\Ó:Õ:ˆØ�4•‰à�A•˜˜$�•  4¨¥7¥Õ*¨QÕ.´°Q¸µU¸A¸d½FÀQ½JÓ1GÕGˆØ�4•˜!•ˆÜ�8Š8�E §¡£Ô-€DÜ�HŠH�V¤2§8¡8Ô,€Eô �HŠH�Q˜cŸi™i›kÔ*€EÜ�HŠH�QœbŸh™hÔ'€Eà
‡{�{‡}‚}Ü—’˜˜Q� �¨SÔ1ˆØ�e˜UÐ"‰à�e�ˆð —‘ ¬¯ª´"·(±(Ó);×)?Ñ)?Ø"#¬2¯9©9ð ó 6€I÷ ÙÔ*¨5Õ1°4Ø  1 f¨a°¸#Ø  E¨3°ð<à49ð<à;Bð<ð "ð<ð $)ð<ð +0ð<ð 2;ó<‰ñ
 �d˜D ! Q¨°°e¸QÀÀsÈAð IØðIØ%ðIØ'.ðIØ05ðIØ7<ðIØ>GóIˆð ˆa„xÜØ1°$°°{ÐCóEð 	Eà	�ŒÜØ��ð Ø�6˜ð&ó'ð 	'ð ˆQ���ˆU�8�U˜A˜a  ! ˜e�HŸM™M›O×-Ñ-¨sÐ2Ð2øôw ô #ä�?Š?œ2Ÿ8š8 A¨SÔ1×2Ò2Ø‰CàˆCÜ% cÕ*ˆ
Ü˜cÕ"‹ð#ûôZ ô 	:ÜÐ4°Q°CÐ8Ó9Ð9ð	:ús$   Á.X? ÈZ" Ø?<ZÙ<ZÚZÚ"Z<)r
   TNTTNFr   NNr   FTgü©ñÒMb`?NNN)Ú__all__Únumpyr   Úscipy.sparse.linalgr   Úscipy.linalgr   Ú r   ÚslansvdÚdlansvdÚclansvdÚzlansvdrC   Úslansvd_irlÚdlansvd_irlÚclansvd_irlÚzlansvd_irlrB   rW   r   r   © r$   r   Ú<module>r‘      s©   ðØˆ)€ã å 0Ý $å ð ˆ×	Ñ	Øˆ×	Ñ	Øˆ×	Ñ	Øˆ×	Ñ	ð	€ð ˆ×	Ñ	Øˆ×	Ñ	Øˆ×	Ñ	Øˆ×	Ñ	ð	Ð ð 	ˆ!Øˆ!ðÐ ÷Bñ Bö>c3r$   