Álgebra Vectorial y Matricial
Un enfoque moderno con Python y aplicaciones
Andreiv Domı́nguez Martı́nez
2025
Álgebra Vectorial y Matricial
2
Índice general
1. Vectores en el plano y en el espacio 5
1.1. Definición y representación geométrica . . . . . . . . . . . . . . . . . . . . 5
1.2. Suma y diferencia de vectores . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Producto por un escalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4. Producto punto o escalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5. Norma de un vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6. Norma de un vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7. Proyección Ortogonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.2. Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.3. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7.4. Visualización en Python (2D y 3D) . . . . . . . . . . . . . . . . . . . 13
1.7.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8. Ecuación vectorial de una recta en el plano y en el espacio . . . . . . . . . 15
1.9. Producto cruz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
[Link]́n vectorial del plano en el espacio . . . . . . . . . . . . . . . . . . . 17
[Link]́n lineal, independencia lineal y base . . . . . . . . . . . . . . . 18
1.11.1. Combinación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.11.2. Independencia lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.11.3. Base del plano y del espacio euclidiano . . . . . . . . . . . . . . . . 19
[Link] de posición y vector de dirección . . . . . . . . . . . . . . . . . . . . 20
[Link]́n en 3D de un robot manipulador . . . . . . . . . . . . . . . . . . 21
2. Matrices 23
2.1. Definición de matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3
ÍNDICE GENERAL Álgebra Vectorial y Matricial
4
Vectores en el plano y en el espacio
1.1 Definición y representación geométrica
Definición: Un vector es una entidad matemática que tiene magnitud y dirección. Se
representa como un segmento de recta orientado.
⃗v
Ejemplo 1: El vector ⃗v = (3, 2) parte del origen y llega al punto (3,2).
Ejemplo 2: El vector ⃗u = (−2, 4) parte del origen hacia la izquierda y arriba.
1.2 Suma y diferencia de vectores
Dados dos vectores ⃗a = (a1 , a2 ) y ⃗b = (b1 , b2 ), la suma se define como:
⃗a + ⃗b = (a1 + b1 , a2 + b2 )
Ejemplo 1
Sean ⃗a = (2, 3) y ⃗b = (−1, 4). Entonces:
⃗a + ⃗b = (2 + (−1), 3 + 4) = (1, 7)
Ejemplo 2
Sean ⃗u = (5, −2) y ⃗v = (3, 6). Entonces:
⃗u − ⃗v = (5 − 3, −2 − 6) = (2, −8)
5
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
⃗a + ⃗b
⃗b
⃗a
Propiedades algebraicas de la suma de vectores (axiomas de espacio
vectorial)
Conmutatividad: ⃗a + ⃗b = ⃗b + ⃗a
Asociatividad: (⃗a + ⃗b) + ⃗c = ⃗a + (⃗b + ⃗c)
Elemento neutro: Existe un vector ⃗0 tal que ⃗a + ⃗0 = ⃗a
Elemento opuesto: Para cada ⃗a existe un −⃗a tal que ⃗a + (−⃗a) = ⃗0
Demostración de la conmutatividad
Sean ⃗a = (a1 , a2 ) y ⃗b = (b1 , b2 ). Entonces:
⃗a + ⃗b = (a1 + b1 , a2 + b2 ) = (b1 + a1 , b2 + a2 ) = ⃗b + ⃗a
Demostración del elemento opuesto
Sea ⃗a = (a1 , a2 ), entonces −⃗a = (−a1 , −a2 ) y:
⃗a + (−⃗a) = (a1 − a1 , a2 − a2 ) = (0, 0) = ⃗0
Ejercicios
1. Calcula ⃗u + ⃗v para ⃗u = (1, 4) y ⃗v = (−2, 3).
2. Calcula ⃗a − ⃗b si ⃗a = (0, 7) y ⃗b = (5, 2).
3. Representa gráficamente ⃗u + ⃗v y ⃗u − ⃗v para ⃗u = (3, −1) y ⃗v = (1, 2).
4. Justifica si la suma de dos vectores es conmutativa.
6
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
5. Encuentra un vector ⃗x tal que ⃗x + (2, −3) = (5, 1).
6. Demuestra la propiedad asociativa para ⃗a = (1, 0), ⃗b = (2, 3) y ⃗c = (−1, 4).
Listing 1.1: Suma de vectores en Python
import numpy as np
u = np . array ([2 , 3])
v = np . array ([ -1 , 4])
suma = u + v
print ( " Suma de vectores : " , suma )
1.3 Producto por un escalar
El producto de un vector ⃗v = (v1 , v2 ) por un escalar λ ∈ R se define como:
λ⃗v = (λv1 , λv2 )
Geométricamente, este producto estira o encoge el vector y puede invertir su dirección si
λ < 0.
Ejemplo 1
Sea ⃗v = (2, −3) y λ = 3. Entonces:
3⃗v = (3 · 2, 3 · (−3)) = (6, −9)
Ejemplo 2
Sea ⃗u = (1, 4) y λ = −0,5. Entonces:
−0,5⃗u = (−0,5, −2)
⃗v
3⃗v
7
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
Propiedades del producto por escalar
1⃗v = ⃗v
0⃗v = ⃗0
(−1)⃗v = −⃗v
λ(⃗u + ⃗v ) = λ⃗u + λ⃗v
(λ + µ)⃗v = λ⃗v + µ⃗v
λ(µ⃗v ) = (λµ)⃗v
Demostración de la distributividad
Sean ⃗u = (u1 , u2 ) y ⃗v = (v1 , v2 ):
λ(⃗u + ⃗v ) = λ(u1 + v1 , u2 + v2 ) = (λ(u1 + v1 ), λ(u2 + v2 )) = (λu1 + λv1 , λu2 + λv2 ) = λ⃗u + λ⃗v
Ejercicios
1. Calcula 2(3, −1) y −3(2, 4)
2. Encuentra λ tal que λ(1, 2) = (4, 8)
3. Demuestra que λ(⃗u + ⃗v ) = λ⃗u + λ⃗v para ⃗u = (1, 2), ⃗v = (3, −1), λ = 2.
4. Representa gráficamente ⃗v y −⃗v para ⃗v = (4, 1).
Listing 1.2: Producto por escalar en Python
import numpy as np
v = np . array ([2 , -3])
lam = 3
producto = lam * v
print ( " 3* v = " , producto )
1.4 Producto punto o escalar
Dados dos vectores ⃗a = (a1 , a2 ) y ⃗b = (b1 , b2 ), el producto punto se define como:
⃗a · ⃗b = a1 b1 + a2 b2
Geométricamente, este producto está relacionado con el ángulo θ entre los vectores:
⃗a · ⃗b = ∥⃗a∥ · ∥⃗b∥ · cos(θ)
8
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
Ejemplo 1
Sean ⃗a = (1, 2) y ⃗b = (3, 4), entonces:
⃗a · ⃗b = 1 · 3 + 2 · 4 = 3 + 8 = 11
Ejemplo 2
Si ⃗u = (−1, 2) y ⃗v = (2, −1), entonces:
⃗u · ⃗v = −1 · 2 + 2 · (−1) = −2 − 2 = −4
Propiedades del producto punto
⃗a · ⃗b = ⃗b · ⃗a
⃗a · (⃗b + ⃗c) = ⃗a · ⃗b + ⃗a · ⃗c
λ(⃗a · ⃗b) = (λ⃗a) · ⃗b = ⃗a · (λ⃗b)
Ejercicios
1. Calcula ⃗a · ⃗b para ⃗a = (2, −1) y ⃗b = (−3, 5)
2. Justifica si ⃗a · ⃗b = 0 implica ortogonalidad.
3. Calcula el ángulo entre ⃗a = (1, 0) y ⃗b = (0, 1).
4. Demuestra la propiedad distributiva del producto punto.
Listing 1.3: Producto punto en Python
import numpy as np
a = np . array ([1 , 2])
b = np . array ([3 , 4])
dot = np . dot (a , b )
print ( " Producto punto : " , dot )
1.5 Norma de un vector
La norma o magnitud de un vector ⃗v = (v1 , v2 ) se define como:
q
∥⃗v ∥ = v12 + v22
Esta representa la longitud del vector.
9
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
Ejemplo 1
Para ⃗v = (3, 4): √ √
√
∥⃗v ∥ = 32 + 42 = 9 + 16 = 25 = 5
Ejemplo 2
Para ⃗u = (−1, 2):
p √ √
∥⃗u∥ = (−1)2 + 22 = 1 + 4 = 5
Relación con el producto punto
√
∥⃗v ∥ = ⃗v · ⃗v
Ejercicios
1. Calcula la norma de ⃗a = (5, 12)
2. Justifica si ∥⃗v ∥ = 0 implica que ⃗v = ⃗0
3. Calcula ∥⃗u + ⃗v ∥ para ⃗u = (1, 2) y ⃗v = (2, 1)
Listing 1.4: Norma de un vector en Python
import numpy as np
v = np . array ([3 , 4])
norma = np . linalg . norm ( v )
print ( " Norma de v : " , norma )
1.6 Norma de un vector
La norma o magnitud de un vector ⃗v = (v1 , v2 ) se define como:
q
∥⃗v ∥ = v12 + v22
Esta representa la longitud del vector.
Ejemplo 1
Para ⃗v = (3, 4): √ √
√
∥⃗v ∥ = 32 + 42 = 9 + 16 = 25 = 5
10
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
Ejemplo 2
Para ⃗u = (−1, 2):
p √ √
∥⃗u∥ = (−1)2 + 22 = 1 + 4 = 5
Propiedades de la norma
∥⃗v ∥ ≥ 0 y ∥⃗v ∥ = 0 ⇔ ⃗v = ⃗0 (positividad)
∥λ⃗v ∥ = |λ| · ∥⃗v ∥ (homogeneidad)
∥⃗u + ⃗v ∥ ≤ ∥⃗u∥ + ∥⃗v ∥ (desigualdad triangular)
Demostración de la homogeneidad
Sea ⃗v = (v1 , v2 ) y λ ∈ R:
p
∥λ⃗v ∥ = ∥(λv1 , λv2 )∥ = (λv1 )2 + (λv2 )2
q q
= λ2 v12 + λ2 v22 = λ2 (v12 + v22 )
q
= |λ| v12 + v22 = |λ| · ∥⃗v ∥
Relación con el producto punto
√
∥⃗v ∥ = ⃗v · ⃗v
Ejercicios
1. Calcula la norma de ⃗a = (5, 12)
2. Justifica si ∥⃗v ∥ = 0 implica que ⃗v = ⃗0
3. Demuestra que ∥λ⃗v ∥ = |λ| · ∥⃗v ∥
4. Verifica la desigualdad triangular para ⃗u = (3, 1) y ⃗v = (−1, 4)
Listing 1.5: Norma de un vector en Python
import numpy as np
v = np . array ([3 , 4])
norma = np . linalg . norm ( v )
print ( " Norma de v : " , norma )
11
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
1.7 Proyección Ortogonal
1.7.1 Definición
La proyección ortogonal de un vector ⃗a sobre un vector no nulo ⃗b en un espacio
euclidiano se define como el vector resultante de proyectar ⃗a en la dirección de ⃗b, de
forma perpendicular al complemento ortogonal de ⃗b.
⃗a
proj⃗b (⃗a) ⃗b
!
⃗a · ⃗b ⃗
proj⃗b (⃗a) = b (1.1)
∥⃗b∥2
⃗a
proj⃗b (⃗a) ⃗b
1.7.2 Propiedades
proj⃗b (⃗a) es un múltiplo escalar de ⃗b.
⃗a − proj⃗b (⃗a) es ortogonal a ⃗b.
Si ⃗a ⊥ ⃗b, entonces proj⃗b (⃗a) = ⃗0.
Si ⃗a = λ⃗b, entonces proj⃗b (⃗a) = ⃗a.
12
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
1.7.3 Ejemplos
Ejemplo
Sea ⃗a = [3, 4], ⃗b = [1, 0].
3·1+4·0
proj⃗b (⃗a) = [1, 0] = 3[1, 0] = [3, 0]
12 + 02
Ejemplo
Sea ⃗a = [2, 3, 4], ⃗b = [1, 1, 1].
⃗a · ⃗b = 2 + 3 + 4 = 9,
∥⃗b∥2 = 1 + 1 + 1 = 3,
9
proj⃗b (⃗a) = [1, 1, 1] = [3, 3, 3]
3
1.7.4 Visualización en Python (2D y 3D)
Listing 1.6: Código en Python para proyección en 2D
import numpy as np
import matplotlib . pyplot as plt
fig , ax = plt . subplots ()
a = np . array ([3 , 4])
b = np . array ([1 , 0])
proj_b_a = ( np . dot (a , b ) / np . dot (b , b ) ) * b
ax . quiver (0 , 0 , *a , angles = ’ xy ’ , scale_units = ’ xy ’ , scale
=1 , color = ’ blue ’ , label = ’a ’)
ax . quiver (0 , 0 , *b , angles = ’ xy ’ , scale_units = ’ xy ’ , scale
=1 , color = ’ orange ’ , label = ’b ’)
ax . quiver (0 , 0 , * proj_b_a , angles = ’ xy ’ , scale_units = ’ xy ’ ,
scale =1 , color = ’ green ’ , label = ’ proj_b ( a ) ’)
ax . set_xlim ( -1 , 5)
ax . set_ylim ( -1 , 5)
ax . grid ( True )
ax . set_aspect ( ’ equal ’)
ax . legend ()
plt . title ( " Proyeccion ortogonal en 2 D " )
plt . show ()
Listing 1.7: Código en Python para proyección en 3D
from mpl_toolkits . mplot3d import Axes3D
13
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
fig = plt . figure ()
ax = fig . add_subplot (111 , projection = ’3 d ’)
a = np . array ([2 , 3 , 4])
b = np . array ([1 , 1 , 1])
proj_b_a = ( np . dot (a , b ) / np . dot (b , b ) ) * b
ax . quiver (0 , 0 , 0 , *a , color = ’ blue ’ , label = ’a ’)
ax . quiver (0 , 0 , 0 , *b , color = ’ orange ’ , label = ’b ’)
ax . quiver (0 , 0 , 0 , * proj_b_a , color = ’ green ’ , label = ’ proj_b
( a ) ’)
ax . set_xlim ([0 , 5])
ax . set_ylim ([0 , 5])
ax . set_zlim ([0 , 5])
ax . set_xlabel ( ’X ’)
ax . set_ylabel ( ’Y ’)
ax . set_zlabel ( ’Z ’)
ax . legend ()
plt . title ( " Proyeccion ortogonal en 3 D " )
plt . show ()
1.7.5 Ejercicios
Resuelve los siguientes ejercicios y verifica tus resultados con código.
1. ⃗a = [2, 3], ⃗b = [1, 1]
2. ⃗a = [−1, 4], ⃗b = [0, 2]
3. ⃗a = [5, 0, 2], ⃗b = [1, 1, 1]
4. ⃗a = [0, −1, 2], ⃗b = [3, 3, 3]
5. ⃗a = [4, 2], ⃗b = [0, 1]
6. ⃗a = [6, −2], ⃗b = [3, 1]
7. ⃗a = [1, 2, 3], ⃗b = [4, 0, 0]
8. ⃗a = [3, −1], ⃗b = [1, 2]
9. ⃗a = [1, 2, 3], ⃗b = [0, 0, 1]
10. ⃗a = [2, 2, 2], ⃗b = [1, −1, 0]
14
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
1.8 Ecuación vectorial de una recta en el plano y en el
espacio
La ecuación vectorial de una recta que pasa por un punto P0 = (x0 , y0 ) y tiene dirección
⃗
d = (a, b) es:
⃗r(t) = P⃗0 + td⃗ = (x0 + ta, y0 + tb), t ∈ R
En el espacio tridimensional, si P0 = (x0 , y0 , z0 ) y d⃗ = (a, b, c):
⃗r(t) = (x0 + ta, y0 + tb, z0 + tc)
Ejemplo 1 (Plano)
Una recta que pasa por P0 = (1, 2) con dirección d⃗ = (3, −1):
⃗r(t) = (1 + 3t, 2 − t)
Ejemplo 2 (Espacio)
Una recta que pasa por P0 = (0, 0, 1) con dirección d⃗ = (2, 1, −3):
⃗r(t) = (2t, t, 1 − 3t)
Listing 1.8: Ecuación vectorial de una recta en Python
import numpy as np
import matplotlib . pyplot as plt
P0 = np . array ([1 , 2])
d = np . array ([3 , -1])
t = np . linspace ( -2 , 2 , 100)
pts = P0 [: , None ] + d [: , None ] * t
plt . plot ( pts [0] , pts [1])
plt . scatter (* P0 , color = ’ red ’)
plt . grid ()
plt . axis ( ’ equal ’)
plt . title ( " Recta : $r ( t ) = P_0 + td$ " )
plt . show ()
1.9 Producto cruz
El producto cruz (también llamado producto vectorial) se define únicamente en R3 y
toma dos vectores para generar un nuevo vector perpendicular a ambos.
Definición: Si ⃗u = (u1 , u2 , u3 ) y ⃗v = (v1 , v2 , v3 ), entonces:
⃗u × ⃗v = (u2 v3 − u3 v2 , u3 v1 − u1 v3 , u1 v2 − u2 v1 )
Propiedades:
15
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
⃗u × ⃗v = −(⃗v × ⃗u) (anticomutatividad)
⃗u × ⃗u = ⃗0
⃗u · (⃗u × ⃗v ) = 0 (ortogonalidad)
∥⃗u × ⃗v ∥ = ∥⃗u∥ · ∥⃗v ∥ · sin(θ)
Ejemplo 1
Sean ⃗u = (1, 0, 0) y ⃗v = (0, 1, 0), entonces:
⃗u × ⃗v = (0, 0, 1)
Ejemplo 2
Sean ⃗u = (2, 1, 3) y ⃗v = (−1, 4, 0):
i j k
⃗u × ⃗v = 2 1 3 = (1 · 0 − 3 · 4, 3 · (−1) − 2 · 0, 2 · 4 − 1 · (−1))
−1 4 0
= (−12, −3, 9)
Demostración de ortogonalidad
Demostraremos que ⃗u · (⃗u × ⃗v ) = 0:
⃗u = (u1 , u2 , u3 ), ⃗v = (v1 , v2 , v3 )
⃗u × ⃗v = (A, B, C)
Entonces: ⃗u · (⃗u × ⃗v ) = u1 A + u2 B + u3 C
Expandiendo se demuestra que los términos se cancelan simétricamente, por lo que
el resultado es 0.
Ejercicios
1. Calcula el producto cruz de ⃗a = (1, 2, 3) y ⃗b = (4, 5, 6)
2. Verifica que ⃗u · (⃗u × ⃗v ) = 0 para ⃗u = (1, 2, 3) y ⃗v = (−2, 1, 4)
3. Demuestra que ⃗u × ⃗v = −⃗v × ⃗u
Listing 1.9: Producto cruz en Python
import numpy as np
u = np . array ([2 , 1 , 3])
v = np . array ([ -1 , 4 , 0])
cruz = np . cross (u , v )
print ( " Producto cruz : " , cruz )
16
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
1.10 Ecuación vectorial del plano en el espacio
Un plano en el espacio tridimensional puede definirse a partir de un punto P0 =
(x0 , y0 , z0 ) por el que pasa el plano, y un vector normal ⃗n = (a, b, c) perpendicular al plano.
Forma escalar del plano
La ecuación del plano es:
a(x − x0 ) + b(y − y0 ) + c(z − z0 ) = 0
Forma vectorial del plano
Otra forma es:
⃗r(s, t) = P⃗0 + s⃗v1 + t⃗v2
donde ⃗v1 y ⃗v2 son vectores directores del plano.
Ejemplo 1 (forma escalar)
Sea P0 = (1, 2, 3) y ⃗n = (2, −1, 4), la ecuación del plano es:
2(x − 1) − 1(y − 2) + 4(z − 3) = 0 ⇒ 2x − y + 4z = 12
Ejemplo 2 (forma vectorial)
Sea P0 = (0, 0, 0), y ⃗v1 = (1, 0, 2), ⃗v2 = (0, 1, 1). Entonces:
⃗r(s, t) = s(1, 0, 2) + t(0, 1, 1) = (s, t, 2s + t)
Propiedades
Si ⃗n = (a, b, c) es perpendicular al plano, entonces ⃗n · (⃗r − P⃗0 ) = 0
El plano contiene todos los vectores ⃗r que satisfacen esta condición
Ejercicios
1. Determina la ecuación del plano que pasa por (2, 1, 0) y tiene vector normal ⃗n =
(1, −2, 3)
2. Escribe la forma vectorial del plano determinado por P0 = (1, 1, 1) y vectores ⃗v1 =
(2, 0, −1) y ⃗v2 = (1, 1, 1)
3. Verifica si el punto (2, 1, 3) pertenece al plano 3x + 2y − z = 5
17
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
Listing 1.10: Plano con vector normal en Python
import numpy as np
import matplotlib . pyplot as plt
# Definimos el plano : 2 x - y + 4 z = 12
x = np . linspace ( -5 , 5 , 10)
y = np . linspace ( -5 , 5 , 10)
x , y = np . meshgrid (x , y )
z = (12 - 2* x + y ) /4
fig = plt . figure ()
ax = fig . add_subplot ( projection = ’3 d ’)
ax . plot_surface (x , y , z , alpha =0.6 , color = ’ teal ’)
ax . set_xlabel ( ’X ’)
ax . set_ylabel ( ’Y ’)
ax . set_zlabel ( ’Z ’)
plt . title ( " Plano : 2 x - y + 4 z = 12 " )
plt . show ()
1.11 Combinación lineal, independencia lineal y base
1.11.1 Combinación lineal
Definición. Dado un conjunto de vectores ⃗v1 , ⃗v2 , . . . , ⃗vn en un espacio vectorial V , se
dice que ⃗v es una combinación lineal de estos vectores si existen escalares a1 , a2 , . . . , an
tales que:
⃗v = a1⃗v1 + a2⃗v2 + · · · + an⃗vn
Ejemplo 1. Sea ⃗v1 = (1, 0) y ⃗v2 = (0, 1), entonces ⃗v = (3, 2) es combinación lineal de
ellos:
(3, 2) = 3(1, 0) + 2(0, 1)
Ejemplo 2. Sea ⃗v1 = (1, 1, 0), ⃗v2 = (0, 1, 1), y ⃗v3 = (1, 2, 1). Entonces ⃗v = (2, 4, 2) es
combinación lineal:
⃗v = 1 · ⃗v1 + 1 · ⃗v2 + 1 · ⃗v3
1.11.2 Independencia lineal
Definición. Un conjunto de vectores {⃗v1 , ⃗v2 , . . . , ⃗vn } es linealmente independiente si
la única solución de
a1⃗v1 + a2⃗v2 + · · · + an⃗vn = ⃗0
es a1 = a2 = · · · = an = 0.
Ejemplo 1. Los vectores (1, 0) y (0, 1) son linealmente independientes.
Ejemplo 2. Los vectores (1, 2) y (2, 4) son linealmente dependientes ya que (2, 4) =
2 · (1, 2).
Propiedad 1: Un conjunto de vectores es linealmente dependiente si alguno de ellos
puede escribirse como combinación lineal de los demás.
18
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
Propiedad 2: Si un conjunto de vectores contiene al vector cero, entonces es lineal-
mente dependiente.
Demostración. Sea ⃗v1 = ⃗0 y cualquier otro conjunto {⃗v2 , . . . , ⃗vn }. Entonces:
1 · ⃗v1 + 0 · ⃗v2 + · · · + 0 · ⃗vn = ⃗0
es una combinación no trivial que da el vector cero. Luego, el conjunto es linealmente
dependiente. ■
1.11.3 Base del plano y del espacio euclidiano
Definición. Una base de un espacio vectorial V es un conjunto de vectores lineal-
mente independientes que generan todo el espacio.
Plano euclidiano R2 : La base canónica está dada por:
B = {⃗i = (1, 0), ⃗j = (0, 1)}
Espacio euclidiano R3 : La base canónica está dada por:
B = {⃗i = (1, 0, 0), ⃗j = (0, 1, 0), ⃗k = (0, 0, 1)}
Teorema. Toda base de Rn tiene exactamente n vectores.
Demostración. Si B es una base de Rn , entonces: - B es linealmente independiente,
- B genera Rn , por lo tanto, su matriz formada por los vectores columna tiene rango n, y
por la definición de rango, debe tener n columnas (vectores). ■
Ejercicios propuestos
1. Determina si el vector w ⃗ = (2, 5) puede expresarse como combinación lineal de
⃗v1 = (1, 2) y ⃗v2 = (2, 1).
2. Verifica si los vectores ⃗v1 = (1, 1, 0), ⃗v2 = (2, 3, 1) y ⃗v3 = (3, 4, 1) son linealmente
independientes.
3. Encuentra una base para el subespacio generado por los vectores ⃗v1 = (1, 2, 1),
⃗v2 = (2, 4, 2), ⃗v3 = (0, 1, 1).
Visualización con Python
Listing 1.11: Combinación lineal y base en R2
import matplotlib . pyplot as plt
import numpy as np
v1 = np . array ([1 , 0])
v2 = np . array ([0 , 1])
v = 3* v1 + 2* v2
19
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
plt . quiver (0 , 0 , v1 [0] , v1 [1] , angles = ’ xy ’ , scale_units = ’
xy ’ , scale =1 , color = ’r ’ , label = ’ v1 ’)
plt . quiver (0 , 0 , v2 [0] , v2 [1] , angles = ’ xy ’ , scale_units = ’
xy ’ , scale =1 , color = ’g ’ , label = ’ v2 ’)
plt . quiver (0 , 0 , v [0] , v [1] , angles = ’ xy ’ , scale_units = ’ xy ’
, scale =1 , color = ’b ’ , label = ’3 v1 + 2 v2 ’)
plt . xlim ( -1 , 5)
plt . ylim ( -1 , 5)
plt . grid ()
plt . legend ()
plt . gca () . set_aspect ( ’ equal ’)
plt . title ( ’ Combinacion lineal en $ \ mathbb { R }^2 $ ’)
plt . show ()
1.12 Vector de posición y vector de dirección
Vector de posición
El vector de posición de un punto P = (x, y, z) respecto al origen O = (0, 0, 0) es el
vector:
⃗r = ⟨x, y, z⟩
Este vector apunta desde el origen hasta el punto P y se utiliza frecuentemente para
describir trayectorias y posiciones en el espacio.
Vector de dirección
El vector de dirección describe la orientación de una recta en el plano o en el espacio.
Dados dos puntos P1 y P2 , el vector de dirección es:
d⃗ = P⃗2 − P⃗1 = ⟨x2 − x1 , y2 − y1 , z2 − z1 ⟩
Ejemplo 1
Sea P = (2, 3, 5), entonces su vector de posición es:
⃗r = ⟨2, 3, 5⟩
Ejemplo 2
Sean P1 = (1, 2, 3) y P2 = (4, 6, 9), el vector de dirección es:
d⃗ = ⟨3, 4, 6⟩
20
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
Ejercicios
1. Encuentra el vector de posición de los puntos (1, 2, 3) y (−2, 0, 4).
2. Halla el vector de dirección entre los puntos A = (0, 1, −1) y B = (2, 3, 1).
3. Verifica que el vector de dirección tiene la misma dirección aunque se multiplique
por un escalar.
Listing 1.12: Vectores de posición y dirección en Python
import numpy as np
# Vector de posicion
P = np . array ([2 , 3 , 5])
print ( " Vector de posicion : " , P )
# Vector de direccion entre dos puntos
P1 = np . array ([1 , 2 , 3])
P2 = np . array ([4 , 6 , 9])
d = P2 - P1
print ( " Vector de direccion : " , d )
1.13 Simulación en 3D de un robot manipulador
A continuación se presenta un ejemplo básico de un robot manipulador de 3 grados
de libertad (DOF), con animación de sus eslabones.
Listing 1.13: Simulación básica de robot manipulador
import numpy as np
import matplotlib . pyplot as plt
from mpl_toolkits . mplot3d import Axes3D
from matplotlib . animation import FuncAnimation
# Parametros del robot
L1 , L2 , L3 = 2 , 1.5 , 1
# Angulos articulares ( pueden variarse dinamicamente )
theta1 = np . deg2rad (30)
theta2 = np . deg2rad (45)
theta3 = np . deg2rad ( -30)
# Cinematica directa
x0 , y0 , z0 = 0 , 0 , 0
x1 = L1 * np . cos ( theta1 )
y1 = L1 * np . sin ( theta1 )
z1 = 0
x2 = x1 + L2 * np . cos ( theta1 + theta2 )
y2 = y1 + L2 * np . sin ( theta1 + theta2 )
z2 = 0
21
CAPÍTULO 1. VECTORES EN EL PLANO Y EN EL ESPACIÓ
Algebra Vectorial y Matricial
x3 = x2 + L3 * np . cos ( theta1 + theta2 + theta3 )
y3 = y2 + L3 * np . sin ( theta1 + theta2 + theta3 )
z3 = 0
fig = plt . figure ()
ax = fig . add_subplot (111 , projection = ’3 d ’)
ax . plot ([ x0 , x1 ] , [ y0 , y1 ] , [ z0 , z1 ] , ’o - ’ , label = ’ Eslabon
1 ’)
ax . plot ([ x1 , x2 ] , [ y1 , y2 ] , [ z1 , z2 ] , ’o - ’ , label = ’ Eslabon
2 ’)
ax . plot ([ x2 , x3 ] , [ y2 , y3 ] , [ z2 , z3 ] , ’o - ’ , label = ’ Eslabon
3 ’)
ax . set_xlim ( -5 , 5)
ax . set_ylim ( -5 , 5)
ax . set_zlim ( -1 , 1)
ax . set_xlabel ( ’X ’)
ax . set_ylabel ( ’Y ’)
ax . set_zlabel ( ’Z ’)
ax . set_title ( ’ Robot manipulador 3 DOF ’)
ax . legend ()
plt . show ()
Figura 1.1: Simulación de un robot de cuatro grados de libertad.
22
Matrices
2.1 Definición de matriz
Definición: Una matriz es un arreglo rectangular de números dispuestos en filas y
columnas...
23