
    _-Ph	                         d Z ddlZddlZddlmZ ddlmZmZ ddl	m
Z
  ej        ddd	            G d
 de          ZdS )zTeset blackbox.py solver.    N)TestCase)poissonload_example)solveignorescipyz^internal gelsd)actionmodulemessagec                       e Zd Zd Zd ZdS )TestBlackboxc                 >   g | _         t          j                            d           d}| j                             t          d|z  fd          t          j                            d|z            f           | j                             t          ||fd          t          j                            ||z            f           t          d          d                                         }| j                             |t          j                            |j	        d                   f           t          d	          d         
                    d
          }| j                             |t          j                            |j	        d                   f           d S )Nl   67Q       csr)formatrecirc_flowAr   bar)   r   )	blocksize)casesnprandomseedappendr   randr   tocsrshapetobsr)selfNr   s      Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pyamg/tests/test_blackbox.pysetUpzTestBlackbox.setUp   sE   

	z"""
7AaC6%888")..1:N:NOPPP
7Aq6%888")..1:N:NOPPP'',2244
1binnQWQZ99:;;;$**V*<<
1binnQWQZ99:;;;;;    c           	      &   t           j                            d           | j        D ]\  }}t	          ||d|j        d                   }t           j                            |||z  z
            }t           j                            ||t           j                            |j        d                   z  z
            }||z  dk     sJ | j        d         \  }}t	          ||dd          \  }}|j	        d         j
        j        d	         d
k    sJ |j	        d         j        j        dk    sJ t	          |||d          }t           j                            |||z  z
            }t           j                            ||t           j                            |j        d                   z  z
            }||z  dk     sJ t	          |                                |dd          \  }}|j	        d         j
        j        d	         d	k    sJ |j	        d         j        j        dk    sJ t	          |||t          j        |          ddd          }t           j                            |||z  z
            }t           j                            ||t           j                            |j        d                   z  z
            }||z  dk     sJ | j        d         \  }}t	          ||dd|j        d                   \  }}|j	        d         j        J d S )Nl   $6r Fr   )verbmaxiterg-C6?T)return_solverr'      r   bsr)existing_solverr'   r   g:0yE>i,  )r-   x0tolr(   r'   gHz>r   )r*   r'   r(   )r   r   r   r   r   r   linalgnormr   levelsBr   r   r   
zeros_likeBH)r!   r   bxnorm1norm2mls          r#   test_blackboxzTestBlackbox.test_blackbox   s   
	z"""J 	( 	(DAqa
;;;AINN1qs7++EINN1q
)D)D'D#DEEE5=4''''' z"~11Du===By|~#A&!++++y|~$---- !Q777	q1Q3w''	q1RY^^AGAJ%@%@#@@AAu}t#### 		1DuEEEBy|~#A&!++++y|~$---- !Qr}Q/?/?TE+ + +	q1Q3w''	q1RY^^AGAJ%@%@#@@AAu}t#### z!}11Du !
, , ,By|*****r%   N)__name__
__module____qualname__r$   r;    r%   r#   r   r      s2        < < <%+ %+ %+ %+ %+r%   r   )__doc__warningsnumpyr   numpy.testingr   pyamg.galleryr   r   pyamg.blackboxr   filterwarningsr   r?   r%   r#   <module>rG      s           " " " " " " / / / / / / / /              xAR S S S S4+ 4+ 4+ 4+ 4+8 4+ 4+ 4+ 4+ 4+r%   