K iddlZddlZddldZdZdZdZdZdZd Z d Z d Z d Z d Z dZejj!dZdZdZy)N)*cz td}tdD] }d|||f< |tdk(sJ|t|k(sJtdd jrJtgdgdgdg}t |t tddk(sJd|d <d |jvsJtgdgdg td d gddgdd gg} |ztd dgddggk(sJ||z||zcxk(r|k(sJJt j t fdgdgdgdg}t|}|j|k(sJ|tt|k(sJtj|}|tt|k(sJ|dztt|dzk(sJ|dzd|zcxk(r|k(sJJ jdk(sJ jdk(sJd|_ d|_ t|jdk(sJ zd zk(sJt j t fdt||z dk(sJtddgddgdd gddgg tddg} |ztgdk(sJt!d}t|dzdt#dz z dk(sJdt!dzdz dz t#dk(sJtddztdk(sJt j t fdt%d}t|} d|d<|| k7sJt'|sJy) Nrrr r)rrr i'czSN)A2s`/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mpmath/tests/test_matrices.pyz#test_matrix_basic..s be)r)(r<)FPZy?czSrr)rA4srrz#test_matrix_basic..$s b2grr r rr)r'r'r'r'cdzS)Nrr)A7srrz#test_matrix_basic..-s b!erirr)matrixrangeeye _matrix__datalistpytestraises ValueErrortolistevalreprfprowscolslensumoneszeros randmatrixnstr) A1iA3A5lA6xA8A9A10rr&r)s @@@rtest_matrix_basicrIsG B 1X1Q3 Q<<    1B  Iy1 2B 8tE!RL) )) )BsG))))) I& 'B !R1a&1b'* +B 7fr2hS 23 33 3 7b2g # ## ## # MM*m, {L1A B 99;!   d2h   2B d2h   b5Dbe% %% % 7b2g # ## ## # 77a<< 77a<<BGBG r A %% % 7ad?? MM*o. rBw<1   !Q!Q!Q!Q0 1BCyA a46./ // / aB Q1uQx<( )Q .. . QK1 q E!H ,, , q62:Q   MM*m, AB *CBsG 99 8O8rctjdkrtjdt gdgdg}t ddgddgd d gg}t d y ) z Test the PEP465 "@" matrix multiplication syntax. To avoid syntax errors when importing this file in Python 3.5 and below, we have to use exec() - sorry for that. iz9'@' (__matmul__) is only supported in Python 3.5 or newerrr r rrrrrzassert A4 @ A5 == A4 * A5N)sys hexversionr0skipr+exec)r&rBs r test_matmulrO4sR  ~~ ! OP I& 'B !R1a&1b'* +B $%rctgdgdgdgtgd}ddddfk(sJdddftdgdgdggk(sJdddftgdgk(sJdd dd ftdd gdd ggk(sJ|dd td d gk(sJtjtfd td }|ddddf<|ddddftgdgdgdgk(sJtgdg|dddf<|tgdgdgdgk(sJtdgdgdgg|dddf<|tgdgdgdgk(sJtddgddgg|ddddf<|tgdgdgdgk(sJd|dd |tgdk(sJtjt5dddf|dddf<dddtjt5ddddf|dddf<dddd|dddf<|tgdgd gd!gk(sJd"|ddddf<|D] }|d"k(r Jy#1swYyxYw#1swYQxYw)#Nrr r )rrrr r rrr rrr rr cddddfS)Nrr rAsrrz$test_matrix_slices..Msa!A#hr)r rr )rrTrU)r r rV)rrrW)rXrYrU)rZr[rVr)rrrr r r)rXrYr)rZr[r)rrrr )r+r0r1 IndexErrorr2)Vr?rErSs @rtest_matrix_slicesr^AsI!!# $A {A QqS6Q;; QqS6VaS!aSM* ** * QqS6VYK( (( ( QqS1W:!A!u . .. . Qq6VQqE] "" " MM*./ BBqsG ac7fi(1(134 44 4l^$BqsG ,$-$-/0 00 0rdRD2$'(BqsG ,$.$.01 11 1R2),-Brr"1"uI ,$0$.01 11 1AaF }% %% % z "AaC&1Q3 z "qsV1QrT6 BqsG ,$0$.01 11 1BqsG Bwws5H>'I >I Ictddgddgg}|dz||zk(sJ|dz||z|zk(sJ|dzt|k(sJ|dzt||zk(sJy)Nrrrr r)r+inverserRs rtest_matrix_powerrbssuAA A a41Q3;; a41Q3q5== b5GAJ   b5GAaCL  rcvtddgddgddgg}|j|jcxk(rtgdgdgk(sJJt|dd|tddgddgddggk(sJddg}t|d d|ddgk(sJt t dgd tgd gd gd gk(sJy)Nrrrr r r )rrr )rr r rr)rrrr)rrrr)rrrr)r+T transposeswap_rowextendr-)rSrCs rtest_matrix_transformrhzsAAA'(A 33!++- A69i*@#A AA AA A Q1 AAA/0 00 0 AA Q1 A;; #a&' "fi )-L&M MM Mrc Btdtzdgdtgg}|jttdddgdtddggk(sJ|j |j cxk(r)ttdddgdtddggk(sJJy)Nrrrr)r+j conjugatempctranspose_conjHrRs rtest_matrix_conjugaterosQ QF#$A ;;=FSBZOaQ_#EF FF F    BQQ12C2J0A)B BB BB Brc tgdtgdgdgdgk(sJtdd}|jdk(r|jdk(sJ|D] }|dk(r Jt dd}|jdk(r|jdk(sJ|D] }|dk(r Jt d t d k7sJtd}tdt||dz |dz g|dz |dz |d z g|dz |d z |d z ggk(sJy) Nr)rrr)rrr)rrrrrrrrr r ) diagr+r;r7r8r<r=mpfhilbert)r?arones rtest_matrix_creationrvs  ?fiI%FG GG G aB 77aZ^ ++ + a&C 1:#s1uc!e!4"%a%QA!6"%a%QA!6!89 99 9rctddgddgddgg}t|ddk(sJt|tdk(sJt|dtd k(sJt dd k(sJgd }t |dd k(sJt t |dd dk(sJt t |d d dk(sJt |tdk(sJy)Nrr`rrrr r Frr)rr`rrrgPz$,@g %^(@r)r+mnorminfsqrtnormround)rSrEs r test_normsrsB"bAq6*+A 1:?? 3<1   3<48 ## # 8q==A 1:   aR M 11 1 ab !] 22 2 3<2  rctgd}|tdgdgdgdgdggk(sJ|ddk(sJt|jdk(sJt|tt dk(sJd|d<d|d<|ddk(sJt|t|j cxk(rdk(sJJ|j |ztd ggk(sJy) N)rrrrr rrrrr r r'r)r+r9r.r/r,rd)rEs r test_vectorrsA aS1#sQC01 11 1 Q4199 q 1 $$ $ 7d58n $$ $ AaD AaD Q43;; q6SX " "" "" " 33q5FSE7O ## #rctd}|j}|}||k(sJ||k(sJd|d<||k7sJd|d<||k7sJy)Nr rr**)r;copy)rSBCs rtest_matrix_copyrs[ QA A A 6M6 6M6 AcF 6M6 AcF 6M6rc ddl}ddgddgddgg}|j|}t|t|k(sJy#t$rYywxYw)Nrrrrr r r )numpy ImportErrorarrayr+)rrCrts rtest_matrix_numpyrs[ Q!Q!Q A AA !9q !! ! s< AAcztdd}||dzz}td}||dzz}d}tj|}||dzz}tj|}tj d}||||||||fD]>} | |ztj | gk(sJ|| ztj | gk(r>Jy)z/Multiplication of iv.matrix and any scalar typerry@rgX9v?y@N)mpirrr6convertivr;r+) rtbcdefghMrEs r test_interval_matrix_scalar_multrs B A AF A BA AF A A 1 A AF A 1 A  AAq!Q1 %'1u 1#&&&1u 1#&&&'rctd}tjd}tjd}|||fD]P}||ztj|k(sJ||z|k(sJ||ztj|k(sJ||z|k(rPJy)z2Multiplication of iv.matrix and other matrix typesrN)r;r6rr+)rSrrXs r test_interval_matrix_matrix_multrs QA  A  AAY1u ! $$$1uzz1u ! $$$1uzz rcNtdtjdtjdfD]n}tj|}tjd}t |dt |dk(sJ|j |j k(rnJy)Nrr*)r-r6rr+typer3)other_type_eyerSrs rtest_matrix_conversion_to_ivrsq6266!9bffQi8( IIn % FF1IAcF|tAcF|+++xxzQXXZ''' (rc td}t|gg}tj|}tj|gg}||k(sJ||z}||z}||k(sJ|djdkDsJ|djdksJ|djdkDsJ|djdksJtj d|dvsJtj d|dvsJtjtj dtjdtddzztjtddtddgtddtddggk(sJy) Nz1.00000000000001r*gؗҜy yy yr)r0rKmpmathrIrOr^rbrhrorvrrrrrmarkxfailrrrrrrrsz -^ &/d!NB 9  $ " '  (zr