Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Álgebra Lineal | Tensor Operations and Execution
Introducción a TensorFlow

bookÁlgebra Lineal

Operaciones de Álgebra Lineal

TensorFlow ofrece un conjunto de funciones dedicadas a las operaciones de álgebra lineal, facilitando el trabajo con operaciones matriciales.

Multiplicación de Matrices

A continuación, un recordatorio rápido sobre cómo funciona la multiplicación de matrices.

Existen dos enfoques equivalentes para la multiplicación de matrices:

  • La función tf.matmul();
  • El uso del operador @.
1234567891011121314
import 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)
copy
Note
Nota

Multiplicar matrices de tamaño 3x2 y 2x4 dará como resultado una matriz de 3x4.

Inversión de matrices

Puede obtener la inversa de una matriz utilizando la función tf.linalg.inv(). Además, verifiquemos una propiedad fundamental de la matriz inversa.

123456789101112131415
import 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)
copy
Note
Nota

Multiplicar una matriz por su inversa debe producir una matriz identidad, que tiene unos en su diagonal principal y ceros en el resto de posiciones. Además, el módulo tf.linalg ofrece una amplia gama de funciones de álgebra lineal. Para obtener más detalles o realizar operaciones avanzadas, puede consultar su documentación oficial.

Transposición

Se puede obtener una matriz transpuesta utilizando la función tf.transpose().

123456789101112
import 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)
copy

Producto punto

Se puede obtener un producto punto utilizando la función tf.tensordot(). Al configurar un argumento axes, se puede elegir a lo largo de qué ejes calcular el producto punto. Por ejemplo, para dos vectores, al establecer axes=1 se obtiene el producto punto clásico entre vectores. Pero al establecer axes=0, se obtiene una matriz transmitida a lo largo del eje 0:

1234567891011121314
import 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)
copy
Note
Nota

Si se toman dos matrices con dimensiones apropiadas (NxM @ MxK, donde NxM representa las dimensiones de la primera matriz y MxK las de la segunda), y se calcula el producto punto a lo largo de axes=1, esto realiza esencialmente una multiplicación de matrices.

Tarea

Swipe to start coding

Antecedentes

Un sistema de ecuaciones lineales puede representarse en forma matricial utilizando la ecuación:

AX = B

Donde:

  • A es una matriz de coeficientes;
  • X es una matriz columna de variables;
  • B es una matriz columna que representa los valores en el lado derecho de las ecuaciones.

La solución de este sistema puede encontrarse usando la fórmula:

X = A^-1 B

Donde A^-1 es la inversa de la matriz A.

Objetivo

Dado un sistema de ecuaciones lineales, utiliza TensorFlow para resolverlo. Se te proporciona el siguiente sistema de ecuaciones lineales:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Representa el sistema de ecuaciones en forma matricial (sepáralo en las matrices A y B).
  2. Utilizando TensorFlow, encuentra la inversa de la matriz A.
  3. Multiplica la inversa de la matriz A por la matriz B para encontrar la matriz solución X, que contiene los valores de x, y y z.

Nota

El corte (slicing) en TensorFlow funciona de manera similar a NumPy. Por lo tanto, X[:, 0] recuperará todos los elementos de la columna en el índice 0. Abordaremos el tema del slicing más adelante en el curso.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 2
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain the difference between tf.matmul() and the @ operator?

How do I know when to use tf.tensordot() instead of tf.matmul()?

Can you provide more examples of matrix operations in TensorFlow?

close

Awesome!

Completion rate improved to 6.25

bookÁlgebra Lineal

Desliza para mostrar el menú

Operaciones de Álgebra Lineal

TensorFlow ofrece un conjunto de funciones dedicadas a las operaciones de álgebra lineal, facilitando el trabajo con operaciones matriciales.

Multiplicación de Matrices

A continuación, un recordatorio rápido sobre cómo funciona la multiplicación de matrices.

Existen dos enfoques equivalentes para la multiplicación de matrices:

  • La función tf.matmul();
  • El uso del operador @.
1234567891011121314
import 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)
copy
Note
Nota

Multiplicar matrices de tamaño 3x2 y 2x4 dará como resultado una matriz de 3x4.

Inversión de matrices

Puede obtener la inversa de una matriz utilizando la función tf.linalg.inv(). Además, verifiquemos una propiedad fundamental de la matriz inversa.

123456789101112131415
import 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)
copy
Note
Nota

Multiplicar una matriz por su inversa debe producir una matriz identidad, que tiene unos en su diagonal principal y ceros en el resto de posiciones. Además, el módulo tf.linalg ofrece una amplia gama de funciones de álgebra lineal. Para obtener más detalles o realizar operaciones avanzadas, puede consultar su documentación oficial.

Transposición

Se puede obtener una matriz transpuesta utilizando la función tf.transpose().

123456789101112
import 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)
copy

Producto punto

Se puede obtener un producto punto utilizando la función tf.tensordot(). Al configurar un argumento axes, se puede elegir a lo largo de qué ejes calcular el producto punto. Por ejemplo, para dos vectores, al establecer axes=1 se obtiene el producto punto clásico entre vectores. Pero al establecer axes=0, se obtiene una matriz transmitida a lo largo del eje 0:

1234567891011121314
import 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)
copy
Note
Nota

Si se toman dos matrices con dimensiones apropiadas (NxM @ MxK, donde NxM representa las dimensiones de la primera matriz y MxK las de la segunda), y se calcula el producto punto a lo largo de axes=1, esto realiza esencialmente una multiplicación de matrices.

Tarea

Swipe to start coding

Antecedentes

Un sistema de ecuaciones lineales puede representarse en forma matricial utilizando la ecuación:

AX = B

Donde:

  • A es una matriz de coeficientes;
  • X es una matriz columna de variables;
  • B es una matriz columna que representa los valores en el lado derecho de las ecuaciones.

La solución de este sistema puede encontrarse usando la fórmula:

X = A^-1 B

Donde A^-1 es la inversa de la matriz A.

Objetivo

Dado un sistema de ecuaciones lineales, utiliza TensorFlow para resolverlo. Se te proporciona el siguiente sistema de ecuaciones lineales:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Representa el sistema de ecuaciones en forma matricial (sepáralo en las matrices A y B).
  2. Utilizando TensorFlow, encuentra la inversa de la matriz A.
  3. Multiplica la inversa de la matriz A por la matriz B para encontrar la matriz solución X, que contiene los valores de x, y y z.

Nota

El corte (slicing) en TensorFlow funciona de manera similar a NumPy. Por lo tanto, X[:, 0] recuperará todos los elementos de la columna en el índice 0. Abordaremos el tema del slicing más adelante en el curso.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 2
single

single

some-alt