§
    &�’jy?  ã                   ó„   — d dl Zd dlm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gZ	 	 dd
„Zdddddddddd	ddœ
d„ZdS )é    N)ÚLinAlgError)Úget_blas_funcsÚqrÚsolveÚsvdÚ	qr_insertÚlstsqé   )Ú_get_atol_rtol)Úmake_systemÚgcrotmk© Fc	           
      ó0  — |€d„ }|€d„ }t          g d¢|f¦  «        \  }	}
}}|g}g }d}t          j        }|t          |¦  «        z   }t          j        t          |¦  «        |f|j        ¬¦  «        }t          j        d|j        ¬¦  «        }t          j        d|j        ¬¦  «        }t          j        |j        ¦  «        j        }d}t          |¦  «        D �]µ}|r|t          |¦  «        k     r||         \  }}nm|r!|t          |¦  «        k    r ||¦  «        }d}nJ|s5||t          |¦  «        z
  k    r|||t          |¦  «        z
  z
           \  }}n ||d	         ¦  «        }d}|€ | | |¦  «        ¦  «        }n| 
                    ¦   «         } ||¦  «        }t          |¦  «        D ]2\  }} |
||¦  «        }||||f<    |	|||j        d
         | ¦  «        }Œ3t          j        |dz   |j        ¬¦  «        }t          |¦  «        D ]0\  }} |
||¦  «        }|||<    |	|||j        d
         | ¦  «        }Œ1 ||¦  «        ||dz   <   t          j        dd¬¦  «        5  d|d	         z  }ddd¦  «         n# 1 swxY w Y   t          j        |¦  «        r |||¦  «        }|d	         ||z  k    sd}|                     |¦  «         |                     |¦  «         t          j        |dz   |dz   f|j        d¬¦  «        }||d|dz   …d|dz   …f<   d||dz   |dz   f<   t          j        |dz   |f|j        d¬¦  «        } || d|dz   …dd…f<   t!          || ||ddd¬¦  «        \  }}t#          |d         ¦  «        }||k     s|r n�Œ·t          j        |||f         ¦  «        st%          ¦   «         ‚t'          |d|dz   …d|dz   …f         |d
d|dz   …f                              ¦   «         ¦  «        \  }}!}!}!|dd…d|dz   …f         }|||||||fS )aƒ  
    FGMRES Arnoldi process, with optional projection or augmentation

    Parameters
    ----------
    matvec : callable
        Operation A*x
    v0 : ndarray
        Initial vector, normalized to nrm2(v0) == 1
    m : int
        Number of GMRES rounds
    atol : float
        Absolute tolerance for early exit
    lpsolve : callable
        Left preconditioner L
    rpsolve : callable
        Right preconditioner R
    cs : list of (ndarray, ndarray)
        Columns of matrices C and U in GCROT
    outer_v : list of ndarrays
        Augmentation vectors in LGMRES
    prepend_outer_v : bool, optional
        Whether augmentation vectors come before or after
        Krylov iterates

    Raises
    ------
    LinAlgError
        If nans encountered

    Returns
    -------
    Q, R : ndarray
        QR decomposition of the upper Hessenberg H=QR
    B : ndarray
        Projections corresponding to matrix C
    vs : list of ndarray
        Columns of matrix V
    zs : list of ndarray
        Columns of matrix Z
    y : ndarray
        Solution to ||H y - e_1||_2 = min!
    res : float
        The final (preconditioned) residual norm

    Nc                 ó   — | S ©Nr   ©Úxs    úRC:\Projects\DSCons\.venv\Lib\site-packages\scipy\sparse\linalg\_isolve\_gcrotmk.pyÚlpsolvez_fgmres.<locals>.lpsolve@   ó   € ØˆHó    c                 ó   — | S r   r   r   s    r   Úrpsolvez_fgmres.<locals>.rpsolveC   r   r   ©ÚaxpyÚdotÚscalÚnrm2)Údtype)r
   r
   )r
   r   Féÿÿÿÿr   é   r
   Úignore)ÚoverÚdivideTÚF©r   ÚorderÚcol)ÚwhichÚoverwrite_qruÚcheck_finite)r   r    )r   ÚnpÚnanÚlenÚzerosr   ÚonesÚfinfoÚepsÚrangeÚcopyÚ	enumerateÚshapeÚerrstateÚisfiniteÚappendr   Úabsr   r	   Úconj)"ÚmatvecÚv0ÚmÚatolr   r   ÚcsÚouter_vÚprepend_outer_vr   r   r   r   ÚvsÚzsÚyÚresÚBÚQÚRr2   Ú	breakdownÚjÚzÚwÚw_normÚiÚcÚalphaÚhcurÚvÚQ2ÚR2Ú_s"                                     r   Ú_fgmresrW      s	  € ðb €ð	ð 	ð 	à€ð	ð 	ð 	õ +Ð+JÐ+JÐ+JÈRÈEÑRÔRÑ€Dˆ#ˆt�Tà
