Sie sind auf Seite 1von 18

Matemtica Discreta y Algebra

Curso 2008-09
PRACTICA 5
CALCULO MATRICIAL
Y
RESOLUCION DE SISTEMAS LINEALES
Instrucciones y Objetivos
En esta practica se comenzamos a emplear Maple para resolver problemas elementales de
lgebra lineal.
El objetivo es conocer y emplear las instrucciones basicas de Maple utiles en clculo matricial
y los mtodos directos de resolucin de sistemas lineales (Gauss y Iactorizacion LU). Tras
Iinalizar la practica el alumno debe ser capaz de deIinir, visualizar, operar y manipular matrices
con soltura, asi como saber resolver sistemas lineales con Maple (tanto con comandos directos
como con las estrategias de triangulacion, diagonalizacion y caluclo de Iactorizacion LU vistas
en las clases teoricas), analizando si un sistema concreto o dependiente de algunos parametros
va a ser compatible determinado, compatible indeterminado o incompatible.
Instrucciones
1. Lee con atencion el texto. Cuando aparezcan comandos o procedimientos de Maple
(lineas en rojo), intenta averiguar para que sirven (puedes emplear la ayuda de Maple) y
despues ejecutalos. Puedes ejecutarlos varias veces y cambiar en ellos lo que te parezca para
entenderlos mejor o mejorarlos.
2. Las seccion 1 contiene la inIormacion basica sobre el manejo de matrices e incluye
algunos ejemplos resueltos en los que se utilizan los comandos introducidos, mientras que
en la seccion 2 se proIundiza en la resolucion de sistemas lineales mediante los metodos
directos vistos en clase (metodo de Gauss y Iactorizacion LU).
3. La seccion 3 recoge varios ejercicios tipo test sobre conceptos explicados a lo largo de
este documento y que deberian ser resueltos por el alumno/a sin problema, si se ha
comprendido el contenido de la practica.
Maple dispone de un conjunto de Iunciones especiIicas para algebra lineal. En Maple, hay varios
conjuntos de Iunciones especiIicas (denominados paquetes) que deben cargarse aparte usando el
comando with(). En este caso las Iunciones propias de teoria de combinatoria estan
guardadas en el paquete linalg de Maple. Para cargar el paquete procedemos como siempre con
la instruccion:
> restart; with(linalg):
Warning, the protected names norm and trace have been redefined and
unprotected
Recordemos que es imprescincible cargar el paquete linalg para que las instrucciones sobre
clculo matricial y lgebra lineal funcionen. Ademas de los comandos que aqui vamos a
tratar, el paquete linalg contiene otros muchas Iunciones utiles en algebra lineal y dejamos a la
curiosidad del alumno/a el que investigue por su cuenta en la ayuda de linalg la potencia de este
paquete.
>
1. Clculo matricial
Definicin de matrices: Primeros comandos
Para deIinir una matriz se utiliza el comando matrix() y la entrada se Iorma como una
lista de listas (la lista de las Iilas de la matriz):
> A:= matrix([[1,-alpha,2/3],[-1,0,1],[beta/3,2,-1]]);
: A

1
2
3
-1 0 1

3
2 -1
Que tambien se puede escribir sealando primero el tamao de la matriz luego
introduciendo una lista con todos los elementos ordenados por Iilas:
> matrix(3,3,[1,-alpha,2/3,-1,0,1,beta/3,2,-1]);

1
2
3
-1 0 1

3
2 -1
Para obtener el coeficiente (i,j) de una matriz A, se utilza el comando A[i,j], por
ejemplo:
> A[3,1];

3
Las Iunciones row(A,r1), col(A,c1) devuelven la fila r1 y la columna c1 de A
respectivamente (notese que col(A,c1) devuelve una matriz Iila, no una matriz columna):
> r2:=row(A,2); c3:=col(A,3);
: r2 | | , , -1 0 1
: c3

