Basisbewerkingen: Lineaire Algebra
Lineaire Algebraïsche Bewerkingen
TensorFlow biedt een reeks functies speciaal voor lineaire algebra-bewerkingen, waardoor matrixbewerkingen eenvoudig uit te voeren zijn.
Matrixvermenigvuldiging
Hier volgt een korte herinnering aan hoe matrixvermenigvuldiging werkt.
Er zijn twee gelijkwaardige benaderingen voor matrixvermenigvuldiging:
- De functie
tf.matmul()
; - Het gebruik van de
@
-operator.
1234567891011121314import tensorflow as tf # Create two matrices matrix1 = tf.constant([[1, 2], [3, 4], [2, 1]]) matrix2 = tf.constant([[2, 0, 2, 5], [2, 2, 1, 3]]) # Multiply the matrices product1 = tf.matmul(matrix1, matrix2) product2 = matrix1 @ matrix2 # Display tensors print(product1) print('-' * 50) print(product2)
Vermenigvuldiging van matrices met afmetingen 3x2 en 2x4 resulteert in een matrix van 3x4.
Matrixinversie
De inverse van een matrix kan worden verkregen met de functie tf.linalg.inv()
. Laten we daarnaast een fundamentele eigenschap van de inverse matrix verifiëren.
123456789101112131415import tensorflow as tf # Create 2x2 matrix matrix = tf.constant([[1., 2.], [3., 4.]]) # Compute the inverse of a matrix inverse_mat = tf.linalg.inv(matrix) # Check the result identity = matrix @ inverse_mat # Display tensors print(inverse_mat) print('-' * 50) print(identity)
Vermenigvuldigen van een matrix met zijn inverse levert een identiteitsmatrix op, die enen op de hoofddiagonaal en nullen elders bevat. Daarnaast biedt de module tf.linalg
een breed scala aan lineaire algebra-functies. Voor meer informatie of geavanceerdere bewerkingen, raadpleeg de officiële documentatie.
Transponeren
Een getransponeerde matrix verkrijgen met de functie tf.transpose()
.
123456789101112import tensorflow as tf # Create a matrix 3x2 matrix = tf.constant([[1, 2], [3, 4], [2, 1]]) # Get the transpose of a matrix transposed = tf.transpose(matrix) # Display tensors print(matrix) print('-' * 40) print(transposed)
Inwendig product
Het inwendig product kan worden verkregen met de functie tf.tensordot()
. Door het argument axes in te stellen, kan worden gekozen langs welke assen het inwendig product wordt berekend. Bijvoorbeeld, voor twee vectoren levert axes=1
het klassieke inwendig product tussen vectoren op. Bij het instellen van axes=0
wordt een gebroadcast matrix langs as 0 verkregen:
1234567891011121314import tensorflow as tf # Create two vectors matrix1 = tf.constant([1, 2, 3, 4]) matrix2 = tf.constant([2, 0, 2, 5]) # Compute the dot product of two tensors dot_product_axes1 = tf.tensordot(matrix1, matrix2, axes=1) dot_product_axes0 = tf.tensordot(matrix1, matrix2, axes=0) # Display tensors print(dot_product_axes1) print('-' * 40) print(dot_product_axes0)
Als je twee matrices met geschikte afmetingen (NxM @ MxK
, waarbij NxM
de afmetingen van de eerste matrix en MxK
die van de tweede matrix weergeeft) neemt en het inwendig product berekent over axes=1
, voer je in wezen matrixvermenigvuldiging uit.
Swipe to start coding
Achtergrond
Een stelsel van lineaire vergelijkingen kan in matrixvorm worden weergegeven met de vergelijking:
AX = B
Waarbij:
A
een matrix van coëfficiënten is;X
een kolommatrix van variabelen is;B
een kolommatrix is die de waarden aan de rechterkant van de vergelijkingen weergeeft.
De oplossing voor dit stelsel kan worden gevonden met de formule:
X = A^-1 B
Waarbij A^-1
de inverse is van matrix A
.
Doelstelling
Gegeven een stelsel van lineaire vergelijkingen, gebruik TensorFlow om het op te lossen. Je krijgt het volgende stelsel van lineaire vergelijkingen:
2x + 3y - z = 1
.4x + y + 2z = 2
.-x + 2y + 3z = 3
.

