1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
U
P±dÅ/ã@sdZddlZddlZddlZddlZddlmZmZm    Z    m
Z
m Z m Z m Z dd„Zdd„Zdd    „Zd
d „Zd d „Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Z Gd*d+„d+ƒZ!d,d-„Z"d.d/„Z#dS)0zƒTests of interaction of matrix with other parts of numpy.
 
Note that tests with MaskedArray and linalg are done in separate files.
éN)Úassert_Ú assert_equalÚ assert_raisesÚassert_raises_regexÚassert_array_equalÚassert_almost_equalÚassert_array_almost_equalcCs~t ddgddgg¡}tt|dddgdd…ftjƒƒt t d¡ dd¡¡}t|dd…t d    ¡f|dd…d    fj    ƒdS)
Nééééré2éé
éÿÿÿÿ)
ÚnpÚmatrixrÚ
isinstanceÚasmatrixÚarangeÚreshaperÚarrayÚT)ÚmÚx©rú]d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/matrixlib/tests/test_interaction.pyÚtest_fancy_indexings"rcCsDddg}ddg}t ||g¡}tjj |||¡}tt|tjƒƒdS)Nrr r    r )rrZ
polynomialZ    polyutilsZ    mapdomainrr)Zdom1Zdom2rÚresrrrÚtest_polynomial_mapdomains
rcCsRt dddgg¡}tj|dd}t dddgg¡}t||ƒtt|ƒtjkƒdS©Nr
r    r©Úaxis)rrÚsortrrÚtype©ÚaÚactualÚexpectedrrrÚtest_sort_matrix_none)s
 
r)cCsTt dddgg¡}tj|ddd}t dddgg¡}t||ƒtt|ƒtjkƒdSr )rrÚ    partitionrrr$r%rrrÚtest_partition_matrix_none2s
 
r+cCsNtjddgtd}tjddggtd}tt |d¡|ƒtt d|¡|ƒdS©Nr    r
©Zdtyper é)rrÚobjectrÚdot©ÚarrÚdesiredrrrÚ%test_dot_scalar_and_matrix_of_objects<sr4cCsŒtjdtjddD]n}tjd|dd}tjddgdd    gg|d}tjdd
gd d gg|d}tt ||¡|ƒtt ||¡|ƒqdS) NZ
AllIntegerZAllFloatú?r r-rr    r
r r.é    é )rZ    typecodesrrrÚinner)ÚdtZscar2r3rrrÚtest_inner_scalar_and_matrixEs r:cCsNtjddgtd}tjddggtd}tt |d¡|ƒtt d|¡|ƒdSr,)rrr/rr8r1rrrÚ'test_inner_scalar_and_matrix_of_objectsOsr;c    Cs2t ddgddgg¡}t d¡ dd¡j}t ||dggdgdgddgg¡}tt|jdƒtjkƒtt|jdƒtj    k    ƒt
|jdj dƒt d¡ ddd¡}t t tj||dggdgdgddggƒt ||dggdgdgddd    gg¡}tt|jdƒtj    kƒtt|jdƒtjk    ƒt
|jdj d
ƒdS) Nr    r
r r ÚreadonlyZ    writeonlyÚallocate)r
r
Z
no_subtype)r    r
r
)rrrrrZnditerrr$ZoperandsÚndarrayrÚshaperÚ RuntimeError)r&ÚbÚirrrÚ!test_iter_allocate_output_subtypeXs(ÿÿÿÿrCcCsht ddgddgg¡}tjtjtjfD]<}||ƒ}tt|ƒtjkƒ||dd}tt|ƒtjk    ƒq&dS)Nr    r
r r F)Úsubok)rrZ
zeros_likeZ    ones_likeZ
empty_likerr$)r&Ú like_functionrAÚcrrrrEss  rEcCsžtjdddgdddggdd}|jdd    d
d }t||kƒ|jd d
d }t||ƒtt|ƒtjƒ|jdd
d
d }t||ƒt||k    ƒtt|ƒtjk    ƒdS)Nrr    r
r r rZf4r-TF)rDÚcopyÚi4)rG)rrZastyperrr$©r&rArrrÚtest_array_astype~s 
 
 rJcCs.t ddgddgg¡}ttdtj||gƒdS)Nr    r
r r zshape too large to be a matrix)rrrÚ
ValueErrorÚstack)rrrrÚ
test_stack‘s
ÿrMcCsNtjddgtd}tjddggtd}tt |d¡|ƒtt d|¡|ƒdSr,)rrr/rÚmultiplyr1rrrÚtest_object_scalar_multiply™srOc
Cst t d¡¡}tjtjfD]n}||dd}tt|tjƒƒt|jdkƒ||dd}tt|tjƒƒt|jdkƒ||ƒ}tt |¡ƒqtj    |d<tjtjfD]X}t
j ddR}t
  d    ¡||dd}tt|tjƒƒtt  t |¡¡ ƒtt|ƒdkƒW5QRXt
j ddˆ}t
  d    ¡||dd}tt|tjƒƒtt |d
¡ort |d ¡ ort |d ¡ ƒtt|ƒdkd ƒtt|djtƒƒW5QRXt
j ddD}t
  d    ¡||ƒ}tt |¡ƒt|tj    kƒtt|ƒdkƒW5QRXq¢dS)Nr rr!©r    r r    ©r r    T)ÚrecordÚalways)r    r)rr)r