, ,
2
3
1 -1
Por ultimo en esta seccion introducimos un comando que en principio parece que no tiene
mucha utilidad, pero que vamos a usar con bastante Irecuencia: el comando evalm() que
servira para mostrarnos por pantalla matricialmente el resultado que se obtiene al hacer
algunos calculos mas complicados con expresiones matriciales (veremos su utilidad mas
adelante).
>
Operaciones bsicas: trasposicin, suma, producto, clculo de la inversa y
determinantes
Una vez que ya sabemos como deIinir matrices y como acceder a sus elementos (ya sea a
toda una Iila, una columna o un elemento concreto), vamos a introducir los comandos ue nos
permitan operar con las matrices.
En primer lugar, la traspuesta de una matriz se calcula con el comando transpose()
> transpose(A);

1 -1

3
0 2
2
3
1 -1
Si deIinimos otra matriz B
> B:= matrix([[2,2,2],[1,1,0],[-1,0,1]]);
: B

2 2 2
1 1 0
-1 0 1
La suma se deIine, como es natural, con el simbolo +
> A+B;
+ A B
Aqui queda patente que Maple, al hacer una operacion entre matrices, a pesar de realizarla
no muestra el resultado Iinal por pantalla en Iorma de matriz, por lo que debemos emplear el
comando evalm() para ver el resultado de la operacion matricialmente
> evalm(A+B);

3 + 2
8
3
0 1 1

3
1 2 0
Un poco mas sorprendente es el comando empleado para el producto de matrices, puesto que
si empleamos el simbolo *,
> evalm(A*B);
Error, (in evalm/evaluate) use the &* operator for matrix/vector
multiplication
Obtenemos algo que no se parece en nada al producto de matrices. Como conclusion
debemos obtener que el simbolo * solo sirve para producto entre numeros o producto de una
matriz por un escalar
> evalm(2*B);

4 4 4
2 2 0
-2 0 2
Mientras que para hacer el producto de dos matrices se emplea el comando multiply()
> multiply(A,B);


4
3
+ 2
8
3
-3 -2 -1
+
2
3
3 +
2
3
2
2
3
1
O bien el simbolo &*
> A&*B;
A &* B
Como vemos, en este caso es necesario el comando evalm() para ver por pantalla el
resultado
> evalm(A&*B);


4
3
+ 2
8
3
-3 -2 -1
+
2
3
3 +
2
3
2
2
3
1
El calculo de la inversa de una matriz no tiene ningun problema en Maple (a diIerencia del
laborioso proceso que vimos en teoria para calcualrlas):
> inverse(A);

6
+ 10 3
+ 4 3
+ 10 3
3
+ 10 3

3
+ 10 3
+ 9 2
3 ( ) + 10 3
5
+ 10 3
6
+ 10 3
+ 6
+ 10 3
3
+ 10 3
El determinante (simbolico) es tambien Iacil de calcular:
> det(A);
+
10
3

1
3

>
Manipulacin de matrices
En muchos casos puede ser interesante manipular una matriz para cambiar, aadir o eliminar
aalguna de sus columans o Iilas.
El comando stackmatrix une dos matrices verticalmente:
> A1:=matrix(3,3,[1,-2,5,0,0,Pi/4,7,8,9/5]);
B1:=matrix(3,3,[0,0,3,-5,2,1,8,0,0]);
stackmatrix(A1,B1);
: A1

1 -2 5
0 0

4
7 8
9
5
: B1

0 0 3
-5 2 1
8 0 0

1 -2 5
0 0

4
7 8
9
5
0 0 3
-5 2 1
8 0 0
La Iuncion augment (como la Iuncion concat) une dos matrices horizontalmente:
> augment(A1,B1);

1 -2 5 0 0 3
0 0

4
-5 2 1
7 8
9
5
8 0 0
> concat(A1,B1);

1 -2 5 0 0 3
0 0

4
-5 2 1
7 8
9
5
8 0 0
Si pretendemos eliminar columas (o Iilas) a una matriz la Iuncion delcols(A,r..s) (
delrows(A,r..s)) elimina las columnas (respectivamente Iilas) r,r1,...,s de la matriz
A:
> delcols(augment(A1,B1),2..4);

1 0 3
0 2 1
7 0 0
> delrows(stackmatrix(A1,B1),3..3);

1 -2 5
0 0

