Matryce

Macierz to zbiór liczb .

Macierz to tablica prostokątna .

Macierz jest ułożona w Wiersze i Kolumny .

Wymiary matrycy

Ta macierz ma 1 wiersz i 3 kolumny:

C =  
2 5 3

Wymiar matrycy to ( 1 x 3 ).


Ta macierz ma 2 wiersze i 3 kolumny:

C =  
2 5 3
4 7 1

Wymiar matrycy to ( 2 x 3 ).


Macierze kwadratowe

Macierz kwadratowa to macierz o tej samej liczbie wierszy i kolumn.

Macierz n na n jest znana jako macierz kwadratowa rzędu n.

Macierz 2 na 2 (macierz kwadratowa rzędu 2):

C =  
1 2
3 4

Macierz 4 na 4 (macierz kwadratowa rzędu 4):

C =  
1 -2 3 4
5 6 -7 8
4 3 2 -1
8 7 6 -5

Macierze przekątne

Macierz przekątna ma wartości na przekątnych wpisów i zero w pozostałych:

C =   
2 0 0
0 5 0
0 0 3

Macierze skalarne

Macierz skalarna ma równe wpisy po przekątnej i zero w pozostałych:

C =   
3 0 0 0
0 3 0 0
0 0 3 0
0 0 0 3

Macierz tożsamości

Identity Matrix ma 1 na przekątnej i 0 na pozostałych.

To jest macierzowy odpowiednik 1. Symbolem jest I .

ja =   
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

Jeśli pomnożysz dowolną macierz przez macierz jednostkową, wynik będzie równy oryginałowi.


Matryca zerowa

Macierz zerowa (macierz zerowa) ma tylko zera.

C =   
0 0 0
0 0 0

Równe macierze

Macierze są równe , jeśli każdy element odpowiada:

2 5 3
4 7 1
  =  
2 5 3
4 7 1

Macierze ujemne

Negatyw macierzy jest łatwy do zrozumienia:

  -  
-2 5 3
-4 7 1
  =  
2 -5 -3
4 -7 -1

Algebra liniowa w JavaScript

W algebrze liniowej najprostszym obiektem matematycznym jest Skalar :

const scalar = 1;

Innym prostym obiektem matematycznym jest Array :

const array = [ 1, 2, 3 ];

Macierze są tablicami dwuwymiarowymi :

const matrix = [ [1,2],[3,4],[5,6] ];

Wektory można zapisać jako macierze z tylko jedną kolumną:

const vector = [ [1],[2],[3] ];

Wektory można również zapisać jako tablice :

const vector = [ 1, 2, 3 ];

Operacje na macierzy JavaScript

Programowanie operacji na macierzach w JavaScript może łatwo stać się spaghetti pętli.

Korzystanie z biblioteki JavScript pozwoli Ci zaoszczędzić wiele bólu głowy.

Jedna z najpopularniejszych bibliotek używanych do operacji na macierzach nazywa się math.js .

Można go dodać do swojej strony internetowej za pomocą jednego wiersza kodu:

Korzystanie z math.js

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/9.3.2/math.js"></script>

Dodawanie macierzy

Jeśli dwie macierze mają ten sam wymiar, możemy je dodać:

2 5 3
4 7 1
 + 
4 7 1
2 5 3
 = 
6 12 4
6 12 4

Przykład

const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);
const mB = math.matrix([[1,-1], [2,-2], [3,-3]]);

// Matrix Addition
const matrixAdd = math.add(mA, mB);

// Result [ [2, 1], [5, 2], [8, 3] ]


Odejmowanie macierzy

Jeśli dwie macierze mają ten sam wymiar, możemy je odjąć:

2 5 3
4 7 1
 - 
4 7 1
2 5 3
 = 
-2 -2 2
2 2 -2

Przykład

const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);
const mB = math.matrix([[1,-1], [2,-2], [3,-3]]);

