Manipulácia s maticou v Pythone

V python matrix môže byť implementovaný ako 2D zoznam alebo 2D Array. Vytvorenie matice z posledne menovaného poskytuje ďalšie funkcie na vykonávanie rôznych operácií v matici. Tieto operácie a pole sú definované v module nemotorný .

Operácia na Matrixe:

    1. add() :- Táto funkcia sa používa na vykonanie sčítanie matice prvkov . 2. subtract() :- Táto funkcia sa používa na vykonanie element wise matrix odčítanie . 3. division() :- Táto funkcia sa používa na vykonanie element wise maticové delenie .

Implementácia:

Python




# Python code to demonstrate matrix operations> # add(), subtract() and divide()> > # importing numpy for matrix operations> import> numpy> > # initializing matrices> x> => numpy.array([[> 1> ,> 2> ], [> 4> ,> 5> ]])> y> => numpy.array([[> 7> ,> 8> ], [> 9> ,> 10> ]])> > # using add() to add matrices> print> (> 'The element wise addition of matrix is : '> )> print> (numpy.add(x,y))> > # using subtract() to subtract matrices> print> (> 'The element wise subtraction of matrix is : '> )> print> (numpy.subtract(x,y))> > # using divide() to divide matrices> print> (> 'The element wise division of matrix is : '> )> print> (numpy.divide(x,y))>

Výkon :

The element wise addition of matrix is : [[ 8 10] [13 15]] The element wise subtraction of matrix is : [[-6 -6] [-5 -5]] The element wise division of matrix is : [[ 0.14285714 0.25 ] [ 0.44444444 0.5 ]] 
    4. multiply() :- Táto funkcia sa používa na vykonanie násobenie matice prvkov . 5. bodka() :- Táto funkcia sa používa na výpočet maticové násobenie, nie násobenie po prvkoch .

Python




# Python code to demonstrate matrix operations> # multiply() and dot()> > # importing numpy for matrix operations> import> numpy> > # initializing matrices> x> => numpy.array([[> 1> ,> 2> ], [> 4> ,> 5> ]])> y> => numpy.array([[> 7> ,> 8> ], [> 9> ,> 10> ]])> > # using multiply() to multiply matrices element wise> print> (> 'The element wise multiplication of matrix is : '> )> print> (numpy.multiply(x,y))> > # using dot() to multiply matrices> print> (> 'The product of matrices is : '> )> print> (numpy.dot(x,y))>

Výkon :

The element wise multiplication of matrix is : [[ 7 16] [36 50]] The product of matrices is : [[25 28] [73 82]] 
    6. sqrt() :- Táto funkcia sa používa na výpočet druhá odmocnina každého prvku matice. 7. sum(x,os) :- Táto funkcia sa používa na pridajte všetky prvky v matici . Argument voliteľnej osi počíta súčet stĺpca, ak je os 0 a riadkový súčet, ak je os 1 . 8. T :- Tento argument je zaužívaný transponovať špecifikovaná matica.

Implementácia:

Python




# Python code to demonstrate matrix operations> # sqrt(), sum() and 'T'> > # importing numpy for matrix operations> import> numpy> > # initializing matrices> x> => numpy.array([[> 1> ,> 2> ], [> 4> ,> 5> ]])> y> => numpy.array([[> 7> ,> 8> ], [> 9> ,> 10> ]])> > # using sqrt() to print the square root of matrix> print> (> 'The element wise square root is : '> )> print> (numpy.sqrt(x))> > # using sum() to print summation of all elements of matrix> print> (> 'The summation of all matrix element is : '> )> print> (numpy.> sum> (y))> > # using sum(axis=0) to print summation of all columns of matrix> print> (> 'The column wise summation of all matrix is : '> )> print> (numpy.> sum> (y,axis> => 0> ))> > # using sum(axis=1) to print summation of all columns of matrix> print> (> 'The row wise summation of all matrix is : '> )> print> (numpy.> sum> (y,axis> => 1> ))> > # using 'T' to transpose the matrix> print> (> 'The transpose of given matrix is : '> )> print> (x.T)>

Výkon :

The element wise square root is : [[ 1. 1.41421356] [ 2. 2.23606798]] The summation of all matrix element is : 34 The column wise summation of all matrix is : [16 18] The row wise summation of all matrix is : [15 19] The transpose of given matrix is : [[1 4] [2 5]] 

Použitie vnorených slučiek:

Prístup:

  • Definujte matice A a B.
  • Získajte počet riadkov a stĺpcov matíc pomocou funkcie len().
  • Inicializujte matice C, D a E nulami pomocou vnorených slučiek alebo porozumenia zoznamu.
  • Na sčítanie, odčítanie a delenie matíc po prvkoch použite vnorené cykly alebo porozumenie zoznamu.
  • Vytlačte výsledné matice C, D a E.

Python3




A> => [[> 1> ,> 2> ],[> 4> ,> 5> ]]> B> => [[> 7> ,> 8> ],[> 9> ,> 10> ]]> rows> => len> (A)> cols> => len> (A[> 0> ])> > # Element wise addition> C> => [[> 0> for> i> in> range> (cols)]> for> j> in> range> (rows)]> for> i> in> range> (rows):> > for> j> in> range> (cols):> > C[i][j]> => A[i][j]> +> B[i][j]> print> (> 'Addition of matrices: '> , C)> > # Element wise subtraction> D> => [[> 0> for> i> in> range> (cols)]> for> j> in> range> (rows)]> for> i> in> range> (rows):> > for> j> in> range> (cols):> > D[i][j]> => A[i][j]> -> B[i][j]> print> (> 'Subtraction of matrices: '> , D)> > # Element wise division> E> => [[> 0> for> i> in> range> (cols)]> for> j> in> range> (rows)]> for> i> in> range> (rows):> > for> j> in> range> (cols):> > E[i][j]> => A[i][j]> /> B[i][j]> print> (> 'Division of matrices: '> , E)>

Výkon

Addition of matrices: [[8, 10], [13, 15]] Subtraction of matrices: [[-6, -6], [-5, -5]] Division of matrices: [[0.14285714285714285, 0.25], [0.4444444444444444, 0.5]] 

Časová zložitosť: O(n^2)
Priestorová zložitosť: O(n^2)