4
0 0 3
-5 2 1
8 0 0
>
Analogamente las Iunciones addrow y addcol, aaden Iilas y columas a la matriz y su
sintaxis es
addrow(A, r1, r2, m)
addcol(A, c1, c2, m)
con los parametros:
A - matriz
r1,r2,c1,c2 - enteros; indices de Iila (columna)
m - expresion escalar (opcional. Por deIecto m1).
La llamada addrow(A,r1,r2,m) devuelve una copia de la matriz A en la cual la Iila r2 ha
sido reemplazada por m*row(A,r1)row(A,r2). La Iuncion addcol tiene un comportamiento
similar pero para columnas.
> evalm(A1);

1 -2 5
0 0

4
7 8
9
5
> addcol(A1,1,2,-1);

1 -3 5
0 0

4
7 1
9
5
> addrow(A1,2,3,-9);

1 -2 5
0 0

4
7 8 +
9
4
9
5
>
2. Resolucin de sistemas lineales por mtodos directos
Existen diIerentes Iormas de resolver sistemas lineales empleando Maple. En general cualquier
ecuacion puede ser resuelta con el comando solve(). La sintaxis de este comando es la
siguiente: solve(lhs=rsh,x). Permite resolver una ecuacion compuesta por la igualdad de
dos expresiones
(leIt-hand-side y right-hand-side) respecto de la variable especiIicada (en este caso la x). Por
ejemplo:
> solve(x^3-3*x+2=0,x);
, , -2 1 1
Como se puede comprobar, si una raiz es multiple aparece varias veces.
La ecuacion anterior tambien se puede plantear y resolver del siguiente modo:
> ecuacion:=x^3+2=3*x;
: ecuacion = + x
3
2 3 x
> solve(ecuacion,x);
, , -2 1 1
> rhs(ecuacion);
3 x
> lhs(ecuacion);
+ x
3
2
El comando anterior tambien se puede emplear para resolver un sistema de ecuaciones:
> solve({x1-x2+x3=1,4*x1-5*x2-5*x3=4,2*x1+x2-x3=2,x1+2*x2-2*x3=
1},{x1,x2,x3});
} , , = x2 0 = x3 0 = x1 1
Sin embargo, los sistemas de ecuaciones lineales tambien pueden ser resueltos utilizando su
representacion matricial. En ese caso se emplea el comando linsolve(A,B), entendiendose,
entonces que lo que se esta resolviendo es la ecuacion matricial = AX B :
> A:= matrix([[1,2,2],[1,1,3],[-2,0,1]]);
: A

1 2 2
1 1 3
-2 0 1
> B:=matrix([[3],[2],[1]]);
: B

3
2
1
> linsolve(A,B);

-1
3
4
3
1
3
Para obtener la matriz de coeIicientes a partir del sistema de ecuacione, podemos emplear el
comando genmatrix([eq1,...eqn],[x1,...xn]) que nos permite recuperar la matriz
del sistema de ecuaciones anterior, mientras que
genmatrix([eq1,...eqn],[x1,...xn], flag) nos permite recuperar la matriz
ampliada del sistema de ecuaciones anterior, apareciendo en la ultima columa el vector de
terminos independientes.
> A:=genmatrix([x1-x2+x3=1,4*x1-5*x2-5*x3=4,2*x1+x2-x3=2,x1+2*x
2-2*x3=1],[x1,x2,x3]);
: A

1 -1 1
4 -5 -5
2 1 -1
1 2 -2
> Am:=genmatrix([x1-x2+x3=1,4*x1-5*x2-5*x3=4,2*x1+x2-x3=2,x1+2*
x2-2*x3=1],[x1,x2,x3],flag);
: Am

