§
    OŠtjñZ  ã                   óæ   — d dl mZmZmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZmZmZmZmZmZmZmZmZ d dlmZ d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(dS )é    )ÚFloatÚIÚRational)ÚS)ÚSymbolÚsymbols)ÚAbs)ÚPurePoly)	ÚMatrixÚMutableSparseMatrixÚImmutableSparseMatrixÚSparseMatrixÚeyeÚonesÚzerosÚ
ShapeErrorÚNonSquareMatrixError)Úraisesc                  ó0  — t          dddddgddggi¦  «        } | t          ddgddgg¦  «        k    sJ ‚t          dddddggi¦  «        } | t          ddgddgg¦  «        k    sJ ‚t          dddddgi¦  «        } | t          ddgddgg¦  «        k    sJ ‚d S )Né   ©r   r   é   é   é   r   ©r   )Úas    ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/matrices/tests/test_sparse.pyÚtest_sparse_creationr      sÓ   € Ý�Q˜˜F a¨ V¨a°¨VÐ$4Ð5Ñ6Ô6€AØ•˜q !˜f q¨! fÐ-Ñ.Ô.Ò.Ð.Ð.Ð.Ý�Q˜˜F a¨ V HÐ-Ñ.Ô.€AØ•˜q !˜f q¨! fÐ-Ñ.Ô.Ò.Ð.Ð.Ð.Ý�Q˜˜F Q¨ FÐ+Ñ,Ô,€AØ•˜q !˜f q¨! fÐ-Ñ.Ô.Ò.Ð.Ð.Ð.Ð.Ð.ó    c                  óH6  ‡!— d„ } d„ }t          t          d„ ¦  «         t          d¦  «        }t          |¦  «        |k    sJ ‚ddlm} t          g ¦  «        } |ddg¦  «        }|                     |¦  «        |k    sJ ‚|                     |¦  «        |k    sJ ‚t          |                     |¦  «        ¦  «        t          |¦  «        k    sJ ‚t          |                     |¦  «        ¦  «        t          |¦  «        k    sJ ‚d	„ t          d
¦  «        D ¦   «         }t          j
        |Ž t          ddg ¦  «        k    sJ ‚d„ t          d
¦  «        D ¦   «         }t          j        |Ž t          ddg ¦  «        k    sJ ‚t          d¦  «        }d
|d<   |d         d
k    sJ ‚d|d<   d|d<   |t          d¦  «        k    sJ ‚d|d<   |t          d¦  «        k    sJ ‚d|d<   |t          d¦  «        k    sJ ‚|                     ¦   «         dddœk    sJ ‚t          d¦  «        }t          d¦  «        }||z  }|d         dk    sJ ‚|d         dk    sJ ‚|d         dk    sJ ‚|d         dk    sJ ‚|d         dk    sJ ‚|d         dk    sJ ‚	 t          d¦  «         |d         dk    sJ ‚|d         dk    sJ ‚|d         dk    sJ ‚|d         dk    sJ ‚|d         dk    sJ ‚|d         dk    sJ ‚n# t          $ r Y nw xY wt!          d¦  «        }|t!          d¦  «        z  }t#          |t          ¦  «        sJ ‚|d         |k    sJ ‚|d         d|z  k    sJ ‚|d         d|z  k    sJ ‚|d         dk    sJ ‚d|z  }t#          |t          ¦  «        sJ ‚|d         dk    sJ ‚|d         dk    sJ ‚|d         d k    sJ ‚|d         dk    sJ ‚t          ddgd
dgg¦  «        }|dz  d d …         g d!¢k    sJ ‚t          g d"¢g d#¢g d$¢g¦  «        }|dz  d d …         g d%¢k    sJ ‚t!          d¦  «        }t          |dgddgg¦  «        }|}	|	j        |	j        k    sJ ‚|	j        dk    sJ ‚|	d d …         |dddgk    sJ ‚t          dd|dddg¦  «        }|}	|	j        |	j        k    sJ ‚|	j        dk    sJ ‚|	d d …         |dddgk    sJ ‚||k    sJ ‚ | d¦  «        }
 |
j        d¦  «         |
t          g d&¢g d'¢g¦  «        k    sJ ‚ | d¦  «        }
 |
j        d¦  «         |
t          ddgddgddgg¦  «        k    sJ ‚t          j        d¦  «        }
d|
d<    |
j        dd¦  «         |
t          g d(¢g d&¢g d)¢g¦  «        k    sJ ‚ |
j        dd¦  «         |
t          g d&¢g d(¢g d)¢g¦  «        k    sJ ‚t          ddddg¦  «        }|                     ¦   «         }|                     ¦   «         }|d         dk    sJ ‚|                     d¦  «         |t          ddg ¦  «        k    sJ ‚|                     d¦  «         |t          dddg¦  «        k    sJ ‚t          g d*¢ddgdgg¦  «        t          g d*¢g d+¢g d&¢g¦  «        k    sJ ‚t          d
d
d | d¦  «        i¦  «        t          g d,¢g d-¢g d.¢g d,¢g¦  «        k    sJ ‚t          t4          d/„ ¦  «         t          ddddg¦  «                             ¦   «         ddggk    sJ ‚t          dddddgg¦  «                             ¦   «         ddgddggk    sJ ‚t          t4          d0„ ¦  «         t          t4          d1„ ¦  «         t          d2g¦  «                             t:          ¦  «        sJ ‚t          d ddi¦  «        j        dk    sJ ‚t          d ddi¦  «        j        d3k    sJ ‚t          d d ddi¦  «        j        d3k    sJ ‚t          t4          d4„ ¦  «         t          t4          d5„ ¦  «         t          t4          d6„ ¦  «         t!          d¦  «        t!          d7¦  «        }}t          dddg¦  «                             ¦   «         dk    sJ ‚t          dgg¦  «                             ¦   «         dk    sJ ‚t          d8¦  «                             ¦   «         d9k    sJ ‚t          |df|d|z  ff¦  «                             ¦   «         d|z  |z  |z
  k    sJ ‚t          d:¦  «                             ¦   «         dk    sJ ‚t          d;¦  «                             ¦   «         d<k    sJ ‚t          d=¦  «                             ¦   «         dk    sJ ‚t          d>¦  «                             ¦   «         d?k    sJ ‚t          d@¦  «                             ¦   «         dAk    sJ ‚t          dB¦  «                             ¦   «         dCk    sJ ‚t          dD¦  «                             ¦   «         dEk    sJ ‚t          dF¦  «                             ¦   «         dk    sJ ‚t          dG¦  «                             ¦   «         dHk    sJ ‚t          dI¦  «                             ¦   «         dJk    sJ ‚ | d