ˆ€BØ	€BØ€AÝ
Œ&€Cà	�C�‰LŒLÑ€Aõ 	Œ•#�b‘'”'˜1� R¤XÐ.Ñ.Ô.€Aõ 	Œ�˜bœhÐ'Ñ'Ô'€AÝ
Œ�˜rœxÐ(Ñ(Ô(€Aå
Œ(�2”8Ñ
Ô
Ô
 €Cà€Iõ �1‰XŒXð Kñ Kˆð ð 		˜q¥3 w¡<¤<Ò/Ð/Ø˜1”:‰DˆAˆqˆqØð 	 ¥c¨'¡l¤lÒ!2Ð!2Ø�˜‘”ˆAØˆAˆAØ ð 	 Q¨!­c°'©l¬lÑ*:Ò%:Ð%:Ø˜1 ¥C¨¡L¤LÑ 0Ñ1Ô2‰DˆAˆqˆqà�˜˜2œ‘”ˆAØˆAàˆ9Ø�˜˜˜q™	œ	Ñ"Ô"ˆAˆAð —’‘”ˆAà��a‘”ˆõ ˜b‘M”Mð 	/ð 	/‰DˆAˆqØ�C˜˜1‘I”IˆEØˆAˆa�ˆc‰FØ��Q˜˜1œ7 1œ:¨ vÑ.Ô.ˆAˆAõ Œx˜˜!™ 1¤7Ð+Ñ+Ô+ˆÝ˜b‘M”Mð 	/ð 	/‰DˆAˆqØ�C˜˜1‘I”IˆEØˆD�‰GØ��Q˜˜1œ7 1œ:¨ vÑ.Ô.ˆAˆAØ�D˜‘G”GˆˆQˆq‰S‰	åŒ[˜h¨xÐ8Ñ8Ô8ð 	ð 	à�d˜2”h‘JˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ;�uÑÔð 	Ø��U˜A‘”ˆAà�R”˜3 ™<Ò'Ð'ð ˆIà
�	Š	�!‰ŒˆØ
�	Š	�!‰Œˆõ
 ŒX�q˜‘s˜A˜a™C�j¨¬°sÐ;Ñ;Ô;ˆØˆˆ4ˆAˆa‰Cˆ4���1‘�ˆ9‰Øˆˆ1ˆQ‰3ˆq�‰sˆ7‰åŒX�q˜‘s˜A�h a¤g°SÐ9Ñ9Ô9ˆØˆˆ4ˆAˆa‰Cˆ4���ˆ6‰
å˜˜R  q°Ø'+¸%ðAñ Aô A‰ˆˆ1õ �!�D”'‰lŒlˆð �Š:ˆ:˜ˆ:ØˆEñ õ Œ;�q˜˜1˜”vÑÔð å‰mŒmÐõ ˜˜$˜1˜Q™3˜$˜t  !¡˜t˜)œ a¨¨$¨1¨Q©3¨$¨¤i§n¢nÑ&6Ô&6Ñ7Ô7�K€A€qˆ!ˆQà	ˆ!ˆ!ˆ!ˆDˆQˆq‰SˆDˆ&Œ	€Aàˆa��B˜˜A˜sÐ"Ð"s   É%I=É=J	ÊJ	gñhãˆµøä>g        iè  é   Úoldest)
Úrtolr?   ÚmaxiterÚMÚcallbackr>   ÚkÚCUÚ	discard_CÚtruncatec       
         ó$  — t          | |||¦  «        \  } }}}t          j        |¦  «                             ¦   «         st	          d¦  «        ‚|dvrt	          d|›�¦  «        ‚| j        }|j        }|
