You are on page 1of 6

Triangulacin de Matrices

Arreglos BI-Dimensinales
En programacin se presentan casos en los que es indispensable referenciar y manejar valores Una operacin elemental sobre filas (columnas) en una matriz A es cualquiera de las siguientes operaciones: (a) Intercambiar la fila (columna) i con la fila (columna) j de A. Esta operacin se denomina operacin de tipo I. (b) Multiplicar la fila (columna) i por un nmero c 0. Esta operacin se denomina operacin de tipo II. (c) Sumar c veces la fila (columna) i a la fila (columna) j, i j. Esta operacin se denomina operacin de tipo III. A continuacin se desarrollaran los programas que realicen estas operaciones elementales sobre matrices, para lo cual se consideraran las siguientes declaraciones y asignaciones para manejar una matriz A de MxN elementos:

Var A : array[ 1 .. 6, 1 .. 6 ] of Real; J, K, L : Integer; M, N : Integer; C, T : Real; M A A A A := [1, [2, [3, [4, 4; 1]:= 1]:= 1]:= 1]:= N := 3; A[1, 2]:= A[2, 2]:= A[3, 2]:= A[4, 2]:=

1; 2; 3; 0;

2; 1; 3; 1;

A[1, A[2, A[3, A[4,

3 3 3 3

] ] ] ]

:= := := :=

3; 1; 2; 2;

Para la construccin de los ejemplos, las operaciones elementales se realizarn sobre filas, dejando las operaciones elementales sobre columnas como ejercicio al lector.

Operacin de tipo I
Al intercambiar la fila K con la fila L en una matriz A, no es necesario recorrer filas en la matriz, ya que las filas estn fijadas por los valores K y L.

K L

1 2 3 0

A 2 1 3 1

3 1 2 2

Slo es necesario recorrer las columnas de ambas filas simultneamente. Por cada columna recorrida, se intercambia el elemento de la fila K con el elemento de la fila L
Ing. Manuel R. Fernndez R. Computacin II

For J := 1 to N do Begin T := A[ K, J ]; A[ K, J ] := A[ L, J ]; A[ L, J ] := T End;

Operacin de tipo II
Al multiplicar la fila K de una matriz A por un escalar C, no es necesario recorrer filas en la matriz, ya que la fila est fijada por el valor K Slo es necesario recorrer las columnas de la fila K, donde a cada elemento se le asigna dicho elemento multiplicado por C

1 2 3 0

A 2 1 3 1

3 1 2 2

Valor C = -3
For J := 1 to N do A[ K, J ] := C A[ K, J ];

Se puede observar que solamente la fila K fue alterada en la matriz.

1 -6 3 0

A 2 -3 3 1

3 -3 2 2

Operacin de tipo III

Al igual que las operaciones anteriores, no es necesario recorrer las filas de la matriz A, ya que las filas estn fijadas por los valores K y L

A K L 1 2 3 0 2 1 3 1 3 1 2 2

Valor C= -1

El procedimiento consiste en sustituir cada columna j de la fila K por el elemento de la columna j de dicha fila ms C veces el elemento de la columna j de la fila L.

For J := 1 to N do A[K,J] := A[K,J] + C A[L,J];

Es importante hacer notar que la fila L no se ve alterada por la operacin. Slo se altera la fila K. Por otro lado, el procedimiento ilustrado permite que la fila K pueda encontrarse antes o despus de la fila L

-2 2 3 0

A -1 1 3 1

1 1 2 2

Ing. Manuel R. Fernndez R. Computacin II

Triangulacin de una Matriz


El mtodo consiste en transformar una matriz cuadrada cualquiera, en otra cuya triangular inferior este compuesta por ceros, es decir, que los elementos por debajo de la diagonal principal son ceros.

1 2 3

A 2 1 3

3 1 2

Transformacin

1 0 0

A 2 -3 0

3 -5 -2

Para obtener esta transformacin, es necesario aplicar operaciones elementales a la matriz original hasta obtener la triangulacin. Sea la matriz A del ejemplo: A 1 2 3 2 1 3 3 1 2
F2 2F1 F2

A 1 0 3 A
F3 F2 F3

A 2 -3 3 2 -3 0 3 -5 2 3 -5 -2
F3 3F1 F3

1 0 0

2 -3 -3

3 -5 -7

1 0 0

El procedimiento consiste en detenerse en una columna y hacer cero los elementos por debajo del elemento de la diagonal principal utilizando la operacin elemental de tipo III. Al terminar con una columna se avanza hacia la siguiente y se repite la operacin. El recorrido de las columnas comienza en la primera y termina en la penltima, ya que la ltima no tiene elementos debajo de la diagonal principal.

For J:= 1 to N-1 do For I:= J+1 to N do Begin C:= -A[I,J]/A[J,J]; For K:= J to N do A[I,K] := A[I,K] + C A[J,K]; End;

Para obtener el cero deseado en un elemento debajo de la diagonal principal, se le suma a la fila de dicho elemento la fila donde esta el elemento de la diagonal principal multiplicada por un valor C. El valor C consiste en ( -elemento deseado/Elemento de la diagonal principal).

