
    _Mh                     |    d dl mZmZmZ d dlmZmZ d dlmZ	 d dlm
Z
mZmZ d dlmZmZmZmZ  G d d          ZdS )	    )arraykrondiag)assert_assert_equal)_spfuncs)
csr_matrix
csc_matrix
bsr_matrix)csr_scale_rowscsr_scale_columnsbsr_scale_rowsbsr_scale_columnsc                        e Zd Zd Zd Zd ZdS )TestSparseFunctionsc           
      *   t          g dg dg dg          }t          |          }t          g d          }t          dd|j        |j        |j        |           t          |                                t          |          |z             t          |          }t          g d          }t          dd|j        |j        |j        |           t          |                                |t          |          z             t          |dd	gdd
gg          }t          |d          }t          g d          }t          ddd	d	|j        |j        |j        |           t          |                                t          |          |z             t          |d          }t          g d          }t          ddd	d	|j        |j        |j        |           t          |                                |t          |          z             t          |g dg dg          }t          |d          }t          g d          }t          ddd	d|j        |j        |j        |           t          |                                t          |          |z             t          |d          }t          g d          }t          ddd	d|j        |j        |j        |           t          |                                |t          |          z             d S )N)   r   r         )r      r      r   )r   r         r   )r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   )	blocksize)r   r   r   r   r   r   )
r   r   r   r   r   r   r      	   
   )r   r   r   )r   r   )r   r   r   r   r   r   r   r   r   r                  )r   r	   r   indptrindicesdatar   toarrayr   r   r   r   r   r   )selfDSvEs        _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/sparse/tests/test_spfuncs.pytest_scale_rows_and_colsz,TestSparseFunctions.test_scale_rows_and_cols   s   ???"??"??$ % %
 qMM'''NNq18AIafQ777QYY[[$q''!),,,qMM+++!Aahqy:::QYY[[!DGG),,, QqE1Q%=!!q5)))---  q1Qqx	!&;;;QYY[[$q''!),,,q5)))((())!Aa!(19QVA>>>QYY[[!DGG),,,GGGGGG$%%q5)))---  q1Qqx	!&;;;QYY[[$q''!),,,q5)))77788!Aa!(19QVA>>>QYY[[!DGG),,,,,    c                    g }|                     ddgddgg           |                     g dg dg dg           |                     dgdgdgg           d |D             }g }|                     dgg           |                     ddgddgg           |                     ddgddgg           |                     g dg dg dg           d |D             }|D ]j}|D ]e}t          ||          }t          j        |          \  }}t	          ||j        d         k               t	          ||j        d         k               fkd S )	Nr   r   r   r   r   r   r   r   r   r   r   c                 ,    g | ]}t          |          S  r   .0xs     r,   
<listcomp>z?TestSparseFunctions.test_estimate_blocksize.<locals>.<listcomp>7       '''Qa'''r.   )r   r   r   c                 ,    g | ]}t          |          S r4   r5   r6   s     r,   r9   z?TestSparseFunctions.test_estimate_blocksize.<locals>.<listcomp>>   r:   r.   )appendr   spfuncsestimate_blocksizer   shape)r'   matsblksABXrcs           r,   test_estimate_blocksizez+TestSparseFunctions.test_estimate_blocksize2   s   aUAa5M"""WWWWWWWWW-...aS!aSM"""''$'''aSEaUAa5M"""aUAa5M"""WWWWWWWWW-...''$''' 	) 	)A ) )1II033!QWQZ(((QWQZ((((	)	) 	)r.   c                 ~   d }g }|                     dgg           |                     dgg           |                     ddgg           |                     ddgg           |                     ddgddgg           |                     g dg dg dg           |                     dgdgdgg           |D ]}}|D ]x}t          ||          }t          |          }t          dd          D ]F}t          dd          D ]3}t	          t          j        |||f           ||||f                     4Gy~t          g dg dg dgddgg          }t          |          }t	          t          j        |d           ||d                     t	          t          j        |d           ||d                     d S )	Nc           	          |\  }}|                                  \  }}t          t          t          ||z  ||z                                S )N)nonzerolensetzip)rB   bsRCIJs         r,   goldz3TestSparseFunctions.test_count_blocks.<locals>.goldH   sB    CAa))++CAas3q!tAqD>>**+++r.   r   r   r0   r1   r2   r   )r   r   )r<   r   r	   ranger   r=   count_blocksr
   )	r'   rS   r@   rB   rC   rD   YrO   rP   s	            r,   test_count_blocksz%TestSparseFunctions.test_count_blocksG   s   	, 	, 	,
 aSEaSEaUGaUGaUAa5M"""WWWWWWWWW-...aS!aSM""" 	W 	WA W W1IIqMMq W WA"1QZZ W W$W%9!aV%D%Ddd1qRSfooVVVVWWW '''''''''*QqE733qMMW)!V44dd1fooFFFW)!V44dd1fooFFFFFr.   N)__name__
__module____qualname__r-   rG   rW   r4   r.   r,   r   r   
   sG        %- %- %-N) ) )*G G G G Gr.   r   N)numpyr   r   r   numpy.testingr   r   scipy.sparser   r=   r	   r
   r   scipy.sparse._sparsetoolsr   r   r   r   r   r4   r.   r,   <module>r_      s    # # # # # # # # # # / / / / / / / / , , , , , , ; ; ; ; ; ; ; ; ; ;J J J J J J J J J J J JWG WG WG WG WG WG WG WG WG WGr.   