¦  «        }|d d…d d…f          | d¦  «        k    sJ ‚|dd
…dd…f          |d¦  «        k    sJ ‚t          dddK„ ¦  «        }|dd d …f         t          dddL¦  «        k    sJ ‚|dd…df         t          dddM¦  «        k    sJ ‚t          g dN¢g dO¢g dP¢g dQ¢g¦  «        }|d d …d9f         t          d
dg dR¢¦  «        k    sJ ‚|dSd …d d …f         t          g dP¢g dQ¢g¦  «        k    sJ ‚t          ddgdd
gg¦  «        dgdgf         t          d
gg¦  «        k    sJ ‚ |d
¦  «        }	 | d¦  «        |	dd
…dd
…f<   |	t          g dT¢¦  «        k    sJ ‚tA          |	                     ¦   «         ¦  «        dk    sJ ‚ | d¦  «        |	d d…d d…f<   |	 | d
¦  «        k    sJ ‚t          d
ddU¦  «        |	d d …df<   |	t          g dV¢¦  «        k    sJ ‚ |d
¦  «        |	d d …d d …f<   |	 |d
¦  «        k    sJ ‚d=|	d d …d d …f<   |	t          d=¦  «        k    sJ ‚ddg|	d d…df<   |	t          dW¦  «        k    sJ ‚ | d¦  «        }| !                    ddX¦  «        t          ddXdY¦  «        k    sJ ‚t          dd
dZ„ ¦  «        }| !                    d
d¦  «        t          g d[¢¦  «        k    sJ ‚| !                    dd¦  «        t          d\d]g¦  «        k    sJ ‚ | d¦  «        }| "                    d^„ ¦  «         | d¦  «        dz  k    sJ ‚| "                    d_„ ¦  «         |d¦  «        k    sJ ‚tG          t          |df|d|z  ff¦  «        ¦  «        t          tI          |¦  «        dftI          |¦  «        dtI          |¦  «        z  ff¦  «        k    sJ ‚t          g d`¢g da¢g db¢g dc¢g¦  «        }| %                    ¦   «         \  }}}|j&        sJ ‚|j'        sJ ‚||z   (                    |dd¦  «        |z
   |d
¦  «        k    sJ ‚t          g de¢g df¢g dg¢g dh¢g¦  «        }| %                    ¦   «         \  }}}|j&        sJ ‚|j'        sJ ‚||z   (                    |dd¦  «        |z
   |d
¦  «        k    sJ ‚t!          d¦  «        t!          d7¦  «        t!          di¦  «        }}}t          d|dfd|df|d|ff¦  «        Š!‰! %                    ¦   «         \  }}}|j&        sJ ‚|j'        sJ ‚||z   (                    |dd¦  «        ‰!z
   |d¦  «        k    sJ ‚t          g dj¢g dk¢g dl¢g¦  «        }t          ddg dm¢¦  «        }||z  }| )                    |¦  «        }||k    sJ ‚t          g dn¢g do¢g dp¢g¦  «        }t          ddg dq¢¦  «        }||z  }| )                    |¦  «        }||k    sJ ‚ | d
¦  «        }| *                    ¦   «          | d
¦  «        k    sJ ‚| *                    dr¬s¦  «         | d
¦  «        k    sJ ‚| *                    dt¬s¦  «         | d
¦  «        k    sJ ‚t          g dj¢g dk¢g du¢g¦  «        }t          t          |¦  «         *                    ¦   «         ¦  «        }||z   | d¦  «        k    sJ ‚| *                    dr¬s¦  «        |k    sJ ‚| *                    dt¬s¦  «        |k    sJ ‚t          g dj¢g dk¢g dv¢g¦  «        }t          t          |¦  «         *                    ¦   «         ¦  «        }||z   | d¦  «        k    sJ ‚| *                    dr¬s¦  «        |k    sJ ‚| *                    dt¬s¦  «        |k    sJ ‚t          ddg d*¢¦  «        }t          ddg dw¢¦  «        }| +                    |¦  «        t          ddg dx¢¦  «        k    sJ ‚| ,                    d¦  «        dz  dyk    sJ ‚t          ddtZ          z   fdzf¦  «        }|j.        t          ddtZ          z
  gdd
gg¦  «        k    sJ ‚|t          ddg d{¢¦  «        z  |k    sJ ‚|t          ddg d|¢¦  «        z   t          ddtZ          z   gd
dgg¦  «        k    sJ ‚|                      | d¦  «        ¦  «        t          ddtZ          z   gdd
gddgddgg¦  «        k    sJ ‚| /                    d | d¦  «        ¦  «        t          ddtZ          z   gdd
gddgddgg¦  «        k    sJ ‚| 0                    dt          j1        dd¦  «        ¦  «        t          ddtZ          z   dgg d}¢g¦  «        k    sJ ‚| 2                    d~¬¦  «        rJ ‚t          j        d¦  «        dz  Š!d9‰!d<   ‰! 3                    dˆ!fd€„¦  «         ‰!t          g d�¢g d‚¢g dƒ¢g¦  «        k    sJ ‚t          j        d¦  «        Š!‰! 4                    d¦  «         ‰!t          g d„¢g d„¢g d„¢g¦  «        k    sJ ‚ | d¦  «         | d¦  «         5                    ¦   «         k    sJ ‚t          g d…¢g d†¢g d‡¢g¦  «        }| 5                    ¦   «         t          g dˆ¢g d‰¢g dŠ¢g¦  «        k    sJ ‚t          g d*¢g d‹¢g dŒ¢g¦  «        }| 5                    ¦   «         t          g d�¢g dŽ¢g d�¢g¦  «        k    sJ ‚t!          d¦  «        }t!          d7¦  «        }t          dd|dz  |z  d|dz  z  ||z  z   g¦  «        }||g}| 6                    |¦  «        t          d|z  |z  |dz  g|d
|z  |z   gg¦  «        k    sJ ‚t          dd||dz  |dz  z  g¦  «        }| 6                    |¦  «        t          ddgd|z  |dz  z  |dz  dz  |dz  z  gg¦  «        k    sJ ‚t          ddgddgg¦  «        }| 7                    ¦   «         \  }}
tp          }|t          d |d9d¦  «        z   |d¦  «        dz   |d¦  «        dz   |d9d¦  «        z  z  gdd |d9d¦  «        z  z   |d¦  «         dz   |d¦  «        dz   |d9d¦  «        z  z  gg¦  «        k    sJ ‚|
t          d |dd¦  «        z  d�d |d9d¦  «        z  z  gd |d¦  «        dz   |dd¦  «        z  gg¦  «        k    sJ ‚||
z  |k    sJ ‚|j9        |z   | d¦  «        k    sJ ‚tp          }t          g d�¢g d‘¢g¦  «        Š!‰! :                    ¦   «         \  }}|t          dd |d¦  «         d’z   |d“¦  «        d’z  gdd |d�¦  «        d’z   |d”¦  «        d’z  gg¦  «        k    sJ ‚t          g d•¢g d–¢g d—¢g d˜¢g¦  «        Š!‰! :                    ¦   «         \  }}|t          g d™¢g dš¢dddddd |d¦  «        dz  gg d›¢g¦  «        k    sJ ‚‰! ;                    ¦   «         }|d         t          g dœ¢¦  «        k    sJ ‚|d         t          g d�¢¦  «        k    sJ ‚|d         t          g dž¢¦  «        k    sJ ‚|d         t          ddddd |d9¦  «        dz  dg¦  «        k    sJ ‚t!          d¦  «        }t!          d7¦  «        } | d¦  «        }| <                    |¦  «        t{          |dz
  dz  ¦  «        k    sJ ‚| <                    |¦  «        t{          |dz
  dz  ¦  «        k    sJ ‚t          g dŸ¢¦  «        Š!‰! >                    ¦   «         } t          |  @                    ¦   «         ¦  «        g d ¢k    sJ ‚tp          }t          g d&¢g d(¢g d'¢g¦  «        Š!‰! A                    ¦   «         ddt          g d&¢¦  «        t          g d(¢¦  «        t          g d'¢¦  «        gfgk    sJ ‚t          g d¡¢g d¢¢g d'¢g¦  «        Š!‰! A                    ¦   «         ddt           |d9¦  «        dz   |d¦  «        dz  dg¦  «        gfddt          g d(¢¦  «        gfddt          g d£¢¦  «        gfgk    sJ ‚‰! 1                    dd¦  «        t          ddi ¦  «        k    sJ ‚t          dddd¤dd¥d¤d¦d¥d¤dd§œ	¦  «        }| B                    ¦   «         g d¨¢k    sJ ‚| C                    ¦   «         g d©¢k    sJ ‚t          j        d¦  «         D                    ¦   «         dk    sJ ‚d S )ªNc                 ó*   — t          j        | ¦  «        S ©N)r   r   ©Úns    r   Ú
sparse_eyez&test_sparse_matrix.<locals>.sparse_eye   s   € ÝÔ Ñ"Ô"Ð"r   c                 ó*   — t          j        | ¦  «        S r"   ©r   r   r#   s    r   Úsparse_zerosz(test_sparse_matrix.<locals>.sparse_zeros   s   € ÝÔ! !Ñ$Ô$Ð$r   c                  ó"   — t          dd¦  «        S ©Nr   r   r   © r   r   ú<lambda>z$test_sparse_matrix.<locals>.<lambda>   s   € �l¨1¨aÑ0Ô0€ r   ©©r   r   ©r   r   r   )ÚMutableDenseMatrixr   r   c                 ó8   — g | ]}t          j        d |¦  «        ‘ŒS ©r   r'   ©Ú.0r$   s     r   ú
<listcomp>z&test_sparse_matrix.<locals>.<listcomp>.   ó%   € ÐBÐBÐB°A•|Ô)¨!¨QÑ/Ô/ÐBÐBÐBr   r   é   c                 ó8   — g | ]}t          j        |d ¦  «        ‘ŒS r2   r'   r3   s     r   r5   z&test_sparse_matrix.<locals>.<listcomp>0   r6   r   r   ©r   r   r   )©r   r   r/   é   r.   )r:   )r;   r   )r:   )r;   r   )r   r.   )©r   r   )r   r   )r   r7   )r<   )r   r   é   r/   r:   é   )r   r   z	c = a @ bÚxé
   é   )iü  i¡  i,*  i�7  )r   r   r   )r   r   r   )r7   é   r   )	i"  i  éû   iÀ  i¸  ip  i¾  iº  i±  )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   c                  ó(   — t          ddddi¦  «        S )Nr   r9   r   r+   r   r   r,   z$test_sparse_matrix.<locals>.<lambda>¼   s   € �|¨A¨q°6¸1°+Ñ>Ô>€ r   c                  ó&   — t          dddg¦  «        S )Nr   r   r   r+   r   r   r,   z$test_sparse_matrix.<locals>.<lambda>¿   s   € �|¨A¨q°1°#Ñ6Ô6€ r   c                  ó*   — t          ddddgg¦  «        S r*   r   r+   r   r   r,   z$test_sparse_matrix.<locals>.<lambda>À   s   € �|¨A¨q°A°q°6°(Ñ;Ô;€ r   gš™™™™™¹?r<   c                  ó*   — t          d dddgg¦  «        S r*   r   r+   r   r   r,   z$test_sparse_matrix.<locals>.<lambda>Æ   s   € �|¨D°!°q¸!°f°XÑ>Ô>€ r   c                  ó*   — t          dd ddgg¦  «        S r*   r   r+   r   r   r,   z$test_sparse_matrix.<locals>.<lambda>Ç   s   € �|¨A¨t°q¸!°f°XÑ>Ô>€ r   c                  óD   — t          ddt          d¦  «        ddœ¦  «        S )Nr   r   )r   r9   )r   r   r+   r   r   r,   z$test_sparse_matrix.<locals>.<lambda>È   s    € �|¨A¨q½4À¹7¼7ÈAÐ2NÐ2NÑOÔO€ r   Úy))éýÿÿÿr   )é   éûÿÿÿéÿÿÿÿ)©r   r   r   rF   )r   r   r7   ))r   éþÿÿÿr   r;   )rV   r   rV   r   ©r   rV   r;   r   ©r;   r   r   r   ißþÿÿ)©r   r   r   r   )r;   r7   r=   rR   ©é	   r@   é   rB   ©é   é   rA   é   )©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   i  ))r   r   r   r   rB   )r   r   r   r   r   )r   r   r   rT   r   )r   r   rT   r   rR   )r   r   r   r   r7   iÉÿÿÿ))rS   r   r   r   r;   )r   éüÿÿÿr   r   r;   )r   r   rQ   r   r;   )r   r   r   rV   r;   )r   r   r   r   rT   i�-  ))r   r   r   r   )rV   r   r   r   rW   rX   é<   )©r   r   r   r   )r;   r   r   r   )r[   r@   r\   r   r]   )ra   rb   rc   rd   )r   r   r   r   r   éó   ))r   r=   rT   r   r   )r   r   r   r   r   )rV   r   r=   r   r   )rQ   rV   r   r;   r   )r   r   r   r   r   é{   c                 ó   — | |z   S r"   r+   ©ÚiÚjs     r   r,   z$test_sparse_matrix.<locals>.<lambda>  ó
   € ¨¨Q©€ r   ©r   r   r   )r   r   )r   r   r   r   )r   r;   r7   r=   )rR   r[   r@   r\   )rB   r^   r_   rA   )r   r=   r\   rA   rV   )rH   rH   rI   )r   r   r   r   rY   )rg   )r   r   r   r   )r   r   r   r   )r   r   r   r   ))r   r   r   r   )r   r7   r=   rR   rZ   r]   r[   )	r   r   r   r   r   r   r   r   r   c                 ó   — | |z   S r"   r+   rk   s     r   r,   z$test_sparse_matrix.<locals>.<lambda>:  rn   r   )ro   )r   r   r   )r   r   r   ©r   r   r;   )r   r   r   r   r   r   )r   r   r   r   r   r;   c                 ó   — d| z  S )Nr   r+   ©r?   s    r   r,   z$test_sparse_matrix.<locals>.<lambda>B  s
   €  ! A¡#€ r   c                 ó   — dS ©Nr   r+   rs   s    r   r,   z$test_sparse_matrix.<locals>.<lambda>C  s   €  !€ r   )r   r   r;   r   )r   r   r=   r   )rR   r   r   r   )rV   r7   r   r   Úbackward)r7   rV   r=   r   )r   r   r7   r=   )r   rV   r=   r   )i÷ÿÿÿr   r7   r   Úz)r   r   r;   )r   r7   r   )rR   r   r7   )r   r=   r;   )r   rT   r   )r;   r@   r=   )rR   r   r   )rT   r   r;   ÚCH©ÚmethodÚLDL)r=   r   r7   )r;   r   r7   rq   )rV   r   rV   r_   ©r   r   )r   r   r   r   )r   r   r   r   )r   r   r   F)Úsimplifyc                 ó$   •— | d‰|df         z  z   S )Nr   r   r+   )Úvrl   ÚMs     €r   r,   z$test_sparse_matrix.<locals>.<lambda>¸  s   ø€ ˜Q  1 Q¨ T¤7¡™]€ r   )r   r   r   )rT   r   r   ©r   r   r   )r   r   r   )r   r   r   )r   r7   r   )r   r   r7   )é   éúÿÿÿrƒ   )éôÿÿÿr   r   )rQ   r   r   )r   r;   r7   )r=   rR   r[   )rQ   r7   rQ   )r7   r„   r7   rR   )r;   r=   r   r   )r   r7   r   rT   é   r^   rƒ   )r   r   r   r   r7   r   r   )rV   rƒ   r   rV   iøÿÿÿr   r   )r   r[   r   r   r7   r7   r   )rT   rQ   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   )rQ   r   r   r   r   r   r   )r   r   r   r   r   r   r   )rV   r   r   rV   r   r   r   ))r   r   rT   ©r   r   r   )rT   r   r   )rT   r   r   )r;   r   r   )r   r   r   r†   rB   r`   é   )	r   )r   r[   )r   r   )r   r=   )r   r[   )r   r   )r;   r=   )r7   r   )r[   r=   )	©r   r   r>   ©r   r[   rB   ©r   r   r>   ©r   r=   r`   ©r   r[   rB   ©r   r   r‡   ©r;   r=   r`   ©r7   r   rB   ©r[   r=   r>   )	rˆ   r�   r�   rŠ   r‹   rŽ   r�   r‰   rŒ   )Er   Ú	TypeErrorr   Úsympy.matricesr0   r   Úrow_joinÚcol_joinÚtypeÚrangeÚhstackr   ÚvstackÚtodokÚevalÚSyntaxErrorr   Ú
