Dependencia lineal de vectores con solve de numpy

Contenido del Bootcamp Dirigido por: | Última modificación: 8 de julio de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En este artículo veremos algunos ejercicios acerca de la dependencia lineal de vectores con solve de numpy.

Dependencia lineal de vectores con solve de numpy

Dependencia lineal de vectores con solve de numpy: ejercicios

Primer ejercicio

Para el primer ejercicio de dependencia lineal de vectores con solve de numpy supongamos que queremos determinar si los siguientes vectores son linealmente independientes:

x1 = [1.2, 1.1]

x2 = [-2.2, 1.4]

Para hacer este ejercicio con numpy, tenemos que hacerlo en forma de array y debemos definir el array. En este caso, como tenemos dos componentes, tenemos que crear una matriz de 2×2:

#ejercicio de dependencia lineal de vectores con solve de numpy
A = np.array ([[1.2, -2.2],
                         [1.1, 1.4]])
b = np.array ([0, 0])

x = np.linalg.solve (A, b)

array ([0.1 0.])

Esto comprueba que estos vectores son linealmente independientes.

Como podemos ver en el resultado, estos vectores también son linealmente independientes, ya que la única solución a la ecuación es aquella en la que los escalares son iguales a cero.

Segundo ejercicio

Ahora veamos un ejercicio de dependencia lineal de vectores con solve de numpy relacionado con el anterior, en donde veremos qué pasa si existe una dependencia lineal, debido a que los escalares han tomado ciertos valores.

Determinemos si, por ejemplo, los siguientes vectores son linealmente independientes:

x1= [3, 2, 2, 3]

x2 = [3, 2, 1, 2]

x3 = [3, 2, 0, 1]

La ecuación a resolver viene definida por:

α1 [3, 2, 2, 3] + α2 [3, 2, 1, 2] + α3 [3, 2, 0, 1] = 0

Lo primero que haremos será definir las variables sobre las que queremos calcular, que en este caso son α1, α2, α3. Posteriormente, definimos una matriz, ya que vamos a definir un sistema de ecuaciones.

Entonces, la matriz viene dada por 3 vectores y 4 componentes en cada vector. Abrimos, por tanto, unos paréntesis y escribimos los primeros componentes de cada vector; en este caso sería (3, 3, 3). A esto tenemos que añadir el vector resultante, ya que para usar un vector numpy tenemos que crear un vector b. Al final lo que tenemos es una forma como la siguiente:

#ejercicio de dependencia lineal de vectores con solve de numpy
#AX = b

Lo que queremos hacer en este caso es despejar x. Ahora, tendríamos que hacer exactamente lo mismo, es decir, crear un vector b que guardaría el resultado de la operación anterior (α1 [3, 2, 2, 3] + α2 [3, 2, 1, 2] + α3 [3, 2, 0, 1] = 0). Para esta ocasión, como lo que queremos es igualarlo a 0, sería un vector lleno de ceros.

Aquí, para introducirlo directamente en la matriz de sympy, lo que haremos es ponerle un cero, de tal forma que quedaría como (3, 3, 3, 0).

Después de todo este proceso en nuestro ejercicio de dependencia lineal de vectores con solve de numpy, vamos a coger los segundos componentes de todos los vectores y le añadimos otro 0. Hacemos lo mismo con los terceros y los cuartos componentes:

#ejercicio de dependencia lineal de vectores con solve de numpy
α1, α2, α3 = sp.symbols ('α1, α2, α3')
A_matrix = sp.Matrix (((3, 3, 3, 0), (2, 2, 2, 0), (2, 1, 0, 0), (3, 2, 1, 0)))
print (A_matrix)

Matrix ([[3, 3, 3, 0], [2, 2, 2, 0], [2, 1, 0, 0], [3, 2, 1, 0]])

#ejercicio de dependencia lineal de vectores con solve de numpy
sp.solve_linear_system (A_matrix, a1, a2, a3)

1 : α3, α2 : -2α3}

#ejercicio de dependencia lineal de vectores con solve de numpy
a1 = 2
a3 = a1
a2 = -2 * a3

print (a1, a2, a3)

2 -4 2

Como vemos, esta solución no es trivial, ya que, por ejemplo, existe la solución α1 = 1, α2 = -2, α3 = 1, en la que los escalares no son iguales a cero. Por lo tanto, este sistema es linealmente dependiente.

Ahora que hemos visto cómo funciona la dependencia lineal de vectores con solve de numpy, puedes seguir aprendiendo sobre el sector IT en el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. Con esta formación intensiva e íntegra lograrás adquirir todos los conocimientos tanto teóricos como prácticos que requieres para entrar en el mercado laboral en menos de un año. ¡Anímate a impulsar tu vida profesional y solicita más información ya mismo!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado