Ë
    âQ(h  ã                   ó®   — 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     ú_/var/www/skyplay_api_hub/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   | 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«      }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, postprocess)
        A : LinearOperator
            matrix of the linear system
        M : LinearOperator
            preconditioner
        x : rank 1 ndarray
            initial guess
        b : rank 1 ndarray
            right hand side
        postprocess : function
            converts the solution vector to the appropriate
            type and dimensions (e.g. (N,1) matrix)

    r   é   z&expected square matrix, but got shape=zshapes of A z and b z are incompatibler   r   c                 ó   — | S r   r   r   s    r   Úpostprocessz make_system.<locals>.postprocessQ   s   € Øˆ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_ÚNr   Úxtyper    r!   r   ÚbCopys               r   Úmake_systemr6      sl  € ðB 
€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¡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   r6   r   r   r   ú<module>r;      sã   ðØ%€à
€÷ 4Ó 3÷ñ ð �˜3ð   	¨#ð  ¨y¸ð  Ø˜3ð Ø )¨#ð Ø/8¸ð à˜3ð à )¨#ð à/8¸ð ð ˜3ð ð !*¨#ð ð 09¸ð ð ˜3ð	 ð !*¨#ð	 ð 09¸ð	 ð
 ˜3ð €òòó`#r   