Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Preuniversitario estudio, Apuntes de Ingeniería Física

Práctica práctica práctica práctica

Tipo: Apuntes

2022/2023

Subido el 16/07/2023

jose-namuche
jose-namuche 🇵🇪

5 documentos

1 / 105

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Centro de Investigación en Matemáticas A.C.
Maestría en Ciencias con Especialidad en
Computación y Matemáticas Industriales
“Cálculo de Estructuras Utilizando
Elemento Finito con Cómputo en Paralelo”
por
José Miguel Vargas Félix
Asesor: Dr. Salvador Botello Rionda
Guanajuato, abril de 2010
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Vista previa parcial del texto

¡Descarga Preuniversitario estudio y más Apuntes en PDF de Ingeniería Física solo en Docsity!

Centro de Investigación en Matemáticas A.C.

Maestría en Ciencias con Especialidad en

Computación y Matemáticas Industriales

“Cálculo de Estructuras Utilizando

Elemento Finito con Cómputo en Paralelo”

por

José Miguel Vargas Félix

Asesor: Dr. Salvador Botello Rionda

Guanajuato, abril de 2010

Agradecimientos

En primera instancia y de forma general quiero agradecer al CIMAT, es un gran lugar para crecer, tanto en

forma académica, como en forma personal. Es una comunidad fantástica de la cual recibí incontable

apoyo. En partícular ahora quiero decir gracias al Dr. Salvador Botello por compartir su conocimiento y

experiencia, por todo el apoyo que me brindó. Además de asesorar y guiar con por buen camino esta tésis,

consiguió los recursos (becas, cursos y hardware) necesarios para llevarla a cabo. A los revisores Dr.

Arturo Hernández Aguirre y Dr. Miguel Ángel Móreles Vázquez, por sus valiosos comentarios y

opiniones. Agradezco también a Jose Jesus Rocha Quezada quien fue el encargado poner a punto el

cluster de cómputo en el cual se implementó esta tesis.

Al Dr. Juan José Tapia Armenta por su interés en este trabajo de tésis y por tomarse el tiempo de leer y

enviarme comentarios, los cuales fueron de gran ayuda.

Apoyos recibidos

Durante el tiempo en que realicé mis estudios de maestía recibí apoyos en forma de becas, sin los cuales

no hubiese sido posible la conclusión de estos y el desarrollo de esta tésis.

Centro de Investigación en Matemáticas (CIMAT)

  • Octubre a diciembre de 2007. Art20 - III - Beca de estudios de Maestría (Acta 2007-013)
  • Enero de 2008. Art20 - III - Beca de estudios de Maestría (Acta 2008-001)
  • Agosto a diciembre de 2009. Art19- VI- Beca de elaboración de tesis de Maestría (Acta 2009-011)

Consejo Nacional de Ciencia y Tecnología (Conacyt)

  • Enero de 2008 a julio de 2009. “Convocatoria de Becas Conacyt Nacionales enero - julio 2008”.
  • Noviembre a diciembre de 2009. “Proyecto de Investigación 83974-Y”

A los implicados

 - Resumen................................................................................................................................................. 
  • Agradecimientos.................................................................................................................................... - Apoyos recibidos.................................................................................................................................. - Centro de Investigación en Matemáticas (CIMAT)........................................................................... - Consejo Nacional de Ciencia y Tecnología (Conacyt).....................................................................
    1. Introducción....................................................................................................................................... - 1.1. Motivación.................................................................................................................................... - 1.2. Distribución de los capítulos......................................................................................................... - 1.3. Modelos de cómputo en paralelo................................................................................................. - 1.4. Avance del cómputo en paralelo.................................................................................................. - 1.5. Las matemáticas del paralelismo................................................................................................. - 1.6. Sobre el estado del arte............................................................................................................... - 1.6.1. Discretización con el método de elementos finitos............................................................... - 1.6.2. Descomposición de dominios............................................................................................... - 1.6.3. Dominios sin traslape, complemento de Schur..................................................................... - 1.6.4. Métodos Neumann-Neumann............................................................................................... - 1.6.5. Métodos Dirichlet-Dirichlet....................................................................................................
    1. Deformación elástica de sólidos con el método de los elementos finitos.................................... - 2.1. Elasticidad bidimensional............................................................................................................. - 2.1.1. Esfuerzos y deformaciones.................................................................................................. - 2.1.2. Principio de trabajos virtuales............................................................................................... - 2.1.3. Discretización en elementos finitos....................................................................................... - 2.1.4. Funciones de forma.............................................................................................................. - 2.1.5. Discretización de los campo de deformaciones y esfuerzos................................................. - 2.1.6. Ecuaciones de equilibrio de la discretización........................................................................ - 2.1.7. Ensamblado de la matriz de rigidez...................................................................................... - 2.2. Elasticidad tridimensional............................................................................................................. - 2.2.1. Esfuerzos y deformaciones.................................................................................................. - 2.2.2. Funciones de forma.............................................................................................................. - 2.2.3. Discretización de los campo de deformaciones y esfuerzos................................................. - 2.2.4. Ecuaciones de equilibrio de la discretización........................................................................
    1. Una aplicación de la paralelización con memoria compartida...................................................... - 3.1. Introducción................................................................................................................................. - 3.2. Arquitectura del procesamiento en paralelo................................................................................. - 3.3. Paralelización con threads........................................................................................................... - 3.4. Algoritmo de gradiente conjugado................................................................................................ - 3.5. Formulación en paralelo...............................................................................................................
      • 3.6. Implementación con matrices ralas.............................................................................................. Agradecimientos
      • 3.7. Resultados...................................................................................................................................
    1. Una aplicación de la paralelización con memoria distribuída.......................................................
      • 4.1. Paralelización con memoria distribuida........................................................................................
      • 4.2. Descomposición de dominios....................................................................................................... - 4.2.1. Algoritmo alternante de Schwarz.......................................................................................... - 4.2.2. Aplicación con un problema de elemento finito..................................................................... - 4.2.3. Velocidad de convergencia...................................................................................................
      • 4.3. Particionamiento del dominio.......................................................................................................
      • 4.4. Implementación con MPI..............................................................................................................
    1. Factorización Cholesky simbólica para matrices ralas..................................................................
      • 5.1. Cómo lograr un solver directo eficiente........................................................................................
      • 5.2. Factorización clásica de Cholesky...............................................................................................
      • 5.3. Reordenamiento de renglones y columnas.................................................................................. - 5.3.1. Descripción del problema..................................................................................................... - 5.3.2. Matrices de permutación...................................................................................................... - 5.3.3. Representación de matrices ralas como grafos.................................................................... - 5.3.4. Algoritmos de reordenamiento..............................................................................................
      • 5.4. Factorización Cholesky simbólica................................................................................................
      • 5.5. Implementación............................................................................................................................ - 5.5.1. En dos dimensiones.............................................................................................................
    1. Resultados.........................................................................................................................................
      • 6.1. Preparación..................................................................................................................................
      • 6.2. Descomposición de dominio y gradiente conjugado.................................................................... - 6.2.1. Gradiente conjugado paralelizado........................................................................................ - 6.2.2. Gradiente conjugado sin paralelizar.....................................................................................
      • 6.3. Descomposición de dominio y factorización Cholesky simbólica.................................................
      • 6.4. Evolución y convergencia............................................................................................................
      • 6.5. Distribución de tiempo..................................................................................................................
      • 6.6. Traslape.......................................................................................................................................
      • 6.7. Afinidad del CPU..........................................................................................................................
      • 6.8. Sistemas “grandes”......................................................................................................................
      • 6.9. Un caso particular con malla estructurada................................................................................... - 6.9.1. Distribución de tiempos del algoritmo...................................................................................
    1. Conclusiones y trabajo futuro..........................................................................................................
    • Bibliografía............................................................................................................................................
    • Apéndice A. Guía para hacer pruebas................................................................................................ - Forma combinada.............................................................................................................................. - Particiones independientes................................................................................................................
    • Apéndice B. Ejemplo de ejecución en un cluster............................................................................
    • Apéndice C. Generación de mallas grandes....................................................................................
  1. Introducción

1.1. Motivación

Algunos problemas modelados con elemento finito requieren de una discretización muy fina para reducir

el grado de error, lo cual implica utilzar una gran cantidad de recursos de cómputo para poder ser

resueltos. En particular nos enfocamos en problemas de elemento finito resultantes de la modelación de la

deformación elástica de sólidos en dos y tres dimensiones. Sucede entonces que el tamaño de las matrices

resultantes de esta modelación fina son tan grandes que no es factible almacenarlas en la memoria de una

sola computadora, además, el tiempo que se tarda en encontrar la solución del sistema de ecuaciones

puede ser demasiado extenso como para resultar práctico. Lo que nos lleva a cambiar de paradigma de

programación y enfocarnos en el cómputo en paralelo, con el cual hacemos que múltiples computadoras

trabajen de forma cooperativa en la resolución de este tipo de problemas.

1.2. Distribución de los capítulos

Iniciaremos más adelante en este capítulo hablando de forma breve del cómputo en paralelo, tanto de

hardware y software, la motivación matemática de éste y haremos una intruducción a la técnica de

descomposición de dominios hablando brevemente del estado del arte de éste.

El orden de los capítulos siguientes tiene que ver con la forma en que se fue atacando el problema. Con el

capítulo 2 describiremos la teoría de deformación elástica de sólidos con elementos finitos.

En el capítulo 3 describiremos la paralelización de dicho programa utilizando el esquema de memoria

compartida utilizando como solver el método de gradiente conjugado en paralelo, presentamos algunos

resultados.

A continuación, en el capítulo 4, hablaremos de la teoría e implementación un esquema híbrido, que

combina los esquemas de memoria distribuida y memoria compartida. En pocas palabras, lo que hacemos

es particionar el dominio de un problema de elementos finitos para así formar problemas independientes

que están relacionados entre sí a través de condiciones de frontera comunes. Cada problema

independiente se resuelve utilizando el solver descrito en el capítulo 3. Las soluciones locales a cada

partición se combinan con las de las particiones adyacentes de forma iterativa hasta lograr una

convergencia. Mostramos algunos resultados y denotamos algunos de los problemas de este esquema

híbrido.

  1. Introducción

utilizada en computación científica de alto rendimiento, la mayoría de las computadoras en la lista

TOP500, utilizan este esquema.

1.4. Avance del cómputo en paralelo

En años recientes se ha logrado un avance exponencial en cuanto a la capacidad de procesamiento, de los

procesadores, como se muestra en la figura 1. 1.

1970 1975 1980 1985 1990 1995 2000 2005 2010

0E+

1E+

2E+

3E+

4E+

5E+

6E+

7E+

8E+

Intel 4004 (92K ips) Intel 8080 (500K ips) Motorola 68000 (1M ips) Intel 80x286 (4M ips) Intel 80x386 (11M ips) Motorola 68040 (44M ips) Intel 80x486 (54M ips)

Motorola 68060 (88M ips) Intel Pentium Pro (541M ips)

Intel Pentium III (1.4G ips)

AMD Athlon XP (5.9G ips)

Intel Pentium IV (9.7G ips)

PlayStation 3 Cell (10G ips)

Intel Core 2 (49G ips)

Intel Core i7 (76G ips)

AMD Phenom II X4 (43G ips)

Número de instrucciones por segundo

Figura 1. 1. Evolución de la capacidad de los procesadores en instrucciones por segundo (ips).

Este incremento no solo se debe al desarrollo de la tecnología con la que se fabrican los procesadores,

sino al hecho de que ahora se fabrican procesadores con varios núcleos. Por ejemplo el procesador Intel

Core i7-980X tiene 6 núcleos. Los sistemas operativos y compiladores modernos aprovechan esta

característica para ejecutar sus rutinas en paralelo. El estándar más utilizado para procesadores multi-core

es OpenMP [Chap08].

Otro avance importante en los últimos años es que el uso de clusters de computadoras se ha hecho

accesible. En particular los clusters Beowulf [Ster95], son implementados con computadoras comerciales

que son interconectadas por medio de una red local (figura 1. 2 ), las computadoras funcionan ejecutando

sistemas operativos libres (GNU/Linux, FreeBSD, etc.) y se programan utilizando librerías que permiten

la comunicación entre los programas de cálculo numérico. La librería más utilizada para desarrollar

aplicaciones en paralelo en clusters Beowulf es la interface de pase de mensajes MPI (del inglés,

Message Passing Interface) [MPIF08], ésta permite implementar con facilidad programas que se ejecuten

bajo el esquema de memoria distribuida.

  1. Introducción

Computadoras nodos escalvo

Computadora

nodo maestro

Switch

de red

Red

externa

Figura 1. 2. Configuración típica de un cluster Beowulf.

El trabajo de esta tesis implicó el desarrollo de un programa de software para resolver problemas de

elemento finito utilizando cómputo en paralelo. Para la implementación y prueba de este programa se

utilizó el cluster de cómputo del CIMAT, el cual sigue el modelo MIMD. Cuenta con 30 computadoras

multi-core, las cuales proveen un total de 192 procesadores, los cuales son accesados a través de un nodo

maestro. Éstas tienen instalado el sistema operativo GNU/Linux, la suite de compiladores GNU/GCC y la

librería de MPI OpenMPI..

1.5. Las matemáticas del paralelismo

Hay muchas operaciones matemáticas básicas que pueden paralelizarse, esto significa que pueden

separarse en varias sub-operaciones que puede realizarse de forma independiente. Por ejemplo, el la suma

de dos vectores x , y para producir otro vector c ,

c

i

= x

i

y

i

, i =1, , N.

En este caso las

N

sumas pueden realizarse simultáneamente, asignando una a cada procesador. Lo que

hay que resaltar es que no hay dependencia entre los diferentes pares de datos, tenemos entonces el

paralelismo más eficiente.

Hay operaciones que presentan mayor dificultad para paralelizarse, por ejemplo el producto punto 〈 x , y 〉

a =

i = 1

N

x

i

y

i

donde a es un escalar, una primera aproximación sería verlo como una secuencia de sumas de productos

que requieren ir acumulando un resultado, al verlo así no es una operación paralelizable. Sin embargo,

podemos reorganizar el proceso como se muestra en la figura 1. 3.

  1. Introducción

comparten aristas y nodos, figura 1. 4. Las relaciones entre nodos corresponden a entradas en una matriz.

Así, la relación entre los nodos

i y

j equivale a un valor en la entrada

a

i j

en una matriz

A

. Dado que

existe una relación del nodo i al nodo j , también existe una relación (no necesariamente con el mismo

valor) del nodo

j al nodo

i , lo que producirá una matriz con estructura simétrica, aunque no

necesariamente simétrica en cuanto a sus valores (en las secciones siguientes se tratan sólo problemas con

matrices simétricas tanto en estructura como en valores). Además, en la diagonal aparecen entradas que

representan a los nodos.

i

j

A =

° a

i i

° a

j i

° a

i j

° a

j j

Figura 1. 4. Discretización de un dominio.

Tendremos entonces la representación del problema de ecuaciones diferenciales parciales como un

sistema de ecuaciones

A x = b ,

x = c en ∂ 

con ciertas condiciones (Dirichlet o Neumann) en la frontera

. En el capítulo 2 formularemos

problema de deformación lineal de sólidos utilizando este método.

1.6.2. Descomposición de dominios

La descomposición de dominios nace de la necesidad de trabajar ecuaciones diferenciales en dominios

discretizados que producen sistemas de ecuaciones grandes, tratando de resolverlos de forma eficiente. En

forma general podemos decir que existen dos tipos de descomposición de dominios, utilizando particiones

sin traslape o con traslape, figura 1. 5.

2

1

2

1

Figura 1. 5. Descomposición en dominios sin traslape (izquierda) y con traslape (derecha).

  1. Introducción

Dividir un dominio en P particiones equivale entonces a separar en P bloques la matriz A que representa

las relaciones entre nodos. Cada dominio entonces estará representado por una matriz A

p

, con p = 1  P.

El siguiente paso es resolver el sistema de ecuaciones con la matriz A

p

de cada partición de foma

independiente, utilizando algún método convencional para resolver sistemas de ecuaciones. La soluciones

obtenidas se intercambiarán con las particiones adyacentes y así, de forma iterativa, se irá aproximando la

solución global del sistema.

1.6.3. Dominios sin traslape, complemento de Schur

En dominios sin traslape,

1

2

1

2

1

2

dos particiones adyacentes tendrán nodos en común en la frontera , lo que equivaldrá a entradas iguales

en sus respectivas matrices. Podemos entonces formar la matriz A como

A =

A

I I

 1 

0 A

I

 1 

0 A

I I

 2 

A

I

 2 

A

I

 1 

A

I

 2 

A

 

x =

x

I

 1 

x

I

 2 

x

b =

b

I

 1 

b

I

 2 

b

Para cada patición

p tendremos entonces

A

p

A

I I

p

A

I

p

A

I

p

A

 

p

x

p

x

I

p

x

p

b

p

b

I

p

b

p

, con p = 1  P. ( 1. 2 )

Una estrategia para resolver este tipo de problemas es utilizar el sistema de complementos de Schur

[Tose05 pp1-7]. Parte de eliminar las incógnitas x

I

p

en el interior de la partición, esto corresponde a la

factorización de la matriz de ( 1. 1 ) como

A = L R =

I 0 0

0 I 0

A

I

 1 

A

I I

 1  − 1

A

I

 2 

A

I I

 2  − 1

I



A

I I

 1 

0 A

I

 1 

0 A

I I

 2 

A

I

 2 

0 0 S

y un sistema lineal resultante

A

I I

 1 

0 A

I

 1 

0 A

I I

 2 

A

I

 2 

0 0 S

x =

b

I

 1 

b

I

 2 

g

aquí

S = A

 

− A

I

 1 

A

I I

 1 

− 1

A

I

 1 

− A

I

 2 

A

I I

 2 

− 1

A

I

 2 

es el complemento de Schur relativo a las incógnitas en . Acomodando como en ( 1. 2 ), podemos escribir

el complemento de Schur local

S

p

= A

 

p

− A

I

p

A

I I

p

− 1

A

I

p

, con p = 1  P ,

encontraremos el complemento de Schur para

x

con

S x

= g

con

  1. Introducción

Problema Dirichlet D

p

{

− x

p

n  1 / 2

= b en 

p

x

p

n  1 / 2

= 0 sobre ∂ 

p

x

p

n  1 / 2

= x

n

en 

}

, p =1, 2 ,

Problema Neumann N

p

{

p

n  1

= 0 en 

p

p

n  1

= 0 sobre ∂ 

p

p

n

i

n  1

x

1

n

1

n  1 / 2

x

2

n

2

n  1 / 2

en  }

, p =1, 2.

Para la siguiente iteración usaremos

x

n  1

= x

n

1

n  1

2

n  1

en ,

con un

max

 elegido de forma adecuada.

Para mostrar en este procedimiento forma matricial intoduciremos los vectores internos de grados e

libertad

v

p

= x

I

p

y

w

p

I

p

, así

Problema Dirichlet D

p

A

I I

p

v

p

n  1 / 2

 A

I

p

x

n

= b

I

p

, p =1, 2 , ( 1. 6 )

Problema Neumann N

p

A

I I

p

A

I

p

A

I

p

A

 

p



w

p

n  1 / 2

p

n  1 / 2

r

, p =1, 2 , ( 1. 7 )

x

n  1

= x

n

1

n  1

2

n  1

donde el residual

r

se define como

r

A

I

 1 

v

1

n  1 / 2

 A

 

 1 

x

n

b

 1 

A

I

 2 

v

2

n  1 / 2

 A

 

 2 

x

n

b

 2 

A continuación eliminamos v p

n  1 / 2

, w

p

n  1 / 2

de ( 1. 6 ) y ( 1. 7 ). A partir del problema Dirichlet

D

p

r

g

S x

n

que indica que la diferencia

r

es igual al negativo del residual del complemento de Schur para el sistema

( 1. 5 ). Usamos la factorización por bloques de las matrices locales A

p

, los problemas de Neuman

N

p

dan

p

n  1

S

p

r

− 1

S

p

r

− 1

g

S x

n

Finalmente encontramos

x

n  1

x

n



S

1

 1 

− 1

S

 2 

− 1

g

S x

n

El precondicionador para el sistema ( 1. 5 ) sería

S F =

[ S

 1 

− 1

S

 2 

− 1

] S =

[ S

 1 

− 1

S

 2 

− 1

] S

 1 

 S

 2 

Tomando como base el algoritmo Neumann-Neumann, se ha desarrollado el método BDD (en inglés,

B alancing Domain Decomposition ), la formulación de éste se puede encontrar en [Mand93]. Los métodos

BDD son algoritmos iterativos que trabajan con subestructuras, es decir, métodos donde los grados de

libertad interiores de cada una de las particiones sin traslape son eliminados. En cada iteración se

resuelven los problemas locales de cada partición y se combinan las soluciones con un problema en una

malla más gruesa creata a partir del subdominio del espacio nulo. En las fornteras comunes se establecen

condiciones Neumann.

  1. Introducción

Una de las estratégias más recientes para resolver problemas de descomposición de dominios para

problemas de elemento finito de deformación elástica de sólidos que producen matrices simétricas

positivas definidas es el método de balance de descomposición de dominios por restricciones, BDDC (en

inglés, B alancing Domain Decomposition by Constraints ) [Mand02] y [Dohr03]. El problema se resuelve

utilizando formulando un espacio grueso ( coarse space ) el cual consiste de fuciones de minimización de

energía con los grados de libertad dados en la malla gruesa, una descripción condensada puede

encontrarse en [Widl08].

Recientemente se han desarrollado algoritmos basados en BDD formulados con subdominios con

traslape, la descripción de estos puede consultarse en [Kimn06a] y [Kimn06b].

1.6.5. Métodos Dirichlet-Dirichlet

El caso dual al algoritmo Neumann-Neuman es el algoritmo con condiciones Dirichlet a ambos lados de

la interfaz común de los subdominios [Tose05 pp12-14]. Si comenzamos con una aproximación inicial  

0

en , como en ( 1. 4 ), podemos resolver inicialmente problemas con condiciones Neumann, en cada

p

Después resolveremos un problema con las condiciones Dirichlet en

elegidas como la diferencia de la

traza de las soluciones de los problemas Neumann en

. Los valores en

de las derivadas normales de

las soluciones de estos problemas Dirichlet son empleados para corregir la  

0

incial y encontrar el valor

1

para la nueva iteración. Para dos partciones, podemos describir el método utilizando operadores

diferenciales, así, para n ≥ 0 ,

Problema Neumann N

p

{

− x

p

n  1 / 2

= b en 

p

x

p

n  1 / 2

= 0 sobre ∂ 

p

x

p

n

p

n  1 / 2

p

n

en  }

, p =1, 2 ,

Problema Dirichlet D

p

{

p

n  1

= 0 en 

p

p

n  1

= 0 sobre ∂

p

p

n  1

= x

1

n  1 / 2

x

2

n  1 / 2

en 

}

, p =1, 2.

Para la siguiente iteración usaremos

n  1

n

1

n

1

n  1

2

n

2

n  1

en  ,

con un

max

elegido de forma adecuada.

Para mostrar en este procedimiento forma matricial intoduciremos los vectores internos de grados e

libertad

v

p

= x

I

p

y

w

p

I

p

, así

Problema Neumann N

p

A

I I

p

A

I

p

A

I

p

A

 

p



v

p

n  1 / 2

p

n  1 / 2

b

I

p

b

p

p

n

, p =1, 2 , ( 1. 8 )

Problema Dirichlet D

p

A

I I

p

w

p

n  1

 A

I

p

r

, p =1, 2 , ( 1. 9 )

n  1

n

1

n  1

2

n  1

donde el residual

r

se define como