1 -1 1 1
4 -5 -5 4
2 1 -1 2
1 2 -2 1
Si ahora queremos resolver el sistema planteado de Iorma matricial empleando el comando
linsolve, basta con recuperar la ultima columna:
> B:=col(Am,4);
: B | | , , , 1 4 2 1
> linsolve(A,B);
| | , , 1 0 0
Reciprocamente, si a partir de un sistema de ecuaciones planteado en Iorma matricial, queremos
obtener el sistema en la Iorma usual, basta con emplear el comando
geneqns(A,[x1,...,xn],B):
> E:= geneqns(A,[x1,x2,x3],B);
: E } , , , = + x1 x2 x3 1 = 4 x1 5 x2 5 x3 4 = + 2 x1 x2 x3 2 = + x1 2 x2 2 x3 1
y podriamos resolver el sistema mediante la orden solve().
Existen varios comandos de Maple utiles para resolver determinados tipos especiales de sistema,
del mismo modo que veiamos en las clases teoricas. Asi, por ejemplo, el comando
backsub(A,B) obtiene X tal que A*XB, siendo A una matriz triangular superior (obtenida
aplicando por ejemplo el comando gausselim) y B es un vector (o incluso una matriz) del rango
adecuado. Es decir, es un comando que relaiza el mtodo de sustitucin regresiva, que solo es
valido cuando la matriz de coeIicientes es triangular superior.
> C:=gausselim(Am);
: C

1 -1 1 1
0 -1 -9 0
0 0 -30 0
0 0 0 0
> B:=col(C,4);
A:=delcols(C,4..4);
: B | | , , , 1 0 0 0
: A

1 -1 1
0 -1 -9
0 0 -30
0 0 0
> backsub(A,B);
| | , , 1 0 0
Analogamente el comando forwardsub(A,b) resuelve el sistema A*XB por sustitucin
progresiva, siendo A una matriz triangular inferior, y se utiliza exactamente igual que
backsub.
>
Transformaciones elementales con Maple
Dada una matriz A
> A:=matrix([[1,1,1,-1,1],[2,-2,1,2,0],[3,3,3,3,1],[1,0,-3,4
,5]]);
: A

1 1 1 -1 1
2 -2 1 2 0
3 3 3 3 1
1 0 -3 4 5
los comandos de Maple que corresponden a las transIormaciones elementales por Iilas sobre
la matriz A son los siguientes:
para intercambiar las filasiyjse emplea el comando swaprow(A, i, j):
> swaprow(A,1,2);

2 -2 1 2 0
1 1 1 -1 1
3 3 3 3 1
1 0 -3 4 5
el comando mulrow(A, i, k) permite multiplicar una fila i por un nmero k
(distinto de cero):
> mulrow(A,1,24);

24 24 24 -24 24
2 -2 1 2 0
3 3 3 3 1
1 0 -3 4 5
para sumar a la filajla fila i multiplicada por un nmero k se emplea el comando
addrow(A, i, j, k):
> addrow(A,1,3,-3);

1 1 1 -1 1
2 -2 1 2 0
0 0 0 6 -2
1 0 -3 4 5
En algunos casos puede resultar conveniente "personalizar" los comandos.
Por ejemplo, si deIinimos la Iuncion "Iilapor" en el siguiente modo:
> filapor:=(i,k)->mulrow(A,i,k);
: filapor ( ) , i k ( ) mulrow , , A i k
la Iuncion asi deIinida multiplica la Iila i-esima de A por k.
> filapor(1,24);

24 24 24 -24 24
2 -2 1 2 0
3 3 3 3 1
1 0 -3 4 5
Cuando los sistemas resulten compatibles indeterminados, pueden resultar utiles los
siguientes comandos (el primero multiplica una columna por un numero kdistinto de cero, el
segundo elimina Iilas y el tercero elimina columnas):
> mulcol(A,1,k);

k 1 1 -1 1
2 k -2 1 2 0
3 k 3 3 3 1
k 0 -3 4 5
> delrows(A,1..2);

3 3 3 3 1
1 0 -3 4 5
> delcols(A,3..4);

1 1 1
2 -2 0
3 3 1
1 0 5
>
El Mtodo de Gauss
El mtodo de Gauss o mtodo de eliminacin gaussiana se utiliza para resolver un
sistema linealcompatible determinado de n ecuaciones lineales en n incognitas, que consiste
en transIormar la matriz ampliada en una matriz triangular superior para despues aplicar el
metodo de sustitucion regresiva. Existe una Iuncion de Maple que reaqliza este proceso:
gausselim()
Por ejemplo, si queremos resolver el sistema siguiente empleando el metodo de Gauss,Dado
el sistema
= + + x
1
x
2
x
3
1
= + 2 x
1
3 x
2
x
3
2
= + + 3 x
1
2 x
2
2 x
3
3
su matriz ampliada asociada A seria
> A:=matrix([[1, 1, 1, 1], [2, -3, 1, 2], [3, 2, 2, 3]]);
: A