isinstanceÚcolsÚrowsÚrow_delÚcol_delr   Úcol_swapÚrow_swapÚcopyÚ
ValueErrorÚtolistÚhasr   ÚshapeÚdetÚlenÚreshapeÚ	applyfuncÚabsr	   ÚLUdecompositionÚis_lowerÚis_upperÚpermute_rowsÚLUsolveÚinvÚcrossÚnormr   ÚCÚ
row_insertÚ
col_insertr   Úis_symmetricÚcol_opÚfillÚcofactor_matrixÚjacobianÚQRdecompositionr   ÚTÚrrefÚ	nullspaceÚcharpolyr
   Ú	eigenvalsÚsortedÚkeysÚ
eigenvectsÚrow_listÚcol_listÚnnz)"r%   r(   r   r0   ÚbÚsparse_matricesÚcr?   ÚAÚmr   rP   Úm0Úm1Úm2ÚtestmatÚLÚUÚprw   ÚsolnÚAinvÚv1Úv2ÚtestÚsymsÚQÚRÚoutÚtmpÚbasisÚsparse_eye3Úvalsr€   s"                                    @r   Útest_sparse_matrixrâ      sd"  ø€ ð#ð #ð #ð%ð %ð %õ �9Ð0Ð0Ñ1Ô1Ð1åð ñ 	ô 	€Aõ ˜‰?Œ?˜aÒÐÐÐà1Ð1Ð1Ð1Ð1Ð1Ý˜BÑÔ€AØÐ˜A˜q˜6Ñ"Ô"€AØ�:Š:�a‰=Œ=˜AÒÐÐÐØ�:Š:�a‰=Œ=˜AÒÐÐÐÝ�—
’
˜1‘”ÑÔ¥$ q¡'¤'Ò)Ð)Ð)Ð)Ý�—
’
˜1‘”ÑÔ¥$ q¡'¤'Ò)Ð)Ð)Ð)ð CÐB½¸q¹¼ÐBÑBÔB€OÝÔ Ð0µF¸1¸aÀÑ4DÔ4DÒDÐDÐDÐDØBÐB½¸q¹¼ÐBÑBÔB€OÝÔ Ð0µF¸1¸aÀÑ4DÔ4DÒDÐDÐDÐDõ 	ð ñ 	ô 	€Að
 €A€a�DØˆTŒ7�aŠ<ˆ<ˆ<ˆ<Ø€A€a�Dà€A€d�GØ•ð ñ ô ò ð ð ð ð €A€d�GØ•ð ñ ô ò ð ð ð ð €A€d�GØ•ð ñ ô ò ð ð ð ð �7Š7‰9Œ9 ¨AÐ.Ð.Ò.Ð.Ð.Ð.õ 	ð ñ 	ô 	€Aõ 	ð ñ 	ô 	€Að
 	