// Matrix Subtraction
const matrixSub = math.subtract(mA, mB);

// Result [ [0, 3], [1, 6], [2, 9] ]

Aby dodać lub odjąć macierze, muszą one mieć ten sam wymiar.


Mnożenie przez skalar

Podczas gdy liczby w wierszach i kolumnach nazywane są macierzami , pojedyncze liczby nazywane są skalarami .

Łatwo jest pomnożyć macierz przez skalar. Po prostu pomnóż każdą liczbę w macierzy przez skalar:

2 5 3
4 7 1
   x 2 =   
4 10 6
8 14 2

Przykład

const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);

// Matrix Multiplication
const matrixMult = math.multiply(2, mA);

// Result [ [2, 4], [6, 8], [10, 12] ]

Przykład

const mA = math.matrix([[0, 2], [4, 6], [8, 10]]);

// Matrix Division
const matrixDiv = math.divide(mA, 2);

// Result [ [0, 1], [2, 3], [4, 5] ]


Transponuj macierz

Transpozycja macierzy oznacza zastąpienie wierszy kolumnami.

Kiedy zamieniasz wiersze i kolumny, obracasz macierz wokół jej przekątnej.

A =   
1 2
3 4
    A T =  
1 3
2 4

Mnożenie macierzy

Mnożenie macierzy jest trudniejsze.

Dwie macierze możemy pomnożyć tylko wtedy, gdy liczba wierszy w macierzy A jest równa liczbie kolumn w macierzy B.

Następnie musimy skompilować „iloczyn skalarny”:

Musimy pomnożyć liczby w każdym rzędzie A przez liczby w każdej kolumnie B , a następnie dodać produkty:

Przykład

const mA = math.matrix([[1, 2, 3]]);
const mB = math.matrix([[1, 2, 3], [1, 2, 3], [1, 2, 3]]);

// Matrix Multiplication
const matrixMult = math.multiply(mA, mB);

// Result [ [6, 12, 18] ]

Wyjaśniono:

A b C C
1
2
3
 x 
1 1 1
2 2 2
3 3 3
 = 
1x1 + 2x1 + 3x1
1x2 + 2x2 + 3x2
1x3 + 2x3 + 3x3
 = 
6
12
18

Jeśli wiesz, jak mnożyć macierze, możesz rozwiązać wiele złożonych równań.

Przykład

Sprzedajesz róże.

  • Czerwone róże kosztują 3 dolary za sztukę
  • Białe róże kosztują 4 USD za sztukę
  • Żółte róże kosztują 2 dolary za sztukę
  • W poniedziałek sprzedałeś 260 róż
  • We wtorek sprzedałeś 200 róż
  • W środę sprzedałeś 120 róż

Jaka była wartość całej sprzedaży?

Czerwona róża3 zł biały4 zł Żółty$2
pon1208060
Wt907040
Poślubić604020
A b C C
3 zł
4 zł
$2
 x 
120 80 60
90 70 40
60 40 20
 = 
800 zł
630 zł
$380
 = 
$1810

Przykład

const mA = math.matrix([[3, 4, 2]]);
const mB = math.matrix([[120, 90, 60], [80, 70, 40], [60, 40, 20]);

// Matrix Multiplication
const matrixMult = math.multiply(mA, mB);

// Result [ [800, 630, 380] ]

Wyjaśniono:

A b C C
3 zł
4 zł
$2
 x 
120 80 60
90 70 40
60 40 20
 = 
3x120 zł + 4x80 zł + 60 zł
3x90zł + 4x70zł + 2złx40
3x60 + 4x40 + 2x20
 = 
800 zł
630 zł
$380

Faktoryzacja macierzy

W przypadku sztucznej inteligencji musisz wiedzieć, jak rozłożyć macierz na czynniki.

Faktoryzacja macierzy jest kluczowym narzędziem w algebrze liniowej, zwłaszcza w liniowych najmniejszych kwadratach.