€g }
|	€|}	d\  }}}|€|                     ¦   «         }n| ||¦  «        z
  }t          g d¢||f¦  «        \  }}}} ||¦  «        }t          d|||¦  «        \  }}|dk    r|}|dfS |rd	„ |
D ¦   «         |
dd…<   |
�rÂ|
 	                    d
„ ¬¦  «         t          j
        | j        d         t          |
¦  «        f|j        d¬¦  «        }g }d}|
rJ|
                     d¦  «        \  }}|€ ||¦  «        }||dd…|f<   |dz  }|                     |¦  «         |
°Jt!          |ddd¬¦  «        \  }}}~t#          |j        ¦  «        }g }t'          t          |¦  «        ¦  «        D ]¯}|||                  }t'          |¦  «        D ]0}  ||||                   ||j        d         || |f          ¦  «        }Œ1t)          |||f         ¦  «        dt)          |d         ¦  «        z  k     r n- |d|||f         z  |¦  «        }|                     |¦  «         Œ°t#          t+          ||¦  «        ¦  «        ddd…         |
dd…<   |
r]t          ddg|f¦  «        \  }}|
D ]D\  }} |||¦  «        }! ||||j        d         |!¦  «        } ||||j        d         |! ¦  «        }ŒEt'          |¦  «        D �]ž}"|� ||¦  «          ||¦  «        }#t-          |||z  ¦  «        }$|#|$k    r!|"dk    s|
r| ||¦  «        z
  } ||¦  «        }#|#|$k    rd}" �n@|t-          |	t          |
¦  «        z
  d¦  «        z   }%d„ |
D ¦   «         }	 t/          |||#z  |%|t-          |||z  ¦  «        |#z  |¬¦  «        \  }}}&}'}(})}*|)|#z  })n# t0          $ r Y  �nÈw xY w|(d         |)d         z  }+t+          |(dd…         |)dd…         ¦  «        D ]\  },}! ||,|+|+j        d         |!¦  «        }+Œ|&                     |)¦  «        }-t+          |
|-¦  «        D ]$\  }.}/|.\  }} |||+|+j        d         |/ ¦  «        }+Œ%t          j        d¬¦  «        5  |                     |                     |)¦  «        ¦  «        }0ddd¦  «         n# 1 swxY w Y   |'d         |0d         z  }1t+          |'dd…         |0dd…         ¦  «        D ]\  }2}3 ||2|1|1j        d         |3¦  «        }1Œ	 d ||1¦  «        z  }4t          j        |4¦  «        st7          ¦   «         ‚n# t6          t8          f$ r Y �Œaw xY w ||4|1¦  «        }1 ||4|+¦  «        }+ ||1|¦  «        }5 ||1||j        d         |5 ¦  «        } ||+||j        d         |5¦  «        }|dk    r/t          |
¦  «        |	k    r|
r|
d= t          |
¦  «        |	k    r|
°�n–|dk    �r�t          |
¦  «        |	k    �r{|
�rxt;          |dd…dd…f         j        |&j        ¦  «        j        }6t=          |6¦  «        \  }7}8}9g }:t?          |7dd…d|	dz
  …f         j        ¦  «        D �]\  }};|
d         \  }}||;d         z  }||;d         z  }t+          |
dd…         |;dd…         ¦  «        D ]<\  }<}=|<\  }>}? ||>||j        d         |=¦  «        } ||?||j        d         |=¦  «        }Œ=|:D ]E\  }>}? ||>|¦  «        }4 ||>||j        d         |4 ¦  «        } ||?||j        d         |4 ¦  «        }ŒF ||¦  «        }4 |d|4z  |¦  «        } |d|4z  |¦  «        }|:                     ||f¦  «         �Œ|:|
dd…<   |
                     |1|+f¦  «         �Œ |
                     d|                     ¦   «         f¦  «         |rd„ |