1 1 1 1
2 -3 1 2
3 2 2 3
Entonces realizando la eliminacion gaussiana
> gausselim(A);

1 1 1 1
0 -5 -1 0
0 0
-4
5
0
Con lo que ya podriamos reoslover el sistema por sustitucion regresiva (separando la matriz
de coeI. de los terminos independientes...). Otra manera de realizar la eliminacion gaussiana
es empleando paso a las transIormaciones elementales que vimos en la seccion anterior
mimetizando lo que hacemos sobre el papel y un tercer metodo (intermedio entre los dos
anteriores), consiste en usar la Iuncion pivot(), para realizar el pivotaje. El comando
pivot(A, i, j), devuelve una nueva matriz en la que en todos los elementos de la
columna j se han convertido en ceros (por medio de transIormaciones elementales), a
excepcion del elemento a
if
de dicha matriz, que es el que se ha utilizado como pivote. Si el
elemento a
if
es nulo, al aplicar el comando pivot se obtiene un mensaje de error:
> B:=pivot(A,2,1);
: B

0
5
2
1
2
0
2 -3 1 2
0
13
2
1
2
0
> pivot(B,3,1);
Error, (in pivot) cannot pivot on zero entry
Asi por ejemplo si queremos realizar el metodo de Gauss sobre la matriz A, debemos hacer
en primer lugar pivotaje sobre la primera columna, luego sobre la segunda...
> A:=pivot(A,1,1);
: A

1 1 1 1
0 -5 -1 0
0 -1 -1 0
> A:=pivot(A,2,2);
: A

1 0
4
5
1
0 -5 -1 0
0 0
-4
5
0
Ahora ya podriamos hacer la sustitucion regresiva.
Los comandos vistos tambien pueden ser utilizados para trabajar con sistemas de
ecuaciones dependientes de parmetros, pero en ese caso hay que tener cuidado, pues el
tipo de simpliIicacion que, por ejemplo, eIectua el comando gaussjord no permite resolver el
problema teniendo en cuenta todos los posibles valores de los parametros, como se puede
ver en el siguiente ejemplo/ejercicio:
Encontrar los valores de a, b v c que hacen que el siguiente sistema de ecuaciones sea
incompatible.
= + + + 2 x
1
x
2
3 x
3
5 x
4
a
= + + 3 x
1
2 x
2
x
3
4 x
4
b
= + + + 3 x
1
x
2
10 x
3
11 x
4
c

> A:=matrix(3,5,[2,1,3,5,a,3,2,-1,4,b,3,1,10,11,c]);
: A

2 1 3 5 a
3 2 -1 4 b
3 1 10 11 c
> gausselim(A);

2 1 3 5 a
0
1
2
-11
2
-7
2
b
3 a
2
0 0 0 0 + c 3 a b
Ahora podemos extraer Iacilmente los valores de a, b y c que hacen el sistema incompatible
(cuales?).
>
Factorizacin
Como ya vimos en clase, la Iactorizacion LU de una matriz proporciona un metodo
eIectivo para resolver simultaneamente un conjunto de sistemas lineales con la misma
matriz cuadrada invertible A de coeIicientes y terminos independientes distintos:
, = A X
1
b
1
= A X
2
b
2
,..., = A X
k
b
k
,
y resulta muy eIectivo para un numero alto de tales sistemas.
Para centrarnos, supongamos que tenemos la matriz A que se puede escribir como
producto de dos matrices L y U, la primera triangular inIerior (lower triangular) y la
segunda triangular superior (upper triangular):
ALU.
Para resolver un sistema AX = L U X b, podemos empezar por deIinir una nueva matriz
= Y U X
y resolver el nuevo sistema
LY b
por sustitucion hacia adelante (o descenso), que es analogo a la sustitucion hacia atras,
pero empezando desde la primera Iila. Asi, una vez calculado Y, podemos resolver el
sistema
= Y U X
por sustitucion hacia atras, siendo U triangular superior.
Ejemplo:
> restart:with(linalg):
L:=matrix(3,3,[2,0,0,4,-1,0,0,-2,1]);
U:=matrix(3,3,[1,0,1,0,1,-3,0,0,1]);
A:=evalm(L&*U);
Warning, the protected names norm and trace have been redefined and
unprotected
: L