- Zet het stelsel van vergelijkingen om in matrixvorm (splits het in matrices
A
enB
). - Gebruik TensorFlow om de inverse van matrix
A
te vinden. - Vermenigvuldig de inverse van matrix
A
met matrixB
om de oplossingsmatrixX
te vinden, die de waarden vanx
,y
enz
bevat.
Opmerking
Slicing in TensorFlow werkt vergelijkbaar met NumPy. Daarom haalt
X[:, 0]
alle elementen op uit de kolom met index0
. We behandelen slicing later in de cursus.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain the difference between tf.matmul() and the @ operator?
How do I interpret the output of the matrix inversion example?
Can you show more examples of using tf.tensordot() with different axes?
Awesome!
Completion rate improved to 5.56
Basisbewerkingen: Lineaire Algebra
Veeg om het menu te tonen
Lineaire Algebraïsche Bewerkingen
TensorFlow biedt een reeks functies speciaal voor lineaire algebra-bewerkingen, waardoor matrixbewerkingen eenvoudig uit te voeren zijn.
Matrixvermenigvuldiging
Hier volgt een korte herinnering aan hoe matrixvermenigvuldiging werkt.
Er zijn twee gelijkwaardige benaderingen voor matrixvermenigvuldiging:
- De functie
tf.matmul()
; - Het gebruik van de
@
-operator.
1234567891011121314import tensorflow as tf # Create two matrices matrix1 = tf.constant([[1, 2], [3, 4], [2, 1]]) matrix2 = tf.constant([[2, 0, 2, 5], [2, 2, 1, 3]]) # Multiply the matrices product1 = tf.matmul(matrix1, matrix2) product2 = matrix1 @ matrix2 # Display tensors print(product1) print('-' * 50) print(product2)
Vermenigvuldiging van matrices met afmetingen 3x2 en 2x4 resulteert in een matrix van 3x4.
Matrixinversie
De inverse van een matrix kan worden verkregen met de functie tf.linalg.inv()
. Laten we daarnaast een fundamentele eigenschap van de inverse matrix verifiëren.
123456789101112131415import tensorflow as tf # Create 2x2 matrix matrix = tf.constant([[1., 2.], [3., 4.]]) # Compute the inverse of a matrix inverse_mat = tf.linalg.inv(matrix) # Check the result identity = matrix @ inverse_mat # Display tensors print(inverse_mat) print('-' * 50) print(identity)
Vermenigvuldigen van een matrix met zijn inverse levert een identiteitsmatrix op, die enen op de hoofddiagonaal en nullen elders bevat. Daarnaast biedt de module tf.linalg
een breed scala aan lineaire algebra-functies. Voor meer informatie of geavanceerdere bewerkingen, raadpleeg de officiële documentatie.
Transponeren
Een getransponeerde matrix verkrijgen met de functie tf.transpose()
.
123456789101112import tensorflow as tf # Create a matrix 3x2 matrix = tf.constant([[1, 2], [3, 4], [2, 1]]) # Get the transpose of a matrix transposed = tf.transpose(matrix) # Display tensors print(matrix) print('-' * 40) print(transposed)
Inwendig product
Het inwendig product kan worden verkregen met de functie tf.tensordot()
. Door het argument axes in te stellen, kan worden gekozen langs welke assen het inwendig product wordt berekend. Bijvoorbeeld, voor twee vectoren levert axes=1
het klassieke inwendig product tussen vectoren op. Bij het instellen van axes=0
wordt een gebroadcast matrix langs as 0 verkregen:
1234567891011121314import tensorflow as tf # Create two vectors matrix1 = tf.constant([1, 2, 3, 4]) matrix2 = tf.constant([2, 0, 2, 5]) # Compute the dot product of two tensors dot_product_axes1 = tf.tensordot(matrix1, matrix2, axes=1) dot_product_axes0 = tf.tensordot(matrix1, matrix2, axes=0) # Display tensors print(dot_product_axes1) print('-' * 40) print(dot_product_axes0)
Als je twee matrices met geschikte afmetingen (NxM @ MxK
, waarbij NxM
de afmetingen van de eerste matrix en MxK
die van de tweede matrix weergeeft) neemt en het inwendig product berekent over axes=1
, voer je in wezen matrixvermenigvuldiging uit.
Swipe to start coding
Achtergrond
Een stelsel van lineaire vergelijkingen kan in matrixvorm worden weergegeven met de vergelijking:
AX = B
Waarbij:
A
een matrix van coëfficiënten is;X
een kolommatrix van variabelen is;B
een kolommatrix is die de waarden aan de rechterkant van de vergelijkingen weergeeft.
De oplossing voor dit stelsel kan worden gevonden met de formule:
X = A^-1 B
Waarbij A^-1
de inverse is van matrix A
.
Doelstelling
Gegeven een stelsel van lineaire vergelijkingen, gebruik TensorFlow om het op te lossen. Je krijgt het volgende stelsel van lineaire vergelijkingen:
2x + 3y - z = 1
.4x + y + 2z = 2
.-x + 2y + 3z = 3
.

- Zet het stelsel van vergelijkingen om in matrixvorm (splits het in matrices
A
enB
). - Gebruik TensorFlow om de inverse van matrix
A
te vinden. - Vermenigvuldig de inverse van matrix
A
met matrixB
om de oplossingsmatrixX
te vinden, die de waarden vanx
,y
enz
bevat.
Opmerking
Slicing in TensorFlow werkt vergelijkbaar met NumPy. Daarom haalt
X[:, 0]
alle elementen op uit de kolom met index0
. We behandelen slicing later in de cursus.
Oplossing
Bedankt voor je feedback!
single