D ¦   «         |
dd…<   ||"dz   fS )aé  
    Solve ``Ax = b`` with the flexible GCROT(m,k) algorithm.

    Parameters
    ----------
    A : {sparse array, ndarray, LinearOperator}
        The real or complex N-by-N matrix of the linear system.
        Alternatively, `A` can be a linear operator which can
        produce ``Ax`` using, e.g.,
        `LinearOperator`.
    b : ndarray
        Right hand side of the linear system. Has shape (N,) or (N,1).
    x0 : ndarray
        Starting guess for the solution.
    rtol, atol : float, optional
        Parameters for the convergence test. For convergence,
        ``norm(b - A @ x) <= max(rtol*norm(b), atol)`` should be satisfied.
        The default is ``rtol=1e-5`` and ``atol=0.0``.
    maxiter : int, optional
        Maximum number of iterations.  Iteration will stop after maxiter
        steps even if the specified tolerance has not been achieved. The
        default is ``1000``.
    M : {sparse array, ndarray, LinearOperator}, optional
        Preconditioner for `A`.  The preconditioner should approximate the
        inverse of `A`. gcrotmk is a 'flexible' algorithm and the preconditioner
        can vary from iteration to iteration. Effective preconditioning
        dramatically improves the rate of convergence, which implies that
        fewer iterations are needed to reach a given error tolerance.
    callback : function, optional
        User-supplied function to call after each iteration.  It is called
        as ``callback(xk)``, where ``xk`` is the current solution vector.
    m : int, optional
        Number of inner FGMRES iterations per each outer iteration.
        Default: 20
    k : int, optional
        Number of vectors to carry between inner FGMRES iterations.
        According to [2]_, good values are around `m`.
        Default: `m`
    CU : list of tuples, optional
        List of tuples ``(c, u)`` which contain the columns of the matrices
        C and U in the GCROT(m,k) algorithm. For details, see [2]_.
        The list given and vectors contained in it are modified in-place.
        If not given, start from empty matrices. The ``c`` elements in the
        tuples can be ``None``, in which case the vectors are recomputed
        via ``c = A u`` on start and orthogonalized as described in [3]_.
    discard_C : bool, optional
        Discard the C-vectors at the end. Useful if recycling Krylov subspaces
        for different linear systems.
    truncate : {'oldest', 'smallest'}, optional
        Truncation scheme to use. Drop: oldest vectors, or vectors with
        smallest singular values using the scheme discussed in [1,2].
        See [2]_ for detailed comparison.
        Default: 'oldest'

    Returns
    -------
    x : ndarray
        The solution found.
    info : int
        Provides convergence information:

        * 0  : successful exit
        * >0 : convergence to tolerance not achieved, number of iterations

    References
    ----------
    .. [1] E. de Sturler, ''Truncation strategies for optimal Krylov subspace
           methods'', SIAM J. Numer. Anal. 36, 864 (1999).
    .. [2] J.E. Hicken and D.W. Zingg, ''A simplified and flexible variant
           of GCROT for solving nonsymmetric linear systems'',
           SIAM J. Sci. Comput. 32, 172 (2010).
    .. [3] M.L. Parks, E. de Sturler, G. Mackey, D.D. Johnson, S. Maiti,
           ''Recycling Krylov subspaces for sequences of linear systems'',
           SIAM J. Sci. Comput. 28, 1651 (2006).

    Examples
    --------
    >>> import numpy as np
    >>> from scipy.sparse import csc_array
    >>> from scipy.sparse.linalg import gcrotmk
    >>> R = np.random.randn(5, 5)
    >>> A = csc_array(R)
    >>> b = np.random.randn(5)
    >>> x, exit_code = gcrotmk(A, b, atol=1e-5)
    >>> print(exit_code)
    0
    >>> np.allclose(A.dot(x), b)
    True

    z$RHS must contain only finite numbers)rY   ÚsmallestzInvalid value for 'truncate': N)NNNr   r   r   c                 ó   — g | ]	\  }}d |f‘Œ
S r   r   ©Ú.0rP   Úus      r   ú
<listcomp>zgcrotmk.<locals>.<listcomp>8  s    € Ð*Ð*Ð*™t˜q !�$˜�Ð*Ð*Ð*r   c                 ó   — | d         d uS )Nr   r   )Úcus    r   ú<lambda>zgcrotmk.<locals>.<lambda>=  s   € ˜r !œu¨DÐ0€ r   )Úkeyr%   r&   r
   TÚeconomic)Úoverwrite_aÚmodeÚpivotinggê-�™—q=)r   r   g      ð?r    r   r   c                 ó   — g | ]\  }}|‘ŒS r   r   re   s      r   rh   zgcrotmk.<locals>.<listcomp>ˆ  s   € ÐÐÐ‘D�A�qˆaÐÐÐr   )r   r?   r@   r"   )ÚinvalidrY   rc   c                 ó   — g | ]	\  }}d |f‘Œ