2 0 0
4 -1 0
0 -2 1
: U

1 0 1
0 1 -3
0 0 1
: A

2 0 2
4 -1 7
0 -2 7
> b:=matrix(3,1,[2,0,1]);
: b

2
0
1
Vamos a resolver el sistema AX = L U X b.
Como hemos visto antes, llamando = Y U X podemos calcular Y por sustitucion progresiva:
> Y:=forwardsub(L,b);
: Y

1
4
9
Ahora, a partir de Y y por sustitucion regresiva, obtenemos X:
> X:=backsub(U,Y);
: X

-8
31
9
Por supuesto, este valor de X coincide con el valor que calculamos con el comando linsolve:
> linsolve(evalm(L&*U),b);

-8
31
9
Un problema importante que nos encontramos en la Iactorizacion LU es que no toda matriz
cuadrada invertible A se puede escribir como producto de una matriz triangular inIerior por
una matriz triangular superior y es posible que debamos realizar alguna permutacion de Iilas
(visto en teoria). Esta permutacion de Iilas se puede interpretar como una cierta matriz P, de
Iorma que APLU, com L triangular inIerior y U triangular superior.
El calculo de la descomposicion LU de una matriz con Maple se realiza con el comando el
comando LUdecomp(A) que genera una matriz de permutacion de Iilas P, una matriz
triangular inIerior L y una matriz triangular superior U tales que APLU. Este comando
devuelve, por deIecto, la matriz U, pero podemos aadir algunas entradas, para nombrar las
salidas del procedimiento:
L'l': almacena L como la matriz de nombre l.
U'u': almacena U como la matriz de nombre u.
P'p': almacena P como la matriz de nombre p.
Estos comandos son opcionales y la sintaxis del comando es
LUdecomp(A,L='l',U='u',P='p').
Por ejemplo:
> restart:with(linalg):
Warning, the protected names norm and trace have been redefined and
unprotected
> A:=matrix(5,5,[0,-2,7,4,-1,7,2,0,2,1,3,4,5,7,-1,-3,4,8,0,5
,1,0,6,0,8]);
: A

0 -2 7 4 -1
7 2 0 2 1
3 4 5 7 -1
-3 4 8 0 5
1 0 6 0 8
> LUdecomp(A,L='L',U='U',P='P');

7 2 0 2 1
0 -2 7 4 -1
0 0 16
87
7
-3
0 0 0
-991
112
123
16
0 0 0 0
4775
991
> evalm(P);

0 1 0 0 0
1 0 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
> evalm(L);

1 0 0 0 0
0 1 0 0 0
3
7
-11
7
1 0 0
-3
7
-17
7
25
16
1 0
1
7
1
7
5
16
531
991
1
> evalm(U);

7 2 0 2 1
0 -2 7 4 -1
0 0 16
87
7
-3
0 0 0
-991
112
123
16
0 0 0 0
4775
991
> evalm(A)=evalm(P&*L&*U);
=

0 -2 7 4 -1
7 2 0 2 1
3 4 5 7 -1
-3 4 8 0 5
1 0 6 0 8

0 -2 7 4 -1
7 2 0 2 1
3 4 5 7 -1
-3 4 8 0 5
1 0 6 0 8
Si ahora queremos resolver el sistema lineal Axb, donde
> b:=matrix(5,1,[1,12,-34,2,5]);
: b

1
12
-34
2
5
Como hemos hecho permutaciones de Iilas a la matriz A ( las permutaciones corresponden
a la matriz P), debemos aplicarle los mismos cambios a los terminos independientes,
> Y:=forwardsub(L,P&*b);
: Y

