
    _-Ph                     f    d Z ddlZddlmZ ddlmZ ddlmZm	Z	 ddl
mZmZ  G d de          ZdS )	zTest compatible relaxation.    N)TestCase)
csr_matrix)poissonload_example)binormalizeCRc                        e Zd Zd Zd Zd ZdS )TestCRc           	      0   g | _         t          j                            d           dD ]G}| j                             t          t          j                            ||                               HdD ],}| j                             t          |fd                     -dD ]-}| j                             t          ||fd                     .dD ]C}t          |          }| j                             |d         	                                           Dd S )	Nr   )         )r   r   r      
         csr)format)r   r   r   r   r   r   )knotairfoilbarA)
casesnprandomseedappendr   randr   r   tocsr)selfNnameexs       ]/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pyamg/classical/tests/test_cr.pysetUpzTestCR.setUp
   s    

 		q 	@ 	@AJj1)=)=>>???? * 	; 	;AJgqd5999:::: & 	= 	=AJgq!fU;;;<<<<. 	/ 	/Dd##BJbgmmoo....	/ 	/    c                     | j         D ]d}t          |          }t          d|                    |                              d          z
                                            }|dk     sJ ed S )Ng      ?   )axisg-C6?)r   r   absmultiplysummax)r    r   Calphas       r$   test_binormalizezTestCR.test_binormalize    sp     	  	 AAAAJJqMM--1-55566::<<E4<<<<<	  	 r&   c                 H   | j         d         }t          dd          D ]}| j         |         }t          |ddd          }|                                |j        d         d	z   d
z  k    sJ |                                |j        d         d	z
  d
z  k    sJ t          |ddd          }|                                |j        d         d	z   d
z  k    sJ |                                |j        d         d	z
  d
z  k    sJ t          |ddddg          }|                                |j        d         d	z   d
z  k    sJ |                                |j        d         d	z
  d
z  k    sJ t          |ddddg          }|                                |j        d         d	z   d
z  k    sJ |                                |j        d         d	z
  d
z  k    sJ t          dd          D ]}| j         |         }t          |ddd          }|                                |j        d         d	z   d
z  k    sJ |                                |j        d         d	z
  dz  k    sJ t          |ddd          }|                                |j        d         d	z   d
z  k    sJ |                                |j        d         d	z
  dz  k    sJ t          |ddddg          }|                                |j        d         d	z   d
z  k    sJ |                                |j        d         d	z
  dz  k    sJ t          |ddddg          }|                                |j        d         d	z   d
z  k    sJ |                                |j        d         d	z
  dz  k    sJ d S )N   r   r   
habituatedgffffff?auto)methodthetacrthetacsr   r(   r   
concurrentg333333?g      ?      )r   ranger   r,   shape)r    r   ih_split_autoc_split_autoh_splitc_splits          r$   test_crzTestCR.test_cr&   s%   JqM
 q" 	; 	;A
1Aac&,. . .L##%%,*<Q*?*A1)DDDDD##%%,*<Q*?*A1)DDDDDac&,. . .L##%%,*<Q*?*A1)DDDDD##%%,*<Q*?*A1)DDDDD<"%s- - -G;;==W]1%5a%7$:::::;;==W]1%5a%7$:::::<"%s- - -G;;==W]1%5a%7$:::::;;==W]1%5a%7$:::::: r2 	; 	;A
1Aac&,. . .L##%%,*<Q*?*A1)DDDDD##%%,*<Q*?*A1)DDDDDac&,. . .L##%%,*<Q*?*A1)DDDDD##%%,*<Q*?*A1)DDDDD<"%s- - -G;;==W]1%5a%7$:::::;;==W]1%5a%7$:::::<"%s- - -G;;==W]1%5a%7$:::::;;==W]1%5a%7$::::::)	; 	;r&   N)__name__
__module____qualname__r%   r0   rB    r&   r$   r
   r
   	   sA        / / /,     4; 4; 4; 4; 4;r&   r
   )__doc__numpyr   numpy.testingr   scipy.sparser   pyamg.galleryr   r   pyamg.classical.crr   r   r
   rF   r&   r$   <module>rM      s    ! !     " " " " " " # # # # # # / / / / / / / / . . . . . . . .Q; Q; Q; Q; Q;X Q; Q; Q; Q; Q;r&   