S r   r   )rf   ÚczÚuzs      r   rh   zgcrotmk.<locals>.<listcomp>õ  s    € Ð-Ð-Ð-¡  B�$˜�Ð-Ð-Ð-r   ) r   r,   r8   ÚallÚ
ValueErrorr<   r4   r   r   ÚsortÚemptyr6   r.   r   Úpopr9   r   ÚlistÚTr3   r:   ÚzipÚmaxrW   r   r   r7   ÚFloatingPointErrorÚZeroDivisionErrorr   r   r5   )@ÚAÚbÚx0rZ   r?   r[   r\   r]   r>   r^   r_   r`   ra   r   r<   Úpsolver   r   r   Úrr   Úb_normÚCÚusrK   rP   rg   rH   rI   ÚPr@   Únew_usrO   ÚycÚj_outerÚbetaÚbeta_tolÚmlrG   rC   rD   rE   ÚpresÚuxrL   Úbyrj   ÚbycÚhyÚcxrS   ÚhycrQ   ÚgammaÚDÚWÚsigmaÚVÚnew_CUrM   ÚcupÚwpÚcpÚups@                                                                   r   r   r   ¸   sÏ	  € õx ˜!˜A˜b Ñ#Ô#�G€A€aˆˆ!åŒ;�q‰>Œ>×ÒÑÔð AÝÐ?Ñ@Ô@Ð@àÐ-Ð-Ð-ÝÐF¸(ÐFÐFÑGÔGÐGàŒX€FØŒX€Fà	€zØˆà€yØˆà&�O€Dˆ#ˆtà	€zØ�FŠF‰HŒHˆˆà���q‘	”	‰Mˆå*Ð+JÐ+JÐ+JÈQÐPQÈFÑSÔSÑ€Dˆ#ˆt�TàˆT�!‰WŒW€Fõ   	¨6°4¸Ñ>Ô>�J€Dˆ$à�‚{€{ØˆØ�1ˆvˆàð +Ø*Ð* rÐ*Ñ*Ô*ˆˆ1ˆ1ˆ1‰ð 
ñ %,à
�ŠÐ0Ð0ˆÑ1Ô1Ð1õ ŒH�a”g˜a”j¥# b¡'¤'Ð*°!´'ÀÐEÑEÔEˆØˆØˆØð 	à—6’6˜!‘9”9‰DˆAˆqØˆyØ�F˜1‘I”I�ØˆAˆaˆaˆa�ˆc‰FØ�‰FˆAØ�IŠI�a‰LŒLˆLð ð 	õ �Q D¨zÀDÐIÑIÔI‰ˆˆ1ˆaØõ �!”#‰YŒYˆð ˆÝ•s˜2‘w”w‘”ð 	ð 	ˆAØ�1�Q”4”ˆAÝ˜1‘X”Xð ;ð ;�Ø�D˜˜A˜aœDœ 1 a¤g¨a¤j°1°Q°q°S´6°'Ñ:Ô:��Ý�1�Q�q�S”6‰{Œ{˜U¥S¨¨3¬¡[¤[Ñ0Ò0Ð0à�Ø��S˜˜1˜Q˜3œ‘Z Ñ#Ô#ˆAØ�MŠM˜!ÑÔÐÐõ •S˜˜V‘_”_Ñ%Ô% d d¨ dÔ+ˆˆ1ˆ1ˆ1‰à	ð ,Ý" F¨E ?°Q°DÑ9Ô9‰	ˆˆcð ð 	,ð 	,‰DˆAˆqØ��Q˜‘”ˆBØ��Q˜˜1œ7 1œ: rÑ*Ô*ˆAØ��Q˜˜1œ7 1œ:¨ sÑ+Ô+ˆAˆAõ ˜‘>”>ð }ñ }ˆàÐØˆH�Q‰KŒKˆKàˆt�A‰wŒwˆõ �t˜T F™]Ñ+Ô+ˆà�8ÒÐ ¨1¢ ° à�F�F˜1‘I”I‘ˆAØ�4˜‘7”7ˆDà�8ÒÐØˆGØ‰Eà•�Q�˜R™œ‘[ !Ñ$Ô$Ñ$ˆàÐ˜BÐÑÔˆð	Ý'.¨vØ/0°©vØ/1Ø7=Ý47¸¸dÀ6¹kÑ4JÔ4JÈ4Ñ4OØ24ð(6ñ (6ô (6Ñ$ˆAˆq�!�R˜˜Q ð �‰IˆAˆAøÝð 	ð 	ð 	ð ˆE‰Eð	øøøð2 �ŒU�1�Q”4‰ZˆÝ˜˜A˜B˜Bœ  1 2 2¤Ñ'Ô'ð 	.ð 	.‰EˆAˆrØ��a˜˜RœX aœ[¨"Ñ-Ô-ˆBˆBØ�UŠU�1‰XŒXˆÝ˜2˜r‘{”{ð 	0ð 	0‰GˆB�Ø‰DˆAˆqØ��a˜˜RœX aœ[¨3¨$Ñ/Ô/ˆBˆBõ Œ[ Ð*Ñ*Ô*ð 	!ð 	!Ø—’�q—u’u˜Q‘x”x‘”ˆBð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!à�ŒU�R˜”U‰]ˆÝ˜"˜Q˜R˜Rœ& " Q R R¤&Ñ)Ô)ð 	/ð 	/‰FˆAˆsØ��a˜˜RœX aœ[¨#Ñ.Ô.ˆBˆBð	Ø�d�d˜2‘h”h‘JˆEÝ”;˜uÑ%Ô%ð +Ý(Ñ*Ô*Ð*ð+øå"Õ$5Ð6ð 	ð 	ð 	à‰Hð	øøøð ˆT�%˜‰_Œ_ˆØˆT�%˜‰_Œ_ˆð ��B˜‘
”
ˆØˆD��Q˜œ œ
 U FÑ+Ô+ˆØˆD��Q˜œ œ
 EÑ*Ô*ˆð �xÒÐÝ�b‘'”'˜Q’,�, 2�,Ø�q�Eõ �b‘'”'˜Q’,�, 2�,ùà˜Ò#Ñ#Ý�2‰wŒw˜!Š|‰| ‰|å˜!˜C˜R˜C   ˜Eœ(œ* a¤cÑ*Ô*Ô,�Ý! !™fœf‘��5˜!ð �Ý% a¨¨¨¨$¨1¨Q©3¨$¨¤i¤kÑ2Ô2ð *ñ *‘D�A�qØ˜aœ5‘D�A�qØ˜A˜aœD™�AØ˜A˜aœD™�AÝ#& r¨!¨"¨"¤v¨q°°°¬uÑ#5Ô#5ð 8ð 8™˜˜RØ!$™˜˜BØ ˜D  Q¨¬°¬
°BÑ7Ô7˜Ø ˜D  Q¨¬°¬
°BÑ7Ô7˜˜ð
 #)ð <ð <™˜˜BØ #  B¨¡
¤
˜Ø ˜D  Q¨¬°¬
°U°FÑ;Ô;˜Ø ˜D  Q¨¬°¬
°U°FÑ;Ô;˜˜Ø ˜D ™GœG�EØ˜˜S ™Y¨Ñ*Ô*�AØ˜˜S ™Y¨Ñ*Ô*�Aà—M’M 1 a &Ñ)Ô)Ð)Ñ)Ø��1�1�1‘ð 	�	Š	�2�r�(ÑÔÐÑð ‡I‚Iˆt�Q—V’V‘X”XÐÑÔÐØð .Ø-Ð-¨"Ð-Ñ-Ô-ˆˆ1ˆ1ˆ1‰àˆg˜‰kˆ>Ðs6   Î?9O9Ï9
PÐPÒ:)S/Ó/S3	Ó6S3	Õ0U<Õ<VÖV)NNr   r   Fr   )Únumpyr,   Únumpy.linalgr   Úscipy.linalgr   r   r   r   r   r	   Ú	iterativer   Ú!scipy.sparse.linalg._isolve.utilsr   Ú__all__rW   r   r   r   r   ú<module>r§      së   ðð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ %Ð %Ð %Ð %Ð %Ð %Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9ð ˆ+€ð MOØ!ðg#ð g#ð g#ð g#ðT 4¨b¸$À$ÐQUØ�D˜T¨U¸Xðð ð ð ð ð ð r   