K ib.dZddlZddlZddlZddlZddlmZmZm Z m Z m Z m Z m Z dZdZdZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZ GddZ!dZ"dZ#y)zTests of interaction of matrix with other parts of numpy. Note that tests with MaskedArray and linalg are done in separate files. N)assert_assert_almost_equalassert_array_almost_equalassert_array_equal assert_equal assert_raisesassert_raises_regexcptjddgddgg}tt|gdddftjtjtj dj dd}t|ddtjd f|ddd fjy) N)rr r2 ) npmatrixr isinstanceasmatrixarangereshaperarrayT)mxs l/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/matrixlib/tests/test_interaction.pytest_fancy_indexingrs Aq6Aq6"#A JqA 23 BIIbM))!R01A2A2rxx|#$aBikk2cddg}ddg}tj||g}tjjj |||}t t |tjy)Nrrr r )rr polynomial polyutils mapdomainrr)dom1dom2rress rtest_polynomial_mapdomainr'%sY q6D q6D 4,A -- ! ! + +AtT :C JsBII &'rctjgdg}tj|d}tjgdg}t||t t |tjuy)Nr r raxisrr r )rrsortrrtypeaactualexpecteds rtest_sort_matrix_noner3/sQ 9+A WWQT "Fyy)%H" DNbii '(rctjgdg}tj|dd}tjgdg}t||t t |tjuy)Nr)r r*r,)rr partitionrrr.r/s rtest_partition_matrix_noner68sU 9+A \\!QT *Fyy)%H" DNbii '(rctjddgt}tjddggt}ttj|d|ttjd||yNr r dtyper )rrobjectrdotarrdesireds r%test_dot_scalar_and_matrix_of_objectsrABsV ))QF& )Cii!Q/GQ)3)rctjdtjdzdzD]}tjd|d}tjddgdd gg|}tjdd gd d gg|}t tj |||t tj |||y) N AllIntegerAllFloat?r r9r r rr; )r typecodesrrrinner)dtscar?r@s rtest_inner_scalar_and_matrixrMKsll<(2<< +CCcI2hhq#B'ii!Q!Q(3))aVaW-R8RXXc3'1RXXc3'1 2rctjddgt}tjddggt}ttj|d|ttjd||yr8)rrr<rrJr>s r'test_inner_scalar_and_matrix_of_objectsrOUsX ))QF& )Cii!Q/G#q!7+!S!7+rc tjddgddgg}tjdjddj}tj ||dggdgdgddgg}t t|jdtjut t|jdtjut|jdjdtjdjddd}tttj ||dggdgdgddggtj ||dggdgdggd g}t t|jdtjut t|jdtjut|jdjd y) Nr r r rreadonly writeonlyallocate)r r )rRrS no_subtype)r r r )rrrrrnditerrr.operandsndarrayrshaper RuntimeError)r0bis r!test_iter_allocate_output_subtyper\^s Aq6Aq6"#A ! Q"$$A 1a,<* Z/HI KA DA 299 ,- DA rzz 12A$$f- ! Q1%A, Aq$<<* Z/HIK 1a,<*:< =A DA 2:: -. DA ryy 01A$$i0rcVtjddgddgg}tjtjtjfD]\}||}t t |tju||d}t t |tju^y)Nr r r rF)subok)rr zeros_like ones_like empty_likerr.)r0 like_functionrZcs rrbrbys Aq6Aq6"#A bmmC* ! Q299$% !5 )Qryy() *rctjgdgdgd}|jddd}t||u|jdd }t ||t t |tj|jddd}t ||t||utt |tjuy) Nr,)r rrf4r9TF)r^copyi4)rf)rrastyperrr.r0rZs rtest_array_astyperjs 9i(5A T.A AFO E"AAa"))$ U/AA a DG299 $%rc~tjddgddgg}ttdtj||gy)Nr r r rzshape too large to be a matrix)rrr ValueErrorstack)rs r test_stackrns9 Aq6Aq6"#A $D1a&*rctjddgt}tjddggt}ttj|d|ttjd||yr8)rrr<rmultiplyr>s rtest_object_scalar_multiplyrqsX ))QF& )Cii!Q/GS!$g.Q$g.rc tjtjd}tjtjfD]}||d}t t |tjt |jdk(||d}t t |tjt |jdk(||}t tj|tj|d<tjtjfD]0}tjd5}tjd ||d}t t |tjt tjtj| t t|dk(dddtjd5}tjd ||d}t t |tjt tj|d xr4tj|d  xrtj|d  t t|dk(d t t!|dj"t$dddtjd5}tjd ||}t tj|t |tjk7t t|dk(ddd3y#1swYxYw#1swYxYw#1swYXxYw)Nr rr*r r r r r T)recordalways)r r)rr)r rzno warning raised)rreyenanminnanmaxrrrXisscalarnanwarningscatch_warnings simplefilteranyisnanlen issubclasscategoryRuntimeWarning)matfr&ws rtest_nanfunctions_matricesrs ))BFF1I Cii #"!n 3 *+ V#$!n 3 *+ V#$f C !"VVCFii #!  $ $D 1 !Q  ! !( +Ca.C JsBII. / rxx}-- . CFaK  ! $ $D 1 ?Q  ! !( +Ca.C JsBII. / BHHSY'0T0C,C0HHSY// 1 CFaK!4 5 Jqt}}n= > ? $ $D 1 !Q  ! !( +C&C BKK$ % C266M " CFaK  ! !#! ! ! ? ? ! !s' B M&5CM3+A/M?&M0 3M< ?N cxtjtjd}tjtjtj tj tjtjtjfD]}||d}tt|tjt|jdk(||d}tt|tjt|jdk(||}ttj|tjtjfD]}||d}tt|tjt|jdk(||d}tt|tjt|jdk(||}tt|tjt|jdk(y) Nr rr*rsr rt)r r )r rG)rrrw nanargmin nanargmaxnansumnanprodnanmeannanvarnanstdrrrXrz nancumsum nancumprod)rrr&s r"test_nanfunctions_matrices_generalrsx ))BFF1I CllBLL"))RZZjj"))RYY0 "!n 3 *+ V#$!n 3 *+ V#$f C ! "\\2== ( )!n 3 *+ V#$!n 3 *+ V#$f 3 *+ Z'( )rctjtjjdd}t |j dtj |dtjddgddgg}tjddgddgg}tj |d|}tt|tjt|dd ggy) Nrrr r r r)r+weightsg@g @) rrrandomrandrmeanaveragerr.)yr0rrs rtest_average_matrixrs "))..A&'Aqvvay"**Q"23 Aq6Aq6"#A Aq6Aq6"#A 11a(Aa"))$c8_%&rc4tjdd}tjdd}tj|}tj|}tj||}tj||j}t ||y)Nrr)rlinspacerr=rr)rrmxmyrmrs rtest_dot_matrixrsk AqA BA 1B 1B q! A BDD BArcttjtjdtjsJttjtjddtjsJy)Nr )to_begin)rrediff1drrFrrtest_ediff1d_matrixrsN bjj1. :: : bjj1:BII FF Frcd}tjddgddgg}tjddgddgg}tj|d|}tt |tjt ||tj|d|}tt |tjt ||y)Nc |dzSNr rF)rows rdoublez,test_apply_along_axis_matrix..doubles Qwrrr r r rr;)rrapply_along_axisrrr)rrr2results rtest_apply_along_axis_matrixr s Aq6Aq6"#Ayy1a&1a&)*H  A .F Jvryy )*vx(  A .F Jvryy )*vx(rctjddg}tj|}tt tj ||tj tt tj ||tjtt tj ||tjtt tj ||tjyr)ronesrrr.kronrWr)r0rs rtest_kron_matrixrs AA AAbggam$bjj1bggam$bii0bggam$bii0bggam$bii0rceZdZdZdZdZy)TestConcatenatorMatrixcddgddgtjdf}tjdf}tt|tjtt|tjttj |gdgttj |dgdgdgdggt tfdy) Nr r r rrrc)r r r rc0tjdfS)Nrc)rr_risrz4TestConcatenatorMatrix.test_matrix..8s"%%a *;r)rrrr.rrrrl)selfab_rab_cr0rZs @@r test_matrixz"TestConcatenatorMatrix.test_matrix+s F FuuS!QYuuS!QYT$Z+T$Z+RXXd^l^4RXXd^qcA3aS%9:j";2rN)__name__ __module__ __qualname__rrrrFrrrr)s =/ 3rrc8tjt5}tt j ddgt j ddgdddtj}tjd}t||y#1swY@xYw)Nr r zw Arrays are not equal (shapes (2,), (1, 2) mismatch) ACTUAL: array([1, 2]) DESIRED: matrix([[1, 2]])) pytestraisesAssertionErrorrrrrstrvaluetextwrapdedent)exc_infomsg msg_references r%test_array_equal_error_message_matrixrKsv ~ &:(RXXq!f%ryy!Q'89: hnn COO%"#Mm$::s 7BBc>tjddgg}tjdtjgg}tjdtj gg}tjtjtjgg}tjddgtjtjgg}tt fD]>}|||||fD]2}|||tj |}||||||4@y)Ng?g@)rrr{infrrr)m1m2m3m4m5 assert_funcrr0s rtest_array_almost_equal_matrixrZs RH: B RL> "B R"&&M? #B RVVRVV$% &B RHrvvrvv./ 0B02EE RR# A 1  A 1  1   r)$__doc__rr|rnumpyr numpy.testingrrrrrrr rr'r3r6rArMrOr\rbrjrnrqrrrrrrrrrrrFrrrs  3())*2,16*&&*/&!R)8 ' G )&133D %r