12
1
-263
7
7647
112
-21505
991
> X:=backsub(U,Y);
: X

1143
191
-1016
955
5578
955
-11106
955
-4301
955
valor que coincide con la solucion real.
> linsolve(A,b);

1143
191
-1016
955
5578
955
-11106
955
-4301
955
>
3. Ejercicios
1. Determinar el elemento B(2,4) siendo B la matriz inversa de la siguiente matriz
: A

1 0 1 2 1
2 1 2 0 2
3 1 0 4 1
1 0 1 1 0
1 2 4 2 6
a) = ( ) B , 2 4
84
73
b) = ( ) B , 2 4
9
73
c) = ( ) B , 2 4
5
73
>
>
>
2. Siendo A y B las matrices del problema 1, cual es el determinante de la matriz AB+2B
?
a) 1 b)
1
32
c)
289
73
>
>
>
3. Siendo = A2

1 a a
2
0 1 a
0 0 1
, = A3

1 a a
2
a
3
0 1 a a
2
0 0 1 a
0 0 0 1
, = A4

1 a a
2
a
3
a
4
0 1 a a
2
a
3
0 0 1 a a
2
0 0 0 1 a
0 0 0 0 1
,
puedes conjeturar cul es el elemento situado en el lugar (n,n-1) de la matriz inversa de
An?
a) B(n,n-1) a b) B(n,n-1) -a c) B(n,n-1) 0.
>
>
>
4. Dada la matriz : A

1 0 1
0
1
n
0
0 0 1
, encontrar la expresin de A
m
( , n m son nmeros
naturales) .
Cual es el elemento 1,3 de la matriz A
m
?
a) ( ) 1
( ) + m 1
n b) m c) 1
>
>
>
5. Dado el sistema de ecuaciones lineales:
= + 2 x
1
9 x
2
x
3
54
= + x
1
27 x
2
x
3
42
= + x
1
x
2
( ) ln 3 x
3
1
sea : A

2 9 1
1 27
1 1 ( ) ln 3
la matriz de los coeficientes de las variables.
Se veriIica que:
a) A es invertible b) A no es invertible c) El sistema es compatible indeterminado
>
>
>
6. Sea Am la matriz ampliada del sistema de ecuaciones lineales anterior, sealar cual
secuencia de instrucciones permite obtener una nueva matriz en la que la variable x
1

nicamente aparezca en una ecuacin, y en dicha ecuacin el coeficiente por el que
aparece multiplicada la citada variable sea 1 :
a) ( ) swaprow , , Am 1 3 : ( ) pivot , , 3 1
b) ( ) swaprow , , Am 1 2 : ( ) pivot , , 1 1
c) Ninguna de las anteriores
>
>
>
7. Dado el sistema de ecuaciones dependiente del parmetro "a"
= + + x
1
x
2
a x
3
1
= + + x
1
x
2
x
3
a
= + + a
2
x
1
x
2
x
3
1
Determinar el valor o valores de "a" para los cuales el sistema anterior es compatible
determinado.
a) No es compatible determinado solamente cuando = a 1
b) No es compatible determinado solamenete cuando = a 1 o = a 1.
c) No es compatible determinado solamente cuando = a 1 o = a 0.
>
>
>
8. Dado el sistema de ecuaciones del ejercicio anterior, selese la respuesta correcta:
a) Para = a 1 el sistema es compatible indeterminado y la solucion depende de un
parametro.
b) Para = a 1 el sistema es compatible indeterminado y la solucion depende de dos
parametros.
c) Para = a 1 el sistema de ecuaciones es incompatible.
>
>
>
9. Resolver el sistema Axb mediante el mtodo de factorizacin LU, siendo A y b los
dados a continuacin comprobando que coincide con el resultado obtenido por el mtodo
de eliminacin gaussiana y con el comando directo de resolucin.
> A:=matrix(6,6,[0,-2,7,4,5,-1,7,2,0,2,1,03,4,5,7,-1,-3,4,8,9,0
,5,5,3,0,-8,9,1,-9,12,1,0,6,0,8,0]):
B:=[-1,0,3,34,6,8]:
>
>
>

Das könnte Ihnen auch gefallen