For J := 1 to N-1 do For I := J+1 to N do If A[I,J] <> o then Begin C := -A[I,J]/A[J,J]; For K := J to N do A[I,K] := A[I,K] + C A[J,K]; End;

Ing. Manuel R. Fernndez R. Computacin II

Ahora bien, puede suceder que el elemento deseado a ser transformado en un cero, ya contenga un valor cero lo que implica que no es necesario realizar la transformacin de ese elemento. Por otro lado, tambin puede suceder que el elemento sobre la diagonal principal contenga un cero, haciendo indeterminado el valor de C. Para eliminar la existencia de este cero, hay que sumarle a la fila que contiene el elemento de la diagonal principal otra fila cualquiera por debajo de ella. Si no se obtiene una fila que al sumarla elimine el cero, esto significa que la matriz no se puede triangular. Desde el punto de vista del lgebra lineal, la matriz es singular y por lo tanto su determinante es cero. Si la matriz es singular, no tiene sentido continuar la triangulacin, por lo tanto se incorpora al programa la bandera IT (imposible triangular) la cual si tiene un valor cero, significa que la triangulacin puede seguir realizndose y si tiene un valor uno, significa que es necesario detener el proceso de triangulacin. Al finalizar la triangulacin, se puede preguntar por la bandera para tener la certeza de que la operacin de triangulacin se llev o no con xito,

J := 1; IT := 0; While ( J <= N-1 ) and ( IT = 0 ) do Begin If A[J,J] = 0 then Begin L := J; While ( L <= N ) and ( A[L,J] = 0 ) do L:=L+1; If A[L,J]=0 then IT := 1 Else For JJ := J to N do A[J,JJ]:=A[J,JJ]+A[L,JJ] End; If IT = 0 then For I:= J+1 to N do If A[I,J] <> 0 then Begin C := -A[I,J]/A[J,J]; For K := J to N do A[I,K] := A[I,K]+CA[J,K]; End; J := J + 1 End;

Ing. Manuel R. Fernndez R. Computacin II

Problemas Propuestos

1. Si una matriz A = [aij] es triangular superior (inferior), entonces A=a11a22ann; es decir, el determinante de una matriz triangular es el producto de los elementos de la diagonal principal.(Algebra Lineal, Kolman 1988, p.196). Desarrolle un programa que lea una matriz A de orden N cualquiera y determine el determinante utilizando el proceso de triangulacin.
A 1 2 3 2 1 3 3 1 2
Triangulacin

A 1 0 0 2 -3 0 3 -5 -2 A = ( 1 ) ( -3 ) ( -2 )

2. Un mtodo para resolucin de sistemas de ecuaciones con N ecuaciones y N incgnitas es el llamado mtodo de eliminacin de Gauss. Dado el siguiente sistemas de ecuaciones:
X1 2X1 3X1 + + 2X2 3X2 X2 + + 3X3 2X3 X3 = = = 6 14 -2

Se puede representar de la siguiente manera


1 2 3 2 -3 1 3 2 -1 x X1 X2 X3 = 6 14 -2

Triangulando la Matriz, y realizando las mismas operaciones sobre el vector, queda:


1 0 0 2 1 0 3 2 10 X X1 X2 X3 = 6 4 30

La solucin del sistema es: X1 = 1 , X3 = -2 y X3 = 3 . 3. Un mtodo para resolucin de sistemas de ecuaciones con N ecuaciones y N incgnitas es el llamado mtodo de reduccin de Gauss-Jordan. Dado el siguiente sistemas de ecuaciones:
X1 2X1 3X1 + + 2X2 3X2 X2 + + 3X3 2X3 X3 = = = 6 14 -2

Ing. Manuel R. Fernndez R. Computacin II

Se puede representar de la siguiente manera


1 2 3 2 -3 1 3 2 -1 x X1 X2 X3 = 6 14 -2

Triangulando a una matriz triangular superior, y realizando las mismas operaciones sobre el vector, queda:
1 0 0 2 1 0 3 2 1 x X1 X2 X3 = 6 4 3

Triangulando a una matriz triangular inferior, garantizando que queden slo valores 1 en la diagonal principal, y realizando las mismas operaciones sobre el vector, queda:
1 0 0 0 1 0 0 0 1 x X1 X2 X3 = 1 -2 3

La solucin del sistema es directa y es: X1=1 , X3=2 y X3=3 . 4. La inversa de una matriz A de orden n, puede determinarse generando una matriz Identidad Id de orden n paralela a A, aplicando el mtodo de reduccin de Gauss-Jordan sobre la matriz A y realizando las mismas operaciones sobre la matriz identidad Id. La matriz que queda en Id, ser la inversa de A, s y solo s, el determinante de A es diferente de cero. Ejemplo:
1 0 5 A 1 2 5 1 3 1 1 0 0 Id 0 1 0 0 0 1

Aplicando el mtodo de reduccin de Gauss-Jordan, sobre la matriz A y realizando las mismas operaciones en la matriz Id, queda:
A 1 0 0 0 0 0 0 0 1 13/8 -15/8 5/4 Id -1/2 1/2 0 -1/8 3/8 -1/4

Ing. Manuel R. Fernndez R. Computacin II

You might also like