ó
    Eñi;  ã                   ó®   • S r / rSSKJrJrJrJr  SSKJrJ	r	J
r
  0 SS_SS_SS	_S
S_SS_SS_SS_SS_SS	_SS_SS	_SS_SS_SS_SS_SS_rS rS rS rg)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                 ó6   • U S;  a  Sn US;  a  Sn[         X4   $ )NÚfdFDr   )Ú_coerce_rules)ÚxÚys     Ú^/home/mande/repo/quber/.venv/lib/python3.13/site-packages/scipy/sparse/linalg/_isolve/utils.pyÚcoercer      s'   € Ø�ƒØˆØ�ƒØˆÜ˜˜ÑÐó    c                 ó   • U $ )N© )r   s    r   Úidr      s   € Ø€Hr   c                 ó®  • U n[        U 5      n U R                  S   U R                  S   :w  a  [        SU R                  4 35      eU R                  S   n[        U5      nUR                  US4:X  d7  UR                  U4:X  d&  [        SU R                   SUR                   S35      eUR                  R
                  S;  a  UR                  S5      n[        U S	5      (       a  U R                  R
                  nO%U R                  U5      R                  R
                  n[        XcR                  R
                  5      n[        X6S
9nUR                  5       nUc™  [        US5      (       a  UR                  nO[        n[        US5      (       a  UR                  nO[        nU[        L a(  U[        L a  [        U R                  U R                  S9nOP[!        U R                  XxU R                  S9nO0[        U5      nU R                  UR                  :w  a  [        S5      eUc
  [#        XVS
9n	OŸ[%        U[&        5      (       a(  US:X  a!  UR)                  5       n
UR                  U
5      n	Ob[+        X&S
9n	U	R                  US4:X  d7  U	R                  U4:X  d&  [        SU R                   SU	R                   S35      eU	R                  5       n	XW	U4$ )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

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   r   Ú
ValueErrorr   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_systemr2      sb  € ð< 
€BÜ˜Ó€Aà‡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ñ.‰Aô ˜QÓˆØ�7‰7�a—g‘gÓÜÐNÓOÐOð 
�zÜ�!Ñ!‰Ü	�Bœ×	Ñ	Ø�‹:Ø—F‘F“HˆEØ—‘˜“ˆAøä�"Ñ"ˆØ—‘˜A˜q˜6Ó! Q§W¡W°°£_Ü˜|¨A¯G©G¨9ð 5#Ø#$§7¡7 )Ð+<ð>ó ?ð ?à�G‰G‹Iˆà��Aˆ:Ðr   N)Ú__docformat__Ú__all__Únumpyr   r   r   r   Úscipy.sparse.linalg._interfacer   r   r	   r   r   r   r2   r   r   r   Ú<module>r7      sã   ðØ%€à
€÷ 4Ó 3÷ñ ð �˜3ð   	¨#ð  ¨y¸ð  Ø˜3ð Ø )¨#ð Ø/8¸ð à˜3ð à )¨#ð à/8¸ð ð ˜3ð ð !*¨#ð ð 09¸ð ð ˜3ð	 ð !*¨#ð	 ð 09¸ð	 ð
 ˜3ð €òòóZr   