- Vectores y sus
operaciones - Sistemas de ecuaciones
lineales - Matrices
- Dependencia e independencia lineal,
base y dimensión - Transformaciones
lineales - Ortonormalización
- Referencias
bibliográficas
"¿Qué fue eso? Preguntó Alicia en el País de las Lewis Carroll | Acaso, ¿esto es una |
El presente artículo de corte divulgativo tiene
como finalidad mostrar las bondades y el poder del
Programa de
Cálculo
Técnico Científico MATLAB [5], en el análisis de ciertos tópicos del
álgebra
lineal. Puesto que, MATLAB –MATrix
LABoratory- es un programa para realizar cálculos
numéricos con vectores y
matrices [3].
Abordemos en primer lugar cómo introducir estos
elementos.
Para introducir vectores y matrices en MATLAB, se sigue
una sintaxis sencilla. Por ejemplo, dado el vector x = <-1, 3,
4>; se teclean los números separados por blancos o
comas, obteniéndose un vector fila. Para obtener un vector
columna se separan con intros o puntos y coma.
>> x = [-1 3 4] x = -1 3 4 | >> x = [-1;3;4] x = -1 3 4 |
Para introducir una matriz, se
define por filas separándolas por intro o punto y coma.
Por ejemplo, el comando siguiente define la matriz A de
dimensión 2X3
>> A = [3 4 1; 5 -3 0]
A =
3 4 1
5 -3 0
Las operaciones de
adición, diferencia y producto por
escalares, se realizan mediante una sintaxis simple.
Ejemplo 1.1
Consideremos los vectores x = < -1,3 -2>, y =
<0, -2, -1> y el escalar 2.
>> x = [-1 3 -2] x = -1 3 -2 | >> y = [0 -2 -1] y = 0 -2 -1 |
>> z = x + y z = -1 1 -3 | >> w = x – y w = -1 5 -1 |
>> u = 2*x u = -2 6 -4 |
Geométricamente, MATLAB ilustra mediante la
ley del
paralelogramo la suma de vectores. Para ello, se utiliza un
programa escrito por T. A. Bryan [4], asequible en la
página .
Aquí, simplemente, se utilizará el lenguaje de
gráficas para puntualizar la
operación.
Ejemplo 1.2
Sean los vectores x = <1, 2, 0>, y = <0, 3,
2> y x + y = <1, 5, 2>
>> u = [0 1 1 0 0]; >> v = [0 2 5 3 0]; >> w = [0 0 2 2 0]; >> plot3(u,v,w) | Figura 1.1 |
Para determinar la norma de un vector se utiliza el
comando siguiente:
Ejemplo 1.3
>> norm(x)
ans =
2.2361
Para el producto punto, el producto vectorial y el
ángulo entre vectores, se procede de la forma
siguiente:
Ejemplo 1.4
>> dot(x,y) ans = 6 >> cross([1,2,0],[0,3,2]) ans = 4 -2 3 | >> theta = theta = 0.7314 >> 360*theta/(2*pi) ans = 41.9088 |
Para obtener el área del paralelogramo >> area = area = 3.5970 |
Ejercicio propuesto 1.1
- Obtener un vector unitario en la dirección del vector x.
- Hallar la proyección del vector x sobre el
vector y.
2. Sistemas de
ecuaciones
lineales
Para resolver un sistema de
ecuaciones lineales AX = B de n ecuaciones con m (n puede ser
igual a m) incógnitas, se introduce la matriz A del
sistema y el vector columna B de los términos
independientes, no es preciso considerar el vector columna X de
las incógnitas (x1, x2,
x3).
Ejemplo 2.1
Consideremos el siguiente sistema:
ó |
>> A = [0 3 -4; 6 -3 -4; 6 -9 4; 1 1 A = 0 3 -4 6 -3 -4 6 -9 4 1 1 1 | >> B = [0; 0; 0; 1] B = 0 0 0 1 |
>> X = AB X = 0.3636 0.3636 0.2727 |
Observación. El operador matricial de MATLAB ""
división izquierda equivale a la solución de
sistemas lineales mediante X = inv(A)*B. este operador es
más poderoso de lo que parece, puesto que, suministra la
solución aunque la matriz A no tenga inversa.
MATLAB, proporciona la solución gráfica de
un sistema de ecuaciones lineales, mediante los comandos
siguientes:
>> [x,y] = meshgrid(-4:0.5:5); >> z = 3*y/4; >> surf(x,y,z) Se obtiene el plano de la figura 2.1 Figura 2.1 | >> hold on >> z = (6*x – 3*y)/4; >> surf(x,y,z) Se obtiene los planos de la figura 2.2 Figura 2.2 |
>> z = (-6*x + 9*y)/4; >> surf(x,y,z) Se obtiene los planos de la figura 2.3 Figura 2.3 | >> z = 1- x – y; >> surf(x,y,z) Se obtienen los cuatro planos de la figura 2.4 Figura 2.4 |
Ejemplo 2.2
Consideremos, ahora un sistema lineal
incompatible.
x + z = 1
x – y + 3z = -3
x + y – z = 1
>> A = [1 0 1; 1 -1 3; 1 1 -1] A = 1 0 1 1 -1 3 1 1 -1 | >> B = [1; -3; 1] B = 1 -3 1 |
>> X = AB Warning: Matrix is singular to working X = Inf Inf Inf |
Ejemplo 2.3
Consideremos, ahora un sistema lineal compatible
indeterminado
x1 – x2 = 4
x1 – 3×2 –
2×3 = -6
x1 + 2×2 – 3×3 =
1
>> A = [1 -1 0; 1 3 -2; 4 2 -3] A = 1 -1 0 1 3 -2 4 2 -3 | >> B = [4; -6; 1] B = 4 -6 1 |
>> X = AB Warning: Matrix is close to singular or badly Results may be inaccurate. RCOND = X = 3.5000 -0.5000 4.0000 |
El paquete de software MATLAB permite la
solución de estos sistemas utilizando el Método de
Gauss-Jordan. Veamos la solución del ejemplo
2.3.
>> A = [1 -1 0 4; 1 3 -2 -6; 4 2 -3 % A es la matriz ampliada A = 1 -1 0 4 1 3 -2 -6 4 2 -3 1 | >> A(2,:) = A(2,:)-A(1,:) A = 1 -1 0 4 0 4 -2 -10 4 2 -3 1 |
>> A(3,:) = A(3,:) – 4*A(1,:) A = 1 -1 0 4 0 4 -2 -10 0 6 -3 -15 | >> A(2,:) = A(2,:)/-2 A = 1 -1 0 4 0 -2 1 5 0 6 -3 -15 |
>> A(3,:) = A(3,:) + 3*A(2,:) A = 1 -1 0 4 0 -2 1 5 0 0 0 0 | Luego x1 = 4 + x2 y x3 ¡Infinitas soluciones! Por ejemplo, para x2 = – x1 = 3,5 y x3 |
Nota. El carácter % indica comienzo de un
comentario, es ignorado por MATLAB.
Ejercicio propuesto 2.1
Resolver los sistemas de ecuaciones dados. Ver ejemplo
2.1.
a) b)
Para multiplicar una matriz por un vector y para el
producto de matrices, se procede de la forma
siguiente:
Ejemplo 3.1
Sean
A = y x
=
Se introducen la matriz y el vector como se
indicó.
Luego el comando
>> B = A*x
B =
13
1
3
-2
Ejemplo 3.2
Consideremos las matrices
A = [5 -2 0; 1 -1 4; 3 -3 2; 0 -5 -1] y B
= [-2 3 4 6 7 -1; 0 9 -2 1 0 3; 1 -1 0 3 2 7]
>> C = A*B C = -10 -3 24 28 35 -11 2 -10 6 17 15 24 -4 -20 18 21 25 2 -1 -44 10 -8 -2 -22 | >> D = B*A ??? Error using ==> * Inner matrix dimensions must agree. |
Ejemplo 3.3
Para la matriz A = [1/2 -1/3 1/6; 1/4 -2 -1/7; 1/5 1/3
0]. Hallar:
Transpuesta >> A' ans = 0.5000 0.2500 0.2000 -0.3333 -2.0000 0.3333 0.1667 -0.1429 0 | Inversa >> inv(A) ans = 0.4181 0.4878 3.3449 -0.2509 -0.2927 0.9930 4.2439 -2.0488 -8.0488 | Determinante >> det(A) ans = 0.1139 | |
Rango >> rank(A) ans = 3 | Traza >> trace(A) ans = -1.5000 | Valores singulares >> svd(A) ans = 2.0795 0.5367 0.1020 | |
A3 >> A^3 ans = 0.2651 -1.1341 -0.0460 0.8310 -7.4944 -0.6200 -0.0945 1.4008 0.1353 | log(A) >> logm(A) ans = -0.8432 + 0.3607i 0.3205 + 0.2443i 0.5082 – 0.9163i -0.2189 – 0.2087i 0.7465 + 3.1599i 0.2834 – 0.0688i 0.6527 – 1.1504i -0.6112 + 0.1011i -2.0758 + 2.7626i | ||
sqrt(A) >> sqrtm(M) ans = 0.6528 + 0.0198i -0.0574 + 0.1899i 0.0490 – 0.1420i -0.0043 + 1.4284i 0.2701 – 0.0979i -0.0237 – 0.1954i |
Para determinar eA., se utilizan las
variantes mediante autovalores, aproximantes de Padé,
desarrollos de Taylor y
condición de la matriz A [6].
>> expm(A) ans = 1.6408 -0.1807 0.2310 0.1400 0.1146 -0.0467 0.2862 0.1195 1.0092 | >> expm1(A) ans = 1.6408 -0.1807 0.2310 0.1400 0.1146 -0.0467 0.2862 0.1195 1.0092 |
>> expm2(A) ans = 1.6408 -0.1807 0.2310 0.1400 0.1146 -0.0467 0.2862 0.1195 1.0092 | >> expm3(A) ans = 1.6408 -0.1807 0.2310 0.1400 0.1146 -0.0467 0.2862 0.1195 1.0092 |
Como es posible observar, la matriz exponencial coincide
en todos los métodos
empleados.
Diagonalizar la matriz A calculando la matriz de paso
V.
>> [V,J] = jordan(A) |
V = 0.8852 -0.0169 + 0.0000i 0.1317 + 0.0664 + 0.0000i -0.1131 – 0.0000i 0.0467 – 0.3662 0.0212 + 0.0000i -0.3874 – |
J = 0.5439 – 0.0000i 0 0 0 -1.9358 0 0 0 -0.1082 |
Para matrices especiales MatLab ofrece ciertos comandos
[6].
Ejemplo 3.4
(a) Obtener las formas de Smith y de Hermite de la
inversa de la matriz de Hilbert de orden 2 en la variable t.
Además, determinar las matrices de paso.
>> >> [ 2 ] [ -(-3 + t) (-2 + t) (-3 + t) (-2 + t) (-4 + [ ] [ 2 ] [(-3 + t) (-2 + t) (-4 + t) -(-3 + t) (-4 + t) |
>> >> [-3 + t 0 ] [ ] [ 2 ] [ 0 (-2 + t) (t – 7 t + 12)] |
>> [ -1 -1 ] [ ] [ 2 2] [10 – 13/2 t + t 9 – 13/2 t + t ] |
>> [-7/2 + t -4 + t] [ ] [-3/2 + t -2 + t] |
>> >> [ 2 ] [6 + t – 5 t 0 ] [ ] [ 2 ] [ 0 t – 7 t + 12] |
>> [3 – t 2 – t] [ ] [4 – t 3 – t] |
(b) Determinar los autovalores de la matriz de Wilkinson
de orden 6, de la matriz mágica de orden 6 y de la matriz
de Rosser.
>> ans = 1.0e+003 * -0.0010 -1.0200 0.2600 0.0002 -0.0000 0.0518 0.0011 0.0001 -0.0518 0.0017 1.0000 0.0000 0.0026 1.0000 0.0000 + 0.0000i 0.0028 1.0199 0.0000 – 0.0000i 0.0042 1.0200 -0.0000 + 0.0000i 0.0043 1.0200 -0.0000 – 0.0000i |
(c) Determinar la matriz y el determinante jacobianos de
la transformación:
x = eusen(v), y =
eucos(v).
>> [exp(u) sin(v) exp(u) cos(v) [ ] [exp(u) cos(v) -exp(u) |
pretty(simple(sym(maple('det('')')))) 2 -exp(u) |
4. Dependencia e independencia
lineal, base y dimensión
Para determinar si una familia o
conjunto de vectores de un espacio vectorial es L.I. o L.D., se
calcula el determinante de la matriz conformada por las
componentes de los vectores.
Ejemplo 4.1
Dados los espacios vectoriales IR3,
IR4 y IR5, determinar si los siguientes
conjuntos de
vectores son L.I. o L.D.
(a) {(3,2,-1), (1,0,0), (0,1,2)} >> A = [3 2 -1; 1 0 0; 0 1 2] A = 3 2 -1 1 0 0 0 1 2 >> det(A) ans = -5 Puesto que, el determinante es diferente de cero, | (b) {(2,1,-3,4), (-1,3,2,1),(-5,1,8,-7), >> B = [2 1 -3 4;-1 3 2 1;-5 1 8 -7;3 2 1 B = 2 1 -3 4 -1 3 2 1 -5 1 8 -7 3 2 1 -1 >> det(B) ans = 0 Puesto que, el determinante es igual a cero, la |
(c) {(1,2,-1,5,3), (1,-1,4,-2,0), (1,1,-1,3,12), >> C = C = 1 2 -1 5 3 1 -1 4 -2 0 1 1 -1 3 12 0 4 3 1 -1 >> rank(C) ans = 4 Puesto que, los 4 vectores pertenecen al espacio |
Ejemplo 4.2
Dada la familia de vectores en el espacio
IR5
{(1,2,-1,5,3), (1,-1,4,-2,0),
(1,1,-1,3,1,2), (0,4,3,1,-1)}
Determinar la dimensión de la variedad lineal
engendrada por ella y una base.
La dimensión de la variedad lineal engendrada por
una familia de vectores es el rango de la matriz conformada por
los vectores. Puesto que, el rango es 4, la dimensión es
4.
Para la base se utiliza el siguiente comando
>>
pretty(sym(maple('basis({vector([1,2,-1,5,3]),vector([1,-1,4,-2,0]),vector
([1,1,-1,3,12]),vector([0,4,3,1,-1])})')))
[1 2 -1 5 3]
[ ]
[1 -1 4 -2 0]
[ ]
[0 4 3 1 -1]
[ ]
[1 1 -1 3 12]
Ejemplo 4.3
Dada la familia de vectores en el espacio
IR3
{(1,2,-1), (1,-1,4), (1,1,-1)}
Determinar si conforman una base de IR3, en
caso positivo, obtener las componentes del vector v = (2,4,1) en
dicha base.
>> det([1,2,-1;1,-1,4;1,1,-1])
ans =
5
Constituyen una base, puesto que el determinante de la
matriz es diferente de cero. La familia es L.I.
Las componentes de v, se obtienen con el
comando
>> inv([1 1 1;2 -1 1;-1 4 -1])*[2 4 1]'
ans =
3.2000
0.6000
-1.8000
Ejemplo 4.4
Consideremos las bases del espacio vectorial
IR3
A = {(1,0,0), (0,1,0), (0,0,1)} y B =
{(2,1,0), (1,0,-1), (-1,1,1)}
Hallar la matriz del cambio de base
de A a B. Además, calcular las componentes del vector
(1,2,3) en base A, en la base B.
>> A = [1,0,0;0,1,0;0,0,1]; >> B = [2,1,0;1,0,-1;-1,1,1]; | |
>> C = inv(B')*A' C = 0.5000 0 0.5000 -0.5000 1.0000 -1.5000 -0.5000 1.0000 -0.5000 | >> sym(C) ans = [ 1/2, 0, 1/2] [ -1/2, 1, -3/2] [ -1/2, 1, -1/2] |
Una vez obtenida la matriz del cambio de base, se >> sym(inv(B')*A'*[1,2,3]') ans = [ 2] [ -3] [ 0] |
Ejemplo 5.1
Consideremos la transformación lineal, cuya
matriz está conformada por la familia de
vectores
{(0,-3,-1,3), (-3,3,-1,0),
(-2,2,1,3)}
Hallar una base de su núcleo. Además,
determinar la imagen del vector
(1,2,3,4) por intermedio de la transformación
lineal.
>> A = A = 0 -3 -1 3 -3 3 -1 0 -2 2 1 3 | >> null(A) ans = 0.6448 0.4690 -0.5276 0.2931 |
>> ans = T := proc (x) options operator, arrow; >> [3 0 17] |
Ejemplo 5.2
Sea la transformación lineal f entre los espacios
vectoriales V y W, tal que
f(e1) = u1 –
u2, f(e2) = u2 –
u3 y f(e3) = u3 –
u4
donde
A = {e1, e2,
e3} es una base de V
B = {u1, u2,
u3} es una base de W
Determinar la matriz asociada a la transformación
lineal f. Además, hallar la imagen en W del vector (1,2,3)
de V a través de la transformación.
>> M = [1 0 0;-1 1 0;0 -1 1;0 0 M = 1 0 0 -1 1 0 0 -1 1 0 0 1 | >>maple('T1:=x->multiply(array([[1,0,0], [-1,1,0],[0,-1,1],[0,0,1]]),x)'); >> [1 1 1 3] |
Ejemplo 5.3
Sea la transformación lineal f entre los espacios
vectoriales V y W, donde
f(x,y,z) = (x + y, y + z, x + z), (x,y,z)
es un punto cualquiera de V.
Hallar la matriz asociada a las transformaciones
lineales f, f3 y ef.
>> |
>> ans = [1, 0, 1][1, 1, 0][0, 1, Nótese, que para hallar la matriz de f, es También, es posible hallarla con este >>[maple(‘T(1,0,0),maple(‘T(0,1,0)’),maple(‘T(0,0,1)’)] A = 1 1 0 0 1 1 1 0 1 |
>> A^3 % la matriz asociada a f3 ans = 2 3 3 3 2 3 3 3 2 |
>> expm(A) % la matriz asociada a ans = 3.1751 2.8321 1.3819 1.3819 3.1751 2.8321 2.8321 1.3819 3.1751 |
La técnica básica utilizada en MATLAB para
determinar la descomposición QR se sustenta en
transformaciones de Householder. La sintaxis es sumamente simple
[4].
Ejemplo 6.1
Consideremos la matriz con los vectores como columnas.
Luego la matriz viene dada por
>> A = [1 2 0; 0 -1 0; -1 0 -2; 0 1 A = 1 2 0 0 -1 0 -1 0 -2 0 1 1 >> [Q R] = qr(A,0) | |
Q = -0.7071 0.5000 -0.4523 0 -0.5000 -0.1508 0.7071 0.5000 -0.4523 0 0.5000 0.7538 | R = -1.4142 -1.4142 -1.4142 0 2.0000 -0.5000 0 0 1.6583 |
7. Diagonalización
Ejemplo 7.1
Diagonalizar la matriz A
>> A = [-1 2 -1;3 0 1;-3 -2 -3] A = -1 2 -1 3 0 1 -3 -2 -3 | Se determina los eigenvalores de A >> eig(A) ans = -4 2 -2 |
Ahora se determinan los eigenvectores >> v1=null(A+4*eye(3)); >> v2=null(A-2*eye(3)); >> v3=null(A+2*eye(3)); >> S=[v1 v2 v3] S = 0.5774 0.5774 0.5774 -0.5774 0.5774 -0.5774 0.5774 -0.5774 -0.5774 | >> inv(S)*A*S ans = -4.0000 0 -0.0000 -0.0000 2.0000 -0.0000 -0.0000 0.0000 -2.0000 A es diagonizable, puesto que existe una matriz S, = |
[1] Carroll, L. (1999). Alicia en el país de
las maravillas. Madrid:
Edimart Libros.
[2] Fleming, W. y Varberg, D. (1999). Algebra and
trigonometry with analytic geometry. New York: Prentice Hall
Inc.
[3] García, J., Rodriguez, J. y Brazales, A.
(2002). Aprenda Matlab 6.1 como si estuviera en primero.
Madrid: Escuela
Técnica Superior de Ingenieros Industriales, Universidad
Politécnica de Madrid.
[4] Golubitsky, M. y Dellnitz, M. (1999). Linear
algebra and differential equations using MATLAB. New York:
Brooks Cole Publishing Company.
[5] MATLAB (2001). The language of technical
computing. Version 6.1.0.450 Release 12.1. New York: The
MathWohk, Inc.
[6] Pérez, C. (1999). Análisis
matemático y álgebra lineal con MATLAB.
Madrid: ra-ma.
Acerca del autor:
Carlos Núñez
Rincón
El autor del artículo es Licenciado en Educación
Mención Matemática
Universidad de los Andes – ULA-Venezuela,
Magíster en Educación Universidad Pedagógica
Experimental Libertador –UPEL– Pedagógico de
Barquisimeto-Venezuela, Doctor en Ciencias de la
Educación Universidad Santa María,
Caracas-Venezuela. Actualmente es Profesor
Asociado adscrito al Departamento de Matemática y Física de la
Universidad Nacional Experimental del Táchira-UNET,
Táchira-República Bolivariana de Venezuela.
Asimismo, Director de la Revista Aleph
Sub-Cero, Serie de Divulgación Matemática,
publicación del Departamento de Matemática y
Física de la UNET.
E-mail: