• No se han encontrado resultados

Programaci´ on: soluci´ on de sistemas de ecuaciones lineales usando la descomposici´ on QR

N/A
N/A
Protected

Academic year: 2022

Share "Programaci´ on: soluci´ on de sistemas de ecuaciones lineales usando la descomposici´ on QR"

Copied!
2
0
0

Texto completo

(1)

Programaci´ on: soluci´ on de sistemas de ecuaciones lineales usando la descomposici´ on QR

Objetivos. Programar una funci´on que resuelva sistemas de ecuaciones lineales usan- do funciones programadas anteriormente que realizan la descomposici´on QR y resuelven sistemas de ecuaciones lineales con matrices triangulares superiores.

Requisitos. Descomposici´on QR, soluci´on de sistemas de ecuaciones lineales con matrices triangulares superiores.

Se recomienda resolver estos ejercicios antes de la clase pr´actica.

1. Definici´on de la descomposici´on QR en el caso cuadrado. Sea A ∈ Mn(R). Un par de matices (Q, R) se llama descomposici´on QR de la matriz A si:

QR = . . . Q es . . . R es . . .

Notemos que en el caso de matrices cuadradas no hay diferencia entre la descomposici´on QR completa y la descomposici´on QR reducida (delgada).

2. Invertibilidad de la matriz R en la descomposici´on QR. Supogamos que A es una matriz cuadrada invertible y las matrices Q y R forman su descomposici´on QR.

Muestre que la matriz R es invertible.

¿Qu´e podemos afirmar sobre las entradas diagonales de R?

3. F´ormulas matem´aticas. Sea A ∈ Mn(R) es una matriz cuadrada invertible y sea b ∈ Rn. Supogamos que (Q, R) es una descomposici´on QR de A. Exprese la soluci´on del sistema Ax = b en t´erminos de Q, R, b.

Ax = b ⇐⇒

| {z }

?

x = b ⇐⇒

| {z }

?

x =

| {z }

?

b ⇐⇒ x =

| {z }

? | {z }

?

b.

Por supuesto, en el algoritmo num´erico no es necesario invertir la matriz R. Ser´ıa m´as eficiente resolver el sistema Rx =

| {z }

?

con una funci´on programada anteriormente que resuelve sistemas de ecuaciones lineales con matrices triangulares superiores.

Programaci´on: soluci´on de sistemas de ecuaciones lineales con QR, p´agina 1 de 2

(2)

4. Funciones necesarias programadas anteriormente. Se supone que ya tenemos las siguientes funciones:

Funci´on myqr que realiza la descomposici´on QR (completa o reducida) con alg´un m´etodo. En el lenguaje MATLAB, la sintaxis es [Q, R] = myqr(A).

Funci´on solveut que resuelve sistemas de ecuaciones lineales con matrices triangu- lares superiores (las entradas diagonales deben ser no nulas): x = solveut(U, b).

Funci´on que construye la matriz transpuesta de la matriz dada. En MATLAB se puede usar la operaci´on ’ o .’, o sus sin´onimos ctranspose y transpose:

B = A’; B = transpose(A);

Funci´on que multiplica la matriz dada por el vector dado. En MATLAB se puede usar la operaci´on *.

5. Programar una funci´on que resuelva sistemas de ecuaciones lineales usando la descomposici´on QR.

function [x] = solvewithqr(A, b), [Q, R] = myqr(A);

...

end

6. Pruebas con matrices peque˜nas.

function [x] = test1solvewithqr(), n = 4;

A = 2 * rand(n, n) - ones(n, n); b = 2 * rand(n, 1) - ones(n, 1);

x = solvewithqr(A, b);

display(norm(A * x - b));

end

7. Pruebas con matrices grandes.

function [x] = test2solvewithqr(), for n = [100, 200, 400],

A = ...; b = ...;

t1 = cputime(); x = solvewithqr(A, b); t2 = cputime();

display(n); display(norm(A * x - b)); display(t2 - t1);

end end

8. Medir por separado el tiempo de QR. En la funci´on test2solvewithqr sustituir el comando x = solvewithqr(A, b) por el c´odigo de la funci´on solvewithqr, luego medir por separado el tiempo de la ejecuci´on de la funci´on myqr y el tiempo de ejecuci´on necesario para la otra parte (soluci´on del sistema triangular superior).

Programaci´on: soluci´on de sistemas de ecuaciones lineales con QR, p´agina 2 de 2

Referencias

Documento similar

En forma matricial, a la segunda fila de la matriz aumentada le sumamos la primera fila multiplicada por −4.. Luego, dividimos la segunda ecuaci´ on

Si en alg´ un paso del algoritmo en la matriz del sistema surge un rengl´ on cero, y el t´ ermino independiente que corresponde a este rengl´ on es distinto de cero, entonces el

GNU Octave instalado, operaciones con matrices en GNU Octave, operacio- nes elementales por renglones, soluci´ on de sistemas de ecuaciones lineales, matriz inversa1. Soluci´ on

De la construcci´ on escrita en ejemplos anteriores sigue que dim(S) es igual al n´ umero de variables libres en el sistema Ax = 0 m , y las variables libres son aquellas cuyas

Practicar el m´ etodo de la sustituci´ on hacia adelante para resolver sistemas triangulares inferiores y el m´ etodo de la sustituci´ on hacia atr´ as para sistemas

Calcule el n´ umero de operaciones aritm´ eticas (en la aritm´ etica con punto flotante) en el algoritmo anterior.. Puede suponer que el c´ alculo de la ra´ız cuadrada positiva es

Escriba una funci´ on que calcule la inversa de la matriz dada L, donde L es una matriz cuadrada triangular superior.. Calcule el n´ umero

Escriba el algoritmo de la sustituci´ on hacia adelante que se usa para resolver un sistema de ecuaciones lineales Lx = b, donde L es una matriz triangular inferior de orden n