rzno warning raised)rrÚeyeZnanminZnanmaxrrr?ÚisscalarÚnanÚwarningsÚcatch_warningsÚ simplefilterÚanyÚisnanÚlenÚ
issubclassÚcategoryÚRuntimeWarning)ÚmatÚfrÚwrrrÚtest_nanfunctions_matrices¢sB  
 
 
 $ÿ
rccCs0t t d¡¡}tjtjtjtjtjtjtj    fD]n}||dd}t
t |tjƒƒt
|j dkƒ||dd}t
t |tjƒƒt
|j dkƒ||ƒ}t
t  |¡ƒq0tjtjfD]~}||dd}t
t |tjƒƒt
|j dkƒ||dd}t
t |tjƒƒt
|j dkƒ||ƒ}t
t |tjƒƒt
|j dkƒq¬dS)    Nr rr!rPr    rQ)r r )r    r6)rrrTZ    nanargminZ    nanargmaxZnansumZnanprodZnanmeanZnanvarZnanstdrrr?rUZ    nancumsumZ
nancumprod)r`rarrrrÚ"test_nanfunctions_matrices_generalËs0ÿ    rdcCsŒt tj dd¡¡}t| d¡t |d¡ƒt ddgddgg¡}t ddgddgg¡}tj|d|d}tt|ƒtjƒt|dd    ggƒdS)
Nrrr    r
r r )r"Úweightsg@g«ªªªªª
@)    rrÚrandomZrandrZmeanZaveragerr$)Úyr&rbÚrrrrÚtest_average_matrixçsricCsNt dd¡}||}t ||¡}t |¡}t |¡}t ||¡}t||ƒdS)Nrr)rZlinspaceZtrapzrr)rrgrhZmxZmyÚmrrrrÚtest_trapz_matrixôs  
 
 rkcCs@tt t d¡¡tjƒst‚ttjt d¡ddtjƒs<t‚dS)Nr    )Zto_begin)rrZediff1drÚAssertionErrorrrrrÚtest_ediff1d_matrixsrmcCsˆdd„}t ddgddgg¡}t ddgddgg¡}t |d|¡}tt|tjƒƒt||ƒt |d|¡}tt|tjƒƒt||ƒdS)    NcSs|dS©Nr
r)ÚrowrrrÚdouble
sz,test_apply_along_axis_matrix.<locals>.doublerr    r
r r r.)rrZapply_along_axisrrr)rprr(ÚresultrrrÚtest_apply_along_axis_matrixs
rrcCs|t ddg¡}t |¡}ttt ||¡ƒtjƒttt ||¡ƒtjƒttt ||¡ƒtjƒttt ||¡ƒtjƒdSrn)rZonesrrr$Zkronr>r)r&rrrrÚtest_kron_matrixs 
rsc@s$eZdZdd„Zdd„Zdd„ZdS)ÚTestConcatenatorMatrixcs¢ddg‰ddg‰tjdˆˆf}tjdˆˆf}tt|ƒtjƒtt|ƒtjƒtt |¡ddddggƒtt |¡dgdgdgdggƒtt‡‡fdd„ƒdS)    Nr    r
r r rhrFcstjdˆˆfS)NÚrc)rÚr_rrIrrÚ<lambda>2óz4TestConcatenatorMatrix.test_matrix.<locals>.<lambda>)rrvrr$rrrrK)ÚselfZab_rZab_crrIrÚ test_matrix%s z"TestConcatenatorMatrix.test_matrixcCs@tjdddgdf}tt|ƒtjƒtt |¡dddggƒdS)Nrhr    r
r )rrvrr$rr)ryrhrrrÚtest_matrix_scalar4sz)TestConcatenatorMatrix.test_matrix_scalarcCspt dg¡}t dg¡}t dg¡}t dg¡}tjd}t ||g||gg¡}t||ƒtt|ƒt|ƒƒdS)Nr    r
r r z
a, b; c, d)rrrvZbmatrr$)ryr&rArFÚdr'r(rrrÚtest_matrix_builder9s    
 
z*TestConcatenatorMatrix.test_matrix_builderN)Ú__name__Ú
__module__Ú __qualname__rzr{r}rrrrrt#srtc    CsVt t¡$}tt ddg¡t ddg¡ƒW5QRXt|jƒ}t     
d¡}t||ƒdS)Nr    r
zl
    Arrays are not equal
 
    (shapes (2,), (1, 2) mismatch)
     x: array([1, 2])
     y: matrix([[1, 2]])) ÚpytestZraisesrlrrrrÚstrÚvalueÚtextwrapÚdedent)Úexc_infoÚmsgZ msg_referencerrrÚ%test_array_equal_error_message_matrixEs
 (
 
rˆcCs²t ddgg¡}t dtjgg¡}t dtj gg¡}t tjtjgg¡}t ddgtjtjgg¡}ttfD]@}|||||fD],}|||ƒt |¡}|||ƒ|||ƒq~qldS)Ngð?g@)rrrVÚinfrrr)Úm1Úm2Zm3Zm4Zm5Z assert_funcrr&rrrÚtest_array_almost_equal_matrixTs 
 
 
rŒ)$Ú__doc__rr„rWÚnumpyrZ numpy.testingrrrrrrrrrr)r+r4r:r;rCrErJrMrOrcrdrirkrmrrrsrtrˆrŒrrrrÚ<module>s6$
    
    
         )  
"