ˆ!‰€AØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�bŠ=ˆ=ˆ=ˆ=ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ð
Ýˆ[ÑÔÐð �Œw˜!Š|ˆ|ˆ|ˆ|Ø�Œw˜!Š|ˆ|ˆ|ˆ|Ø�Œw˜!Š|ˆ|ˆ|ˆ|Ø�Œw˜!Š|ˆ|ˆ|ˆ|Ø�Œw˜"Š}ˆ}ˆ}ˆ}Ø�Œw˜!Š|ˆ|ˆ|ˆ|ˆ|øõ ð ð ð Øˆðøøøõ 	ˆs‰Œ€Aà	�F�3‰KŒK‰€AÝ�a�Ñ&Ô&Ð&Ð&Ð&ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�a˜‘cŠ>ˆ>ˆ>ˆ>ØˆTŒ7�a˜‘cŠ>ˆ>ˆ>ˆ>ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<à	ˆA‰€AÝ�a�Ñ&Ô&Ð&Ð&Ð&ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�cŠ>ˆ>ˆ>ˆ>ØˆTŒ7�cŠ>ˆ>ˆ>ˆ>ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<õ 	�q˜!�f˜q !˜fÐ%Ñ&Ô&€AØˆq‰D�!�!�!Œ9Ð2Ð2Ð2Ò2Ð2Ð2Ð2Ý�i�i�i   ¨J¨J¨JÐ7Ñ8Ô8€AØˆq‰D�!�!�!Œ9ÐEÐEÐEÒEÐEÐEÐEõ 	ˆs‰Œ€AÝ�q˜!�f˜q !˜fÐ%Ñ&Ô&€AØ	€AØŒ6�Q”VÒÐÐÐØŒ6�QŠ;ˆ;ˆ;ˆ;ØˆQˆQˆQŒ4�A�q˜!˜Q�<ÒÐÐÐÝ�Q˜˜A˜q ! Q˜<Ñ(Ô(€AØ	€AØŒ6�Q”VÒÐÐÐØŒ6�QŠ;ˆ;ˆ;ˆ;ØˆQˆQˆQŒ4�A�q˜!˜Q�<ÒÐÐÐà�Š6ˆ6ˆ6ˆ6Øˆ
�1‰Œ€AØ€A„Iˆa�L„L€LØ•Ø&˜Y˜YØ€I€Iðñ ô ò ð ð ð ð 	ˆ
�1‰Œ€AØ€A„Iˆa�L„L€LØ•Ø ˜VØˆ€FØˆ€Fðñ ô ò ð ð ð õ 	Ô˜ÑÔ€AØ€A€d�GØ€A„Jˆq�!ÑÔÐØ•Øˆ	ˆ	Øˆ	ˆ	Øˆ	ˆ	ðñ ô ò ð ð ð ð €A„Jˆq�!ÑÔÐØ•Øˆ	ˆ	Øˆ	ˆ	Øˆ	ˆ	ðñ ô ò ð ð ð õ
 	�Q˜˜A˜q˜6Ñ"Ô"€AØ	�Š‰Œ€AØ	�Š‰Œ€AØˆQŒ4�1Š9ˆ9ˆ9ˆ9Ø‡I‚Iˆa�L„L€LØ•˜Q  2Ñ&Ô&Ò&Ð&Ð&Ð&Ø‡I‚Iˆa�L„L€LØ•˜Q  A 3Ñ'Ô'Ò'Ð'Ð'Ð'å˜˜˜ Q¨ F¨Q¨CÐ0Ñ1Ô1µVØˆ	ˆ	Øˆ	ˆ	Øˆ	ˆ	ð=ñ 6ô 6ò ð ð ð õ ˜˜1˜v z z°!¡}¤}Ð5Ñ6Ô6½&ØˆˆØˆˆØˆˆØˆˆð	Bñ ;ô ;ò ð ð ð õ
 �:Ð>Ð>Ñ?Ô?Ð?Ý˜˜1˜q !˜fÑ%Ô%×,Ò,Ñ.Ô.°A°q°6°(Ò:Ð:Ð:Ð:Ý˜˜1˜q 1 a &˜kÑ*Ô*×1Ò1Ñ3Ô3¸¸A¸ÀÀAÀÐ7GÒGÐGÐGÐGÝ
�:Ð6Ð6Ñ7Ô7Ð7Ý
�:Ð;Ð;Ñ<Ô<Ð<Ý˜˜ÑÔ×!Ò!¥%Ñ(Ô(Ð(Ð(Ð(å˜˜v q˜kÑ*Ô*Ô0°FÒ:Ð:Ð:Ð:Ý˜˜v q˜kÑ*Ô*Ô0°FÒ:Ð:Ð:Ð:Ý˜˜d V¨Q KÑ0Ô0Ô6¸&Ò@Ð@Ð@Ð@Ý
�:Ð>Ð>Ñ?Ô?Ð?Ý
�:Ð>Ð>Ñ?Ô?Ð?Ý
�:ÐOÐOÑPÔPÐPõ �#‰;Œ;�˜s™œ€q€Aå˜˜1˜q˜cÑ"Ô"×&Ò&Ñ(Ô(¨AÒ-Ð-Ð-Ð-å˜!˜˜ÑÔ×"Ò"Ñ$Ô$¨Ò)Ð)Ð)Ð)åÐ*Ñ+Ô+×/Ò/Ñ1Ô1°RÒ7Ð7Ð7Ð7å˜!˜Q˜ ! Q q¡S Ð*Ñ+Ô+×/Ò/Ñ1Ô1°Q°q±S¸±U¸Q±YÒ>Ð>Ð>Ð>åð &ñ 'ô 'ç'*¢s¡u¤u°ò2ð 2ð 2ð 2õ ð ,ñ -ô -÷ .1ªS©U¬U°dò;ð ;ð ;ð ;õ
 ð -ñ .ô .÷ /2ªc©e¬e°qò9ð 9ð 9ð 9õ
 ð ,ñ -ô -÷ .1ªS©U¬U°cò	:ð :ð :ð :õ ð /ñ 0ô 0÷ 14²±´¸ò	=ð =ð =ð =õ ð 1ñ 2ô 2÷ 36²#±%´%¸5ò	Að Að Að Aõ ð ,ñ -ô -÷ .1ªS©U¬U°bò9ð 9ð 9ð 9õ
 ð -ñ .ô .÷ /2ªc©e¬e°qò9ð 9ð 9ð 9õ
 ð ,ñ -ô -÷ .1ªS©U¬U°cò	:ð :ð :ð :õ ð /ñ 0ô 0÷ 14²±´¸ò	=ð =ð =ð =ð 
ˆ�A‰Œ€BØˆbˆqˆb�"�1�"ˆfŒ:˜˜ A™œÒ&Ð&Ð&Ð&Øˆa�ˆc�1�Q�3ˆhŒ<˜<˜<¨™?œ?Ò*Ð*Ð*Ð*å	�a˜Ð.Ð.Ñ	/Ô	/€BØˆa���ˆdŒ8•| A q¨)Ñ4Ô4Ò4Ð4Ð4Ð4Øˆa�ˆc�1ˆfŒ:� a¨¨FÑ3Ô3Ò3Ð3Ð3Ð3å	Ø	ˆˆ�|�|�| ^ ^ ^Ð5EÐ5EÐ5EÐFñ
Hô 
H€Bàˆaˆaˆa�ˆeŒ9� Q¨¨>¨>¨>Ñ:Ô:Ò:Ð:Ð:Ð:Øˆbˆcˆc�1�1�1ˆfŒ:� ~ ~ ~Ð7GÐ7GÐ7GÐ&HÑIÔIÒIÐIÐIÐIå˜!˜Q˜ ! Q Ð(Ñ)Ô)¨1¨#°¨s¨(Ô3µvÀ¸s¸e±}´}ÒDÐDÐDÐDð 	ˆ�Q‰Œ€AØ�*˜Q‘-”-€A€aˆ€cˆ1ˆQˆ3€h�KØ•ð ,ð ,ð ,ñ -ô -ò -ð -ð -ð -õ ˆq�wŠw‰yŒy‰>Œ>˜QÒÐÐÐØ�
˜1‘”€A€b€q€bˆ"ˆ1ˆ"€f�IØ�
�
˜1‘”ÒÐÐÐÝ˜1˜a Ñ.Ô.€A€a€a€aˆ€d�GØ•ð ,ð ,ð ,ñ -ô -ò -ð -ð -ð -ð ˆl˜1‰oŒo€A€a€a€aˆˆˆ€d�GØ��˜Q‘”ÒÐÐÐØM€A€a€a€aˆˆˆ€d�GØ•ð 0ñ 1ô 1ò 1ð 1ð 1ð 1ð �1ˆv€A€b€q€bˆ!€e�HØ•ð 0ñ 1ô 1ò 1ð 1ð 1ð 1ð 
ˆ�A‰Œ€BØ�:Š:�a˜ÑÔ�|¨A¨qÐ2MÑNÔNÒNÐNÐNÐNÝ	�a˜Ð.Ð.Ñ	/Ô	/€BØ�:Š:�a˜ÑÔÝÐAÐAÐAÑBÔBòCð Cð Cð Cà�:Š:�a˜ÑÔÝÐ(Ð*<Ð=Ñ>Ô>ò?ð ?ð ?ð ?ð 
ˆ�A‰Œ€BØ�<Š<˜˜Ñ&Ô&¨*¨*°Q©-¬-¸©/Ò9Ð9Ð9Ð9Ø�<Š<˜˜Ñ%Ô%¨¨°a©¬Ò8Ð8Ð8Ð8õ �|˜a ˜V a¨¨1© XÐ.Ñ/Ô/Ñ0Ô0µLÅ3ÀqÁ6Ä6È1À+ÕPSÐTUÑPVÔPVÐXYÕZ]Ð^_ÑZ`ÔZ`ÑX`ÐOaÐAbÑ4cÔ4cÒcÐcÐcÐcõ ˜M˜M˜MØ)˜M˜MØ)˜M˜MØ)˜M˜Mð+ñ ,ô ,€Gð ×%Ò%Ñ'Ô'�G€A€qˆ!ØŒ:ÐÐˆ:ØŒ:ÐÐˆ:Øˆa‰C×Ò˜a Ñ,Ô,¨wÑ6¸,¸,Àq¹/¼/ÒIÐIÐIÐIå˜N˜N˜NØ*˜N˜NØ*˜N˜NØ*˜N˜Nð,ñ -ô -€Gð ×%Ò%Ñ'Ô'�G€A€qˆ!ØŒ:ÐÐˆ:ØŒ:ÐÐˆ:Øˆa‰C×Ò˜a Ñ,Ô,¨wÑ6¸,¸,Àq¹/¼/ÒIÐIÐIÐIå�S‰kŒk�6 #™;œ;­¨s©¬ˆ!€q€AÝ��A�q�	˜A˜q !˜9 q¨!¨Q iÐ0Ñ1Ô1€AØ×ÒÑ!Ô!�G€A€qˆ!ØŒ:ÐÐˆ:ØŒ:ÐÐˆ:Øˆa‰C×Ò˜a Ñ,Ô,¨qÑ0°L°LÀ±O´OÒCÐCÐCÐCõ 	�i�i�iØ�i�iØ�i�ið!ñ 	"ô 	"€Aõ 	�Q˜˜9˜9˜9Ñ%Ô%€AØ	ˆ!‰€AØ�9Š9�Q‰<Œ<€DØ�1Š9ˆ9ˆ9ˆ9Ý�j�j�jØ �j�jØ �j�jð"ñ 	#ô 	#€Aõ 	�Q˜˜:˜:˜:Ñ&Ô&€AØ	ˆ!‰€AØ�9Š9�Q‰<Œ<€DØ�1Š9ˆ9ˆ9ˆ9ð 	ˆ
�1‰Œ€AØ�5Š5‰7Œ7�j�j ‘m”mÒ#Ð#Ð#Ð#Ø�5Š5˜ˆ5ÑÔ  ¨A¡¤Ò.Ð.Ð.Ð.Ø�5Š5˜ˆ5ÑÔ * *¨Q¡-¤-Ò/Ð/Ð/Ð/å�i�i�iØ�i�iØ�i�ið!ñ 	"ô 	"€Aõ �˜q™	œ	Ÿš™œÑ(Ô(€DØˆT‰6�Z�Z ‘]”]Ò"Ð"Ð"Ð"Ø�5Š5˜ˆ5ÑÔ Ò%Ð%Ð%Ð%Ø�5Š5˜ˆ5ÑÔ $Ò&Ð&Ð&Ð&å�i�i�iØ�i�iØ�i�ið!ñ 	"ô 	"€Aõ �˜q™	œ	Ÿš™œÑ(Ô(€DØˆT‰6�Z�Z ‘]”]Ò"Ð"Ð"Ð"Ø�5Š5˜ˆ5ÑÔ Ò%Ð%Ð%Ð%Ø�5Š5˜ˆ5ÑÔ $Ò&Ð&Ð&Ð&õ 
��1�i�i�iÑ	 Ô	 €BÝ	��1�i�i�iÑ	 Ô	 €BØ�8Š8�B‰<Œ<�6 ! Q¨¨¨Ñ4Ô4Ò4Ð4Ð4Ð4Ø�7Š7�1‰:Œ:�q‰=˜BÒÐÐÐõ 	�q˜!�a™%�j &Ð)Ñ*Ô*€AØŒ3•,Ø	
ˆA•‰Eˆ
Ø	
�ˆ
ð ñ ô ò ð ð ð ð �V�A�q˜,˜,˜,Ñ'Ô'Ñ'¨1Ò,Ð,Ð,Ð,Ø�v�a˜˜L˜L˜LÑ)Ô)Ñ)­\Ø	
ˆA•‰Eˆ
Ø	
�ˆ
ð;ñ .ô .ò ð ð ð ð �:Š:�j�j ‘m”mÑ$Ô$­Ø	
ˆA•‰Eˆ
Ø	
�ˆ
Ø	
�ˆ
Ø	
�ˆ
ð	6ñ )ô )ò ð ð ð ð �<Š<˜˜:˜: a™=œ=Ñ)Ô)­\Ø	
ˆA•‰Eˆ
Ø	
�ˆ
Ø	
�ˆ
Ø	
�ˆ
ð	;ñ .ô .ò ð ð ð ð �<Š<˜�<Ô-¨a°Ñ3Ô3Ñ4Ô4½Ø	
ˆA•‰E�1ˆØˆˆðFñ 9ô 9ò ð ð ð ð �~Š~ uˆ~Ñ-Ô-Ð-Ð-Ð-õ 	Ô˜ÑÔ˜AÑ€AØ€A€d�GØ‡H‚HˆQÐ*Ð*Ð*Ð*Ñ+Ô+Ð+Ø•Øˆ
ˆ
Øˆ
ˆ
Øˆ
ˆ
ðñ ô ò ð ð ð õ 	Ô˜ÑÔ€AØ‡F‚Fˆ1�I„I€IØ•Øˆ	ˆ	Øˆ	ˆ	Øˆ	ˆ	ðñ ô ò ð ð ð ð ˆ:�a‰=Œ=˜J˜J q™MœM×9Ò9Ñ;Ô;Ò;Ð;Ð;Ð;Ý˜˜˜ I I I¨y¨y¨yÐ9Ñ:Ô:€DØ×ÒÑ!Ô!Ý�l�l�l K K K°°°Ð<Ñ=Ô=ò>ð >ð >ð >å˜˜˜ I I I¨y¨y¨yÐ9Ñ:Ô:€DØ×ÒÑ!Ô!Ý�k�k�k ; ; ;°°°Ð<Ñ=Ô=ò>ð >ð >ð >õ 	ˆs‰Œ€AÝˆs‰Œ€AÝ�Q˜˜A˜q™D ™F A a¨¡d¡F¨Q¨q©S¡LÐ1Ñ2Ô2€AØˆqˆ6€DØ�:Š:�dÑÔ�v¨¨!©¨A©¨q°!©t }°q¸!¸A¹#À¹'°lÐ&CÑDÔDÒDÐDÐDÐDå�Q˜˜A˜q !™t A q¡D™y˜>Ñ*Ô*€AØ�:Š:�dÑÔ�|¨a°¨V°a¸±c¸!¸Q¹$±hÀÀ1ÁÀQÁÀqÈ!ÁtÁÐ5LÐ,MÑNÔNÒNÐNÐNÐNõ 	��A�˜˜A˜ÐÑ Ô €AØ×ÒÑÔ�D€A€qÝ€AØ•Øˆaˆa��A‰hŒh‰;˜!˜!˜A™$œ$˜q™& 1 1 Q¡4¤4¨¡6¨A¨A¨b°!©H¬HÑ"4Ñ4Ð5Ø	
ˆ1ˆaˆa��A‰hŒh‰;‰˜!˜!˜A™$œ$˜˜q™ 1 1 Q¡4¤4¨¡6¨A¨A¨b°!©H¬HÑ"4Ñ4Ð5ð7ñ 8ô 8ò 8ð 8ð 8ð 8ð •Ø	
ˆAˆAˆa�‰GŒG‰˜˜1˜a˜a  A™hœh™;™Ð'Ø�a�a˜‘d”d˜1‘f˜q˜q  A™wœwÑ&Ð'ð)ñ *ô *ò *ð *ð *ð *ð ˆQ‰3�!Š8ˆ8ˆ8ˆ8ØŒ3�‰7�j�j ‘m”mÒ#Ð#Ð#Ð#å€Aõ 	�l�l�lØˆ}ˆ}ðñ 	ô 	€Aà�vŠv‰xŒx�H€CˆØ•&˜1˜a ! ! A¡$¤$  r¡¨1¨1¨R©5¬5°©8Ð4Ø˜a ! ! A¡$¤$ r¡'¨1¨1¨R©5¬5°©8Ð4ð6ñ 7ô 7ò 7ð 7ð 7ð 7õ 	Ð/Ð/Ð/Ø/Ð/Ð/Ø/Ð/Ð/Ø/Ð/Ð/ð1ñ 	2ô 	2€Að
 �vŠv‰xŒx�H€CˆØ•&Ð/Ð/Ð/Ø/Ð/Ð/Ø˜a  A q¨!¨Q¨Q¨q©T¬T°!©VÐ4Ø/Ð/Ð/ð1ñ 2ô 2ò 2ð 2ð 2ð 2ð
 �KŠK‰MŒM€EØ�Œ8•vÐ4Ð4Ð4Ñ5Ô5Ò5Ð5Ð5Ð5Ø�Œ8•vÐ3Ð3Ð3Ñ4Ô4Ò4Ð4Ð4Ð4Ø�Œ8•vÐ5Ð5Ð5Ñ6Ô6Ò6Ð6Ð6Ð6Ø�Œ8•v˜q ! Q¨¨1¨a¨a°©e¬e°A©g°qÐ9Ñ:Ô:Ò:Ð:Ð:Ð:õ 	ˆs‰Œ€AÝˆs‰Œ€AØ�*˜Q‘-”-€KØ×Ò Ñ"Ô"¥h°°A±¸©zÑ&:Ô&:Ò:Ð:Ð:Ð:Ø×Ò Ñ"Ô"¥h°°A±¸©zÑ&:Ô&:Ò:Ð:Ð:Ð:õ 	ð ð ð ñ 	ô 	€Að �;Š;‰=Œ=€DÝ�$—)’)‘+”+ÑÔ * * *Ò,Ð,Ð,Ð,å€AÝ�	�	�	Ø�	�	Ø�	�	ðñ 	ô 	€Að �<Š<‰>Œ>˜q !ÝˆyˆyˆyÑÔÝˆyˆyˆyÑÔÝˆyˆyˆyÑÔð&ð ð ò ð ð ð õ 	�	�	�	Ø�	�	Ø�	�	ðñ 	ô 	€Að �<Š<‰>Œ>˜q !¥f¨a¨a°©e¬e°A©g°q°q¸±t´t¸A±v¸qÐ-AÑ&BÔ&BÐ%CÐDØ  !¥f¨Y¨Y¨YÑ&7Ô&7Ð%8Ð9Ø  !¥f¨Y¨Y¨YÑ&7Ô&7Ð%8Ð9ð;ò ;ð ;ð ;ð ;ð �7Š7�1�a‰=Œ=�L¨¨A¨rÑ2Ô2Ò2Ð2Ð2Ð2Ý	�b˜" r°2¸rÈ2ÐWYÐceÐoqÐ{}ð  HJð  Kð  Kñ  
Lô  
L€AØ�:Š:‰<Œ<ð  Hð  Hð  Hò  Hð  Hð  Hð  HØ�:Š:‰<Œ<ð  Hð  Hð  Hò  Hð  Hð  Hð  HÝÔ˜AÑÔ×"Ò"Ñ$Ô$¨Ò)Ð)Ð)Ð)Ð)Ð)s   ÊK* Ë*
K7Ë6K7c                  ó|   — t          ddgg¦  «                             d¦  «        t          ddgg¦  «        k    sJ ‚d S )Nr   r   r   r7   )r   Úscalar_multiplyr+   r   r   Útest_scalar_multiplyrå   '  sC   € Ý˜!˜Q˜˜Ñ!Ô!×1Ò1°!Ñ4Ô4½ÀqÈ!ÀfÀXÑ8NÔ8NÒNÐNÐNÐNÐNÐNr   c                  ón   — t          d¦  «                             ¦   «         t          d¦  «        k    sJ ‚d S )N©r<   r|   ))r   r   )r   r   )r   Ú	transposer+   r   r   Útest_transposeré   +  sD   € ÝÐ(Ñ)Ô)×3Ò3Ñ5Ô5ÝÐ%Ñ&Ô&ò'ð 'ð 'ð 'ð 'ð 'r   c                  ó¢   — t          d¦  «                             ¦   «         dk    sJ ‚t          d¦  «                             ¦   «         dk    sJ ‚d S )Nrç   r;   )r   )r   r   r   )r   Útracer+   r   r   Ú
test_tracerì   0  sT   € ÝÐ(Ñ)Ô)×/Ò/Ñ1Ô1°QÒ6Ð6Ð6Ð6ÝÐ(Ñ)Ô)×/Ò/Ñ1Ô1°QÒ6Ð6Ð6Ð6Ð6Ð6r   c                  óª   — t          d¦  «                             ¦   «         g d¢k    sJ ‚t          d¦  «                             ¦   «         g d¢k    sJ ‚d S )Nrç   )rD   ro   ©r   r   r   ©r   r   r   )rD   rî   ro   rï   )r   rÆ   rÇ   r+   r   r   Ú
test_CL_RLrð   5  sv   € ÝÐ(Ñ)Ô)×2Ò2Ñ4Ô4Ø4Ð4Ð4ò5ð 5ð 5ð 5åÐ(Ñ)Ô)×2Ò2Ñ4Ô4Ø4Ð4Ð4ò5ð 5ð 5ð 5ð 5ð 5r   c                  óŽ  — t          d¦  «        t          d¦  «        z   t          d¦  «        k    sJ ‚t          ddd„ ¦  «        } t          ddd„ ¦  «        }t          |                      ¦   «         ¦  «        t          |                     ¦   «         ¦  «        z   t          | |z                        ¦   «         ¦  «        z
  dk    sJ ‚d S )Nr-   )r/   r.   )r9   r9   éd   c                 ó:   — t          |dk    o| |z  dk    ¦  «        S ru   ©Úintrk   s     r   r,   ztest_add.<locals>.<lambda>?  ó   € ­C°°Q²Ð0E¸1¸q¹5ÀAº:Ñ,FÔ,F€ r   c                 ó:   — t          | dk    o|| z  dk    ¦  «        S ru   rô   rk   s     r   r,   ztest_add.<locals>.<lambda>@  rö   r   r   )r   r©   r™   )r   rÉ   s     r   Útest_addrø   <  s·   € ÝÐ(Ñ)Ô)­LÐ9IÑ,JÔ,JÑJÝÐ%Ñ&Ô&ò'ð 'ð 'ð 'å�S˜#ÐFÐFÑGÔG€AÝ�S˜#ÐFÐFÑGÔG€AÝ�—’‘	”	‰NŒN�S §¢¡¤™^œ^Ñ+­c°1°q±5·-²-±/´/Ñ.BÔ.BÑBÀQÒFÐFÐFÐFÐFÐFr   c                  ó¾  — t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d	„ ¦  «         t          t          d
„ ¦  «         d S )Nc                  ó&   — t          ddd„ ¦  «        S )Ngffffffö?r   c                 ó   — dS ru   r+   rk   s     r   r,   z/test_errors.<locals>.<lambda>.<locals>.<lambda>E  s   € À€ r   r   r+   r   r   r,   ztest_errors.<locals>.<lambda>E  s   € �|¨C°°N°NÑCÔC€ r   c                  ó*   — t          g d¢ddg¦  «        S )NrF   r   r   r   r+   r   r   r,   ztest_errors.<locals>.<lambda>F  s   € �l¨9¨9¨9°q¸!°fÑ=Ô=€ r   c                  ó8   — t          ddgddgg¦  «        d         S ©Nr   r   r   r   rF   r   r+   r   r   r,   ztest_errors.<locals>.<lambda>G  s    € �|¨a°¨V°a¸°VÐ,<Ñ=Ô=¸iÔH€ r   c                  ó8   — t          ddgddgg¦  «        d         S )Nr   r   r   r   r;   r   r+   r   r   r,   ztest_errors.<locals>.<lambda>H  s    € �|¨a°¨V°a¸°VÐ,<Ñ=Ô=¸aÔ@€ r   c                  ó8   — t          ddgddgg¦  «        d         S rþ   r   r+   r   r   r,   ztest_errors.<locals>.<lambda>I  s    € �|¨a°¨V°a¸°VÐ,<Ñ=Ô=¸gÔF€ r   c                  óp   — t          ddgddgg¦  «                             ddgt          ¦   «         ¦  «        S )Nr   r   r   r   r   )r   Úcopyin_listÚsetr+   r   r   r,   ztest_errors.<locals>.<lambda>K  s3   € •˜q !˜f q¨! fÐ-Ñ.Ô.×:Ò:¸A¸q¸6Å3Á5Ä5ÑIÔI€ r   c                  ó8   — t          ddgddgg¦  «        d         S )Nr   r   r   r   r<   r   r+   r   r   r,   ztest_errors.<locals>.<lambda>M  s    € �L¨1¨a¨&°1°a°&Ð)9Ñ:Ô:¸4Ô@€ r   c                  óJ   — t          g d¢¦  «                             d¦  «        S )NrF   r   )r   r³   r+   r   r   r,   ztest_errors.<locals>.<lambda>N  s    € �l¨9¨9¨9Ñ5Ô5×;Ò;¸AÑ>Ô>€ r   c                  ó4   — t          ddddg¦  «        d         S )Nr   r   r   r   r+   r   r   r,   ztest_errors.<locals>.<lambda>O  s   € �|¨A¨q°1°a°&Ñ9Ô9¸!Ô<€ r   c                  óP   — t          ddddg¦  «        t          ddddg¦  «        z   S r*   r   r+   r   r   r,   ztest_errors.<locals>.<lambda>Q  s+   € •˜Q  A q 6Ñ*Ô*­\¸!¸QÀÀAÀÑ-GÔ-GÑG€ r   )r   r¤   r‘   Ú
IndexErrorr   r+   r   r   Útest_errorsr	  D  sò   € Ý
�:ÐCÐCÑDÔDÐDÝ
�9Ð=Ð=Ñ>Ô>Ð>Ý
�:ÐHÐHÑIÔIÐIÝ
�:Ð@Ð@ÑAÔAÐAÝ
�:ÐFÐFÑGÔGÐGÝ
�9ØIÐIñKô Kð Kå
ÝÐ@Ð@ñBô Bð Bå
�9Ð>Ð>Ñ?Ô?Ð?Ý
�:Ð<Ð<Ñ=Ô=Ð=Ý
�:ØGÐGñIô Ið Ið Ið Ir   c                  ó¬   — t          ¦   «         rJ ‚t          ¦   «         t          g ¦  «        k    sJ ‚t          ¦   «         t          g g¦  «        k    sJ ‚d S r"   r   r+   r   r   Útest_lenr  T  sT   € Ý‰~Œ~ÐÐÐÝ‰>Œ>�\¨"Ñ-Ô-Ò-Ð-Ð-Ð-Ý‰>Œ>�\¨2¨$Ñ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/r   c                  ó¢  — t          j        d¦  «        t          dt           ¬¦  «        k    sJ ‚t          t          j        d¦  «                             ¦   «         ¦  «        dk    sJ ‚t          j        d¦  «        t	          dt           ¬¦  «        k    sJ ‚t          t          j        d¦  «                             ¦   «         ¦  «        dk    sJ ‚d S )Nr   )Úclsr   )r   r   r©   r™   r   r+   r   r   Útest_sparse_zeros_sparse_eyer  Z  sº   € ÝÔ˜AÑÔ¥# a­\Ð":Ñ":Ô":Ò:Ð:Ð:Ð:Ý�|Ô Ñ"Ô"×(Ò(Ñ*Ô*Ñ+Ô+¨qÒ0Ð0Ð0Ð0ÝÔ˜aÑ Ô ¥E¨!µÐ$>Ñ$>Ô$>Ò>Ð>Ð>Ð>Ý�|Ô! !Ñ$Ô$×*Ò*Ñ,Ô,Ñ-Ô-°Ò2Ð2Ð2Ð2Ð2Ð2r   c                  ó|  — t          ddi ¦  «        } d| d<   | d d …df         t          t          g d¢¦  «        ¦  «        k    sJ ‚| d         dk    sJ ‚| dd…         dgk    sJ ‚d| d<   | d         dk    sJ ‚| ddd …f         t          ddgg¦  «        k    sJ ‚t          d	d
gg¦  «        | ddd …f<   | dd d …f         t          g d¢g¦  «        k    sJ ‚ddgg| ddd …f<   | dd d …f         t          g d¢g¦  «        k    sJ ‚d| d<   | d d …d d…f         t          g d¢¦  «        k    sJ ‚g d¢| d<   | d d …df         t          g d¢¦  «        k    sJ ‚t          g d¢¦  «        | d<   | d d …df         t          g d¢¦  «        k    sJ ‚t          g d¢¦  «        | d<   | d d …df         t          g d¢¦  «        k    sJ ‚d S )Nr   r   r.   r   rE   r   é*   r9   r;   r7   )r   r;   r7   é+   )r   r  r  é   r   )r  r   r   rU   )r   r   )Úss    r   Útest_copyinr  a  s4  € Ý�Q˜˜2ÑÔ€AØ€A€d�GØˆQˆQˆQ�ˆTŒ7•l¥6¨)¨)¨)Ñ#4Ô#4Ñ5Ô5Ò5Ð5Ð5Ð5ØˆQŒ4�1Š9ˆ9ˆ9ˆ9ØˆQ�ˆTŒ7�q�cŠ>ˆ>ˆ>ˆ>Ø€A€d�GØˆTŒ7�bŠ=ˆ=ˆ=ˆ=ØˆQ���ˆUŒ8•| b¨! W IÑ.Ô.Ò.Ð.Ð.Ð.Ý˜˜1�v�hÑÔ€A€aˆˆˆ€e�HØˆQ���ˆTŒ7•l I I I ;Ñ/Ô/Ò/Ð/Ð/Ð/Ø�R�ˆz€A€aˆˆˆ€e�HØˆQ���ˆTŒ7•l K K K =Ñ1Ô1Ò1Ð1Ð1Ð1Ø€A€d�GØˆQˆQˆQ���ˆUŒ8•| J J JÑ/Ô/Ò/Ð/Ð/Ð/Øˆiˆi€A€d�GØˆQˆQˆQ�ˆTŒ7•l 9 9 9Ñ-Ô-Ò-Ð-Ð-Ð-Ý�Y�Y�YÑÔ€A€d�GØˆQˆQˆQ�ˆTŒ7•l 9 9 9Ñ-Ô-Ò-Ð-Ð-Ð-Ý˜9˜9˜9Ñ%Ô%€A€d�GØˆQˆQˆQ�ˆTŒ7•l 9 9 9Ñ-Ô-Ò-Ð-Ð-Ð-Ð-Ð-r   c            	      óB  — t          d¦  «        } |                      ¦   «         t          g d¢g d¢g d¢g¦  «        k    sJ ‚|                      ¦   «         |                      ¦   «         j        z  t          g d¢g d¢g d¢g¦  «        k    sJ ‚t          d¦  «        } |                      ¦   «         \  }}d|z  t          g d	¢g d
¢g d¢g¦  «        k    sJ ‚|t          g d¢g d¢g d¢g¦  «        k    sJ ‚||z  |j        z  | k    sJ ‚t          d¦  «        } |                      ¦   «         | z  t          t          d¦  «        ¦  «        k    sJ ‚t          g d¢g d¢g d¢g¦  «        } t          t          dd¦  «        t          dd¦  «        t          dd¦  «        gt          dd¦  «        t          dd¦  «        t          dd¦  «        gddt          j	        gg¦  «        }|                      d¬¦  «        |k    sJ ‚|                      d¬¦  «        |k    sJ ‚| |z  t          t          d¦  «        ¦  «        k    sJ ‚|  
                    | d d …df         d¦  «        }| |z  | d d …df         k    sJ ‚|  
                    | d d …df         d¦  «        }| |z  | d d …df         k    sJ ‚|                      | ¦  «        } |                      | d d …df         d¦  «        }| |z  | d d …df         k    sJ ‚|                      | d d …df         d¦  «        }| |z  | d d …df         k    sJ ‚d S )N)©é   rA   rS   ©rA   r>   r   ©rS   r   r\   )r;   r   r   )r   r   r   )rT   r   r   r  r  r  rA   )rA   r   r   )r[   rA   r   )rQ   r;   rA   )r  r   r   )r   r[   r   )r   r   r[   ))r   r   r   rD   rG   r   )r   rT   r   )rT   r   rT   r�   r   r   r7   r   rx   ry   r{   )r   Úcholeskyr   r¾   ÚLDLdecompositionr²   r   r   r   ÚHalfÚsolver”   Úsolve_least_squares)rÌ   rÒ   ÚDÚansr  s        r   Útest_sparse_solver!  x  sŸ  € ÝÐ=Ñ>Ô>€AØ�:Š:‰<Œ<�6Øˆ
ˆ
Øˆ
ˆ
Øˆ
ˆ
ð#ñ ô ò ð ð ð ð �:Š:‰<Œ<˜!Ÿ*š*™,œ,œ.Ñ(­FØˆˆØˆˆØˆˆð4ñ -ô -ò ð ð ð õ
 	Ð=Ñ>Ô>€AØ×ÒÑÔ�D€A€qØˆa‰4•6Øˆ
ˆ
ØˆˆØˆˆðñ ô ò ð ð ð ð •Øˆ
ˆ
Øˆ
ˆ
Øˆ
ˆ
ðñ ô ò ð ð ð ð ˆq‰5�1”3‰;˜!ÒÐÐÐåÐ6Ñ7Ô7€AØ�5Š5‰7Œ7�Q‰;�,¥s¨1¡v¤vÑ.Ô.Ò.Ð.Ð.Ð.åØˆˆØˆˆØˆ
ˆ
ðñ 	ô 	€Aõ Ý	�!�Q‰Œ� ! Q™œ­°!°Q©¬Ð8Ý	�!�Q‰Œ� ! Q™œ­°!°Q©¬Ð8Ø aµ´Ð7ð9ñ :ô :€Cð �5Š5˜ˆ5ÑÔ Ò$Ð$Ð$Ð$Ø�5Š5˜ˆ5ÑÔ #Ò%Ð%Ð%Ð%Øˆs‰7•l¥3 q¡6¤6Ñ*Ô*Ò*Ð*Ð*Ð*à	�Š��!�!�!�Q�$”˜ÑÔ€AØˆQ‰3�!�A�A�A�q�D”'Š>ˆ>ˆ>ˆ>Ø	�Š��!�!�!�Q�$”˜ÑÔ€AØˆQ‰3�!�A�A�A�q�D”'Š>ˆ>ˆ>ˆ>Ø	�
Š
�1‰Œ€AØ	×Ò˜a    1 œg tÑ,Ô,€AØˆQ‰3�!�A�A�A�q�D”'Š>ˆ>ˆ>ˆ>Ø	×Ò˜a    1 œg uÑ-Ô-€AØˆQ‰3�!�A�A�A�q�D”'Š>ˆ>ˆ>ˆ>ˆ>ˆ>r   c                  ó*  — t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t	          d¦  «        \  } }}}t	          d¦  «        \  }}}}t          | dg||gg¦  «        }t          ||g||gg¦  «        }	t          ||g||gg¦  «        }
t          || z  || z  g|||z  | z  z
  |z  |||z  | z  z
  |z  gg¦  «        }| 	                    |	¦  «        |k    sJ ‚| 	                    |
¦  «        |k    sJ ‚d S )Nc                  ól   — t          ddgg¦  «                             t          ddgg¦  «        ¦  «        S r*   ©r   Úlower_triangular_solver   r+   r   r   r,   z-test_lower_triangular_solve.<locals>.<lambda>ª  ó4   € Ý�q˜!�f�XÑÔ×5Ò5µf¸qÀ!¸f¸XÑ6FÔ6FÑGÔGð r   c                  ón   — t          ddgddgg¦  «                             t          dg¦  «        ¦  «        S ©Nr   r   r   r   r$  r+   r   r   r,   z-test_lower_triangular_solve.<locals>.<lambda>¬  ó5   € Ý�q˜!�f˜q !˜fÐ%Ñ&Ô&×=Ò=½fÀaÀS¹k¼kÑJÔJð r   c                  óx   — t          ddgddgg¦  «                             t          ddgddgg¦  «        ¦  «        S ©Nr   r   r   r   r$  r+   r   r   r,   z-test_lower_triangular_solve.<locals>.<lambda>®  óC   € Ý�q˜!�f˜q !˜fÐ%Ñ&Ô&×=Ò=½fÀqÈ!ÀfÈqÐRSÈfÐEUÑ>VÔ>VÑWÔWð r   úa:dúu:xr   )
r   r   r   r¤   r   r   r   r   r   r%  ©r   rÉ   rË   ÚdÚur   Úwr?   rÌ   ÚBrµ   Úsols               r   Útest_lower_triangular_solver5  ©  si  € Ý
Õð "Hð "Hñ Iô Ið Iå
�:ð Kð Kñ Lô Lð Lå
�:ð Xð Xñ Yô Yð Yõ ˜‘”�J€A€qˆ!ˆQÝ˜‘”�J€A€qˆ!ˆQå�q˜!�f˜q !˜fÐ%Ñ&Ô&€AÝ˜a ˜V a¨ VÐ,Ñ-Ô-€AÝ  1˜v¨¨1 vÐ.Ñ/Ô/€Aå
�1�Q‘3˜˜!™�*  A a¡C¨¡E¡	¨1™}¨q°1°Q±3°q±5©y¸!©mÐ<Ð=Ñ
>Ô
>€CØ×#Ò# AÑ&Ô&¨#Ò-Ð-Ð-Ð-Ø×#Ò# AÑ&Ô&¨#Ò-Ð-Ð-Ð-Ð-Ð-r   c                  ó*  — t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t	          d¦  «        \  } }}}t	          d¦  «        \  }}}}t          | |gd|gg¦  «        }t          ||g||gg¦  «        }	t          ||g||gg¦  «        }
t          |||z  |z  z
  | z  |||z  |z  z
  | z  g||z  ||z  gg¦  «        }| 	                    |	¦  «        |k    sJ ‚| 	                    |
¦  «        |k    sJ ‚d S )Nc                  ól   — t          ddgg¦  «                             t          ddgg¦  «        ¦  «        S r*   ©r   Úupper_triangular_solver   r+   r   r   r,   z-test_upper_triangular_solve.<locals>.<lambda>¾  r&  r   c                  ón   — t          ddgddgg¦  «                             t          dg¦  «        ¦  «        S r(  r8  r+   r   r   r,   z-test_upper_triangular_solve.<locals>.<lambda>À  r)  r   c                  óx   — t          ddgddgg¦  «                             t          ddgddgg¦  «        ¦  «        S r+  r8  r+   r   r   r,   z-test_upper_triangular_solve.<locals>.<lambda>Â  r,  r   r-  r.  r   )
r   r   r   r‘   r   r   r   r   r   r9  r/  s               r   Útest_upper_triangular_solver<  ½  si  € Ý
Õð "Hð "Hñ Iô Ið Iå
�:ð Kð Kñ Lô Lð Lå
�9ð Xð Xñ Yô Yð Yõ ˜‘”�J€A€qˆ!ˆQÝ˜‘”�J€A€qˆ!ˆQå�q˜!�f˜q !˜fÐ%Ñ&Ô&€AÝ˜a ˜V a¨ VÐ,Ñ-Ô-€AÝ  1˜v¨¨1 vÐ.Ñ/Ô/€Aå
�A˜˜!™˜A™‘I˜q‘= 1 q¨¡s¨1¡u¡9¨a¡-Ð0°1°Q±3¸¸!¹°*Ð=Ñ
>Ô
>€CØ×#Ò# AÑ&Ô&¨#Ò-Ð-Ð-Ð-Ø×#Ò# AÑ&Ô&¨#Ò-Ð-Ð-Ð-Ð-Ð-r   c                  ó~  — t          d¦  «        \  } }t          d¦  «        \  }}}}t          | dgd|gg¦  «        }t          ||g||gg¦  «        }t          ||g||gg¦  «        }t	          || z  || z  g||z  ||z  gg¦  «        }	|                     |¦  «        |	k    sJ ‚|                     |¦  «        |	k    sJ ‚d S )Nza dr.  r   )r   r   r   r   r   Údiagonal_solve)
r   r0  r1  r   r2  r?   rÌ   r3  rµ   r4  s
             r   Útest_diagonal_solver?  Ñ  sà   € Ý�5‰>Œ>�D€A€qÝ˜‘”�J€A€qˆ!ˆQå�q˜!�f˜q !˜fÐ%Ñ&Ô&€AÝ˜a ˜V a¨ VÐ,Ñ-Ô-€AÝ  1˜v¨¨1 vÐ.Ñ/Ô/€Aå
�1�Q‘3˜˜!™�*˜q ™s A a¡C˜jÐ)Ñ
*Ô
*€CØ×Ò˜AÑÔ #Ò%Ð%Ð%Ð%Ø×Ò˜AÑÔ #Ò%Ð%Ð%Ð%Ð%Ð%r   c                  óP  — t          d¦  «        } t          dt          gt           dgg¦  «        }|j        sJ ‚t          dt          gt           dgg¦  «        }|j        sJ ‚dt          z  |d<   |j        du sJ ‚| |d<   |j        �J ‚|d         t          z  |d<   |j        du sJ ‚d S )	Nr?   r   r   r   r   Fr.   r/   )r   r   r   Úis_hermitian)r?   r   s     r   Útest_hermitianrB  Þ  sÀ   € Ýˆs‰Œ€AÝ�q�!�f¥˜r 1˜gÐ&Ñ'Ô'€AØŒ>ÐÐˆ>Ý�q�!�f¥˜r 1˜gÐ&Ñ'Ô'€AØŒ>ÐÐˆ>Ø•‰c€A€d�GØŒ>˜UÐ"Ð"Ð"Ð"Ø€A€d�GØŒ>Ð!Ð!Ð!Ø�Œg•a‰i€A€d�GØŒ>˜UÐ"Ð"Ð"Ð"Ð"Ð"r   N))Úsympy.core.numbersr   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Ú$sympy.functions.elementary.complexesr	   Úsympy.polys.polytoolsr
   r’   r   r   r   r   r   r   r   r   r   Úsympy.testing.pytestr   r   râ   rå   ré   rì   rð   rø   r	  r  r  r  r!  r5  r<  r?  rB  r+   r   r   ú<module>rI     sû  ðØ 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø "Ð "Ð "Ð "Ð "Ð "Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø *Ð *Ð *Ð *Ð *Ð *ð2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð (Ð 'Ð 'Ð 'Ð 'Ð 'ð/ð /ð /ðO*ð O*ð O*ðdOð Oð Oð'ð 'ð 'ð
7ð 7ð 7ð
5ð 5ð 5ðHð Hð HðIð Ið Ið 0ð 0ð 0ð3ð 3ð 3ð.ð .ð .ð..ð .ð .ðb.ð .ð .ð(.ð .ð .ð(
&ð 
&ð 
&ð#ð #ð #ð #ð #r   