
    _-Ph                     t    d Z ddlmZ ddlZddlmc mZ ddl	m
Z
mZ ddlmZ ddlmZ  G d de
          ZdS )	zTest scipy methods.    )partialN)TestCaseassert_array_almost_equal)	gmres_mgs)gmres_householderc                       e Zd Zd Zd ZdS )	TestScipyc                 N   g | _         t          j                            d           d}t          j                            ||          }t          j                            |          }t          j                            |          }| j                             |||dd           d}t          j                            ||          }t          j                            |          }t          j                            |          }| j                             |||dd           d S )Ni, 
   gؗҜ<)Abx0tol   )casesnprandomseedrandappend)selfnr   r   r   s        ]/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pyamg/krylov/tests/test_scipy.pysetUpzTestScipy.setUp   s    

	wINN1a  INN1Y^^A
EBBCCCINN1a  INN1Y^^A
EBBCCCCC    c                    fd}| j         D ]}|d         }|d         }|d         }|d         }|}t          |dd          }g }	t          |||fd	|	i|}
g }t          |||fd	|i|}
g t          j                            |          }t          ||
          }d|d<   ||d<   |d= t          j	        |||f|dd|}
t          |	dd                     t          |dd                     d S )Nc                 8                         | |z             d S )N)r   )xnormbscipyress     r   cbz TestScipy.test_gmres.<locals>.cb   s    OOAeG$$$$$r   r   r   r   r         )r   restartmaxiter	residuals)r   r   atolrtolpr_norm)callbackcallback_type   )r   dictr   r   r   linalgnormr   slagmresr   )r   r!   caser   r   r   r   r(   kwargsmgsres_hhresr   r*   r    s                 @r   
test_gmreszTestScipy.test_gmres   sW   	% 	% 	% 	% 	% J 	; 	;DS	AS	AdBu+CDc1a888FF!Q??f???AE!!QFFeFvFFAHINN1%%Er///H F6N!F6Nu	!QYXYYYRXYYA%fQRRj(;;;%eABBi::::7	; 	;r   N)__name__
__module____qualname__r   r7    r   r   r	   r	      s5        D D D ; ; ; ; ;r   r	   )__doc__	functoolsr   numpyr   scipy.sparse.linalgsparser.   r0   numpy.testingr   r   pyamg.krylov._gmres_mgsr   pyamg.krylov._gmres_householderr   r	   r;   r   r   <module>rD      s                ! ! ! ! ! ! ! ! ! = = = = = = = = - - - - - - = = = = = =0; 0; 0; 0; 0; 0; 0; 0; 0; 0;r   