Ë
    0Ò^j¢  ã                   ó®   — d Z g ZddlmZmZmZmZ ddlmZm	Z	m
Z
 i dd“dd“dd	“d
d“dd“dd“dd“dd“dd	“dd“dd	“dd“dd“dd“dd“dd“Zd„ Zd„ Zd„ Zy)zrestructuredtext ené    )Ú
asanyarrayÚasarrayÚarrayÚzeros)ÚaslinearoperatorÚLinearOperatorÚIdentityOperator)Úfr
   r
   )r
   Údr   )r
   ÚFr   )r
   ÚDr   )r   r
   )r   r   )r   r   )r   r   )r   r
   )r   r   )r   r   )r   r   )r   r
   )r   r   )r   r   )r   r   c                 ó0   — | dvrd} |dvrd}t         | |f   S )NÚfdFDr   )Ú_coerce_rules)ÚxÚys     úl/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/sparse/linalg/_isolve/utils.pyÚcoercer      s)   € Ø��ØˆØ��ØˆÜ˜˜1˜ÑÐó    c                 ó   — | S )N© )r   s    r   Úidr      s   € Ø€Hr   c                 óä  — | }t        | «      } | j                  dkD  rt        | j                  › d�«      ‚| j                  d   | j                  d   k7  rt        d| j                  f› �«      ‚| j                  d   }t	        |«      }|j                  |dfk(  s6|j                  |fk(  s&t        d| j                  › d|j                  › d�«      ‚|j
                  j                  d	vr|j                  d
«      }t        | d«      r| j
                  j                  }n%| j                  |«      j
                  j                  }t        ||j
                  j                  «      }t        ||¬«      }|j                  «       }|€”t        |d«      r|j                  }nt        }t        |d«      r|j                  }nt        }|t        u r*|t        u r"t!        | j                  | j
                  ¬«      }nSt#        | j                  ||| j
                  ¬«      }n/t        |«      }| j                  |j                  k7  rt        d«      ‚|€t%        ||¬«      }	n›t'        |t(        «      r'|dk(  r†|j+                  «       }
|j                  |
«      }	ndt-        ||¬«      }	|	j                  |dfk(  s6|	j                  |fk(  s&t        d| j                  › d|	j                  › d�«      ‚|	j                  «       }	| |	|fS )a.  Make a linear system Ax=b

    Parameters
    ----------
    A : LinearOperator
        sparse or dense matrix (or any valid input to aslinearoperator)
    M : {LinearOperator, Nones}
        preconditioner
        sparse or dense matrix (or any valid input to aslinearoperator)
    x0 : {array_like, str, None}
        initial guess to iterative method.
        ``x0 = 'Mb'`` means using the nonzero initial guess ``M @ b``.
        Default is `None`, which means using the zero initial guess.
    b : array_like
        right hand side

    Returns
    -------
    (A, M, x, b)
        A : LinearOperator
            matrix of the linear system
        M : LinearOperator
            preconditioner
        x : rank 1 ndarray
            initial guess
        b : rank 1 ndarray
            right hand side

    é   z.-dimensional `A` is unsupported, expected 2-D.r   é   z&expected square matrix, but got shape=zshapes of A z and b z are incompatibler   r   Údtype)r   ÚpsolveÚrpsolve)Úshaper   )ÚmatvecÚrmatvecr   z/matrix and preconditioner have different shapesÚMbz and x0 )r   ÚndimÚ
ValueErrorr   r   r   ÚcharÚastypeÚhasattrr    r   r   Úravelr   r   r   r	   r   r   Ú
isinstanceÚstrÚcopyr   )ÚAÚMÚx0ÚbÚA_ÚNÚxtyper   r   r   ÚbCopys              r   Úmake_systemr4      sƒ  € ð< 
€BÜ˜Ó€AØ‡v�v�‚zÜ˜AŸF™F˜8Ð#QÐRÓSÐSà‡w�wˆq�z�Q—W‘W˜Q‘ZÒÜÐAÀ1Ç7Á7À*ÀÐNÓOÐOà	�‰�‰
€Aä�1‹€Aà�G‰G˜˜!�uÒ §¡¨A¨4¢Ü˜<¨¯© y°¸¿¹°yð A(ð (ó )ð 	)ð 	‡w�w‡|�|˜6Ñ!Ø�H‰H�S‹Mˆäˆq�ÔØ—‘—‘‰à—‘˜“×!Ñ!×&Ñ&ˆÜ�5˜!Ÿ'™'Ÿ,™,Ó'€Eä�˜Ô€AØ	�‰‹	€Að 	€yÜ�2�hÔØ—Y‘Y‰FäˆFÜ�2�iÔ Ø—j‘j‰GäˆGØ”R‰<˜G¤r™MÜ  q§w¡w°a·g±gÔ>‰Aä˜qŸw™w¨v¸wØ%&§W¡Wô.‰Aô ˜QÓˆØ�7‰7�a—g‘gÒÜÐNÓOÐOð 
€zÜ�!˜5Ô!‰Ü	�BœÔ	Ø�Š:Ø—F‘F“HˆEØ—‘˜“‰Aä�"˜EÔ"ˆØ—‘˜A˜q˜6Ò! Q§W¡W°°¢_Ü˜|¨A¯G©G¨9ð 5#Ø#$§7¡7 )Ð+<ð>ó ?ð ?à�G‰G‹Iˆàˆa��Aˆ:Ðr   N)Ú__docformat__Ú__all__Únumpyr   r   r   r   Úscipy.sparse.linalg._interfacer   r   r	   r   r   r   r4   r   r   r   ú<module>r9      sã   ðØ%€à
€÷ 4Ó 3÷ñ ð �˜3ð   	¨#ð  ¨y¸ð  Ø˜3ð Ø )¨#ð Ø/8¸ð à˜3ð à )¨#ð à/8¸ð ð ˜3ð ð !*¨#ð ð 09¸ð ð ˜3ð	 ð !*¨#ð	 ð 09¸ð	 ð
 ˜3ð €òòó\r   