Capitulo 2 sistemas de ecuaciones lineales

Page 1

Universidad de Chile Departamento de Ingeniería Matemática

Cálculo Numérico MA-33A

Métodos Numéricos para Sistemas de Ecuaciones Lineales Gonzalo Hernández Oliva GHO

SEL - MA33A

1


MN para SEL: Temario 1) Motivación – Aplicaciones SEL: a) Interpolación Polinomial b) Mínimos Cuadrados c) Método Simplex – Optimización Lineal 2) Definiciones y Resultados Básicos 3) Métodos de Pivoteo (Directos) para SEL: Gauss y Gauss-Jordan 4) Análisis de Error del Método de Gauss GHO

SEL - MA33A

2


MN para SEL: Temario 5) Matriz Inversa y Determinante 6) Factorización de Matrices 7) Métodos Iterativos para SEL a) Método de Jacobi y Gauss-Seidel b) Método de Relajación SOR y Gradiente Conjugado c) Análisis de Error de los Métodos Iterativos d) Métodos para Vectores y Valores Propios GHO

SEL - MA33A

3


MN para Sist. de Ecs. Lineales: 1) Motivación 1: Interpolación Polinomial Dados (n+1) puntos ( xi , yi ) Encontrar un polinomio de grado n tal que:

n

yi = p ( xi ) = ∑ ak xi k k =0

p(xi ) = yi ∀i =1,..., n +1

yi

x

x x

x x

x

x

x

p(x)

x

xi GHO

SEL - MA33A

4


MN para Sist. de Ecs. Lineales: 1) Motivación 1: Interpolación Polinomial yi = p ( xi ) ∀i = 1,..., (n + 1) n

yi = p ( xi ) = ∑ ak xi k k =0

1

x1

x 21

x n1

a0

y1

1

x2

x 22

x n2

a1

y2

1

x3

x 23

x n3

a2

an

y n1

1 x n1 x 2n1  x nn1 GHO

SEL - MA33A

y3

5


MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados yk = β 0 + β1 xk

yi

Nube de puntos con tendencia lineal

+ + + + ++ ++ + + + + + + + + ++ + + + + + + + ++ + + + ++ + + + + ++ ++ + + +

Dados n puntos (xi , yi ) Encontrar la recta que mejor los “representa”: n

min ∑ [ yk − ( β 0 + β1 xk )] β 0 , β1

2

k =1

xi GHO

SEL - MA33A

6


MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados

GHO

SEL - MA33A

7


MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados

Sea f ∈ ζ [a, b] . Se quiere determinar un polinomio pn ( x) de grado n según MCC: b

bi + j +1 − a i + j +1 δ ij = i + j +1

min ε T = ∫ [ f ( x) − pn ( x) ] dx pn ( x )

2

a

tes n Matriz tipo Hilbert ! c ie i f e co

Ecuaciones Normales: b

b

 a x 0 dx  a x 1 dx b

b

 a x dx  a x dx 1

 b

GHO

2

b

b 3 x dx a

 b

b

 a x 2 dx   a x n dx  b

b

 a x 

n1

dx

 b

 a x dx  a x dx  a x dx SEL -MA33A x dx a n

n1

n2

2n

b

 a x 0 fxdx

a0 a1  an

b

 a x 1 fxdx  b

 a x n fxdx

8


MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados

Sea f ( x) = sin(π x) . Determinemos p3 ( x) polinomio de grado 3 según MC: a0

1/2 1/3 1/4 1/5

a1

1/3 1/4 1/5 1/6

a2

1/4 1/5 1/6 1/7

a3

2/

2

sin(pi*x) v/s -1/20+103/25x-103/25x

1

1/

0.8 3 2 − 4/

sin(pi*x) v/s p 3(x)

1 1/2 1/3 1/4

3 0.6 2 − 6/

p3 ( x) = −4.12x + 4.12x − 0.05 2

0.4

0.2

0

GHO

0 0.1 SEL - MA33A

0.2

0.3

0.4

0.5

x

0.6

0.7

0.8

0.9

91


MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados Ejemplo 1: f ( x) = sin( x)

5,6

f ( x) = sin( x) GHO

SEL - MA33A

p ( x) = ∑ ak xi k =0

k 10


MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados Ejemplo 2: x f ( x) = 2 x +1

0.5 0.4

7

0.3

p ( x) = ∑ ak xi k

0.2

k =0 9

0.1

p ( x) = ∑ ak xi k

0 y=x/(x 2+1) 7th degree 9th degree

-0.1 -0.2

k =0

-0.3 -0.4 -0.5 -5

GHO

-4

-3

-2

-1

0

1

2

SEL - MA33A

3

4

5

11


MN para Sist. de Ecs. Lineales: 1) Motivación 3: Programación Lineal n

cT x = ∑ ck xk

z

minn c t x

k =1

x∈\

Ax ≤ b x≥0

Región Factible

Ax ≤ b x≥0

x2 Vértices

x1 GHO

SEL - MA33A

12


MN para Sist. de Ecs. Lineales: 2) Defs. y Resultados Básicos 1 Resolver un sistema de n ecuaciones lineales y n incógnitas consiste en determinar los valores de las variables: x1 , x2 , ... , xn tales que, dados: A = (aij) y b = (bi) (i =1,...,n ; j =1,...,n) se satisfagan las ecuaciones: Ax = b

. .. GHO

⎛ a11 ⎜ . .. ⎜ a21 ⎜ # ⎜ ⎝ an1

a12 " a1n ⎞⎛ x1 ⎞ ⎛ b1 ⎞ . ⎟⎜. ⎟ ⎜ ⎟ a22 " . a2 n ⎟⎜.x2 ⎟ ⎜ b2 ⎟ . . = % # ⎟⎜ # ⎟ ⎜ # ⎟ ⎟⎜ ⎟ ⎜ ⎟ an 2 " ann ⎠⎝ xn ⎠ ⎝ bn ⎠ SEL - MA33A

13


MN para Sist. de Ecs. Lineales: 2) Defs. y Resultados Básicos 2

Todo SEL se puede resolver bien numéricamente ? Sea A ∈ ℜm×n invertible y b ∈ ℜm. Entonces es posible demostrar que si se perturba A o b se tiene: δx δA −1 ≤ A A x+δx A

δx x GHO

≤ A

A

−1

SEL - MA33A

δb b

(1)

(2) 14


MN para Sist. de Ecs. Lineales: 2) Defs. y Resultados Básicos 3

La norma de C ∈ ℜm×n se define según: C

n ⎧ n ⎫ ⎧ n ⎫ = max ⎨∑ cij ⎬ = max ⎨∑ c1 j ,..., ∑ cnj ⎬ i =1,...,n i =1,...,n j j =1 1 = ⎩ ⎭ ⎩ j =1 ⎭

Se define el número de condicionamiento* de A según:

cond ∞ ( A) = A ∞ ⋅ A

−1 ∞

Se tiene que: cond (A) ≥ 1. GHO

SEL - MA33A

*Revisar cálculo del cond(A) en Matlab

15


MN para Sist. de Ecs. Lineales: 2) Defs. y Resultados Básicos 4

Veamos un ejemplo: A=

0.550 0.423 0.484 0.372

A+δA =

0.550

0.423

0.48 3 0.372

b=

b=

0.127 0.112 0.127 0.112

⇒ ⇒

x =

x’ =

1 -1 -0.4536 0.89

Se tiene: cond(A) = 0.973×7833.3 = 7621.8 !!! El sistema es mejor condicionado si se tiene que cond (A) esta cerca de 1 (Mat. de Hilbert) GHO

SEL - MA33A

16


MN para Sist. de Ecs. Lineales 3) Método de Gauss 1 Método de Gauss sin Anulación de Pivote:

Parte 1: Eliminación de variables bajo la diagonal en las ecuaciones mediante operaciones elementales: ÆMultiplicar una ecuación por un real ÆSumar dos ecuaciones Se entonces producen ceros bajo la diagonal.

Parte 2: Sustitución backward de las variables en las ecuaciones

GHO

SEL - MA33A

17


MN para Sist. de Ecs. Lineales 3) Método de Gauss 2 Sustitución Backwards:

xn =

u n ( n +1) u nn

1 xk = u kk

⎛ ⎜ u k ( n +1) − ⎝

⎞ u kj x j ⎟ ∑ j = k +1 ⎠ n

k = ( n − 1),...,1

Veamos un ejemplo. GHO

SEL - MA33A

18


MN para Sist. de Ecs. Lineales: 3) Método de Gauss 3 Estrategias de Pivoteo

En la iteración k de la primera etapa del método de Gauss es posible que el pivote akii (elementos de la diagonal de la ecuación i) se anule. En este caso se permuta la ecuación i con la ecuación m de mayor pivote en módulo (pivoteo parcial): . .. k k | a mi | ≥ | a ji | para todo j = i+1,…,n

Investigue la estrategia de pivoteo completo GHO

SEL - MA33A

19


MN para Sist. de Ecs. Lineales: 3) Método de Gauss 4: # de Ops

Una medida de la eficiencia de un algoritmo es el tiempo que demora en ejecutarse, el cual es proporcional al número de operaciones aritméticas (ops) n-1

Ops_Gauss(n) =

∑ (n - i)(2n - 2i + 6) i=1

±,×,÷

n

O(n3)

+

∑ (2i - 1) i=1

GHO

Parte 1

SEL - MA33A

Parte 2

O(n2) 20


MN para Sist. de Ecs. Lineales: 3) Método de Gauss - Jordan:

El método de Gauss – Jordan consiste en aplicar 2 veces la primera parte del método de Gauss, es decir: triangularizar superior e inferiormente la matriz A n-1

Ops_G-J(n) =

∑ (n - i)(2n - 2i + 6) i=1

±, × , ÷

n-1

O(n3)

+

∑ 4i + n i=1

GHO

Parte 1

SEL - MA33A

Parte 2

O(n2) 21


MN para Sist. de Ecs. Lineales: 4) Análisis de Error del M. de Gauss:

Es posible hacer un análisis de propagación de errores, que se obtienen al realizar las operaciones aritméticas de la primera y segunda etapa del método de Gauss o Gauss – Jordan

Se demuestra que esta propagación de errores disminuye si se utiliza alguna técnica de pivoteo (parcial o completo) GHO

SEL - MA33A

22


MN para Sist. de Ecs. Lineales: 5) Matriz Inversa y Determinante 1:

Matriz inversa A: Se aplica el método de Gauss – Jordan al SEL aumentado con las columnas de la matriz identidad a 11 a 12  a 1n

¦

1 0  0

a 21 a 22  a 2n

¦

0 1  0

¦

¦

0 0  1

a n1 a n2  a nn GHO

SEL - MA33A

   23


MN para Sist. de Ecs. Lineales: 5) Matriz Inversa y Determinante 2:

El det(A) se puede definir recursivamente mediante la fórmula de Laplace: n

det( A) = ∑ (−1) j =1

Fórmula válida para cualquier fila i o columna j GHO

i+ j

aij det( Aij ) Matriz Cofactor ij de A Se obtiene eliminando fila i y columna j

SEL - MA33A

24


MN para Sist. de Ecs. Lineales: 5) Matriz Inversa y Determinante 3: Propiedades del Determinante: a) Si todos los coeficientes de una fila o columna de A son ceros ⇒ det(A) = 0 b) Si dos o más filas o columnas de A son linealmente dependientes ⇒ det(A) = 0 c) Si se reemplaza la fila i (Fi) por la fila j (Fj) donde i ≠ j entonces ⇒ det(A’) = -det(A) d) Si se reemplaza la fila i (Fi) por (Fi + λFj) donde i ≠ j entonces ⇒ det(A’) = det(A) GHO

SEL - MA33A

25


MN para Sist. de Ecs. Lineales: 5) Matriz Inversa y Determinante 4: Propiedades del Determinante: e) Si A y B son dos matrices cuadradas de igual tamaĂąo: det(AB) = det(A)det(B) f) det(At) = det(A) g) Si A es invertible: det(A-1) = 1/det(A) h) Si A es una matriz triangular inferior, superior o diagonal: n

det( A) = � akk GHO

k =1

SEL - MA33A

26


MN para Sist. de Ecs. Lineales: 5) Matriz Inversa y Determinante 5:

Para calcular el det(A) se aplica el método de Gauss y la descomposición A = LU:

Efectivamente, si se puede triangularizar la matriz A, entonces: PA = LU ⇒ det(A) = det(PTLU) det(A) = det(PT)det(L)det(U) = det(PT)det(U) n

det(U ) = ∏ ukk GHO

k =1

SEL - MA33A

27


MN para Sist. de Ecs. Lineales: 6) Factorización de Matrices 1: A=LU

Descomposición A = LU (Alg. Gauss) …

u1n-1

u1n

m21

1

0

0

u22

u2n-1

u2n

m31

m32

… …

0

0

0

0

mnn-1

mn1

mn2

L GHO

1

1

0

0

A = LU SEL - MA33A

… … …

un-1n-1

… …

u12

u11

0

0

0

1

0

unn

U 28


MN para Sist. de Ecs. Lineales: 6) Factorización de Matrices 2: Crout

Una matriz A cuadrada es tridiagonal si sus coeficientes no nulos se ubican en las diagonales principal y secundarias a 11 a 12

0

a 21 a 22 a 23 A 

GHO

0

0

0

0

0

0

a 32 a 33 a 34

0

0

a 43 a 44

0

0

0

0

SEL - MA33A

a nn−1 a nn 29


MN para Sist. de Ecs. Lineales: 6) Factorización de Matrices 3: Crout

Una matriz A cuadrada tridiagonal puede ser factorizada según A=LU donde: 0

0

0

0

l 21 l 22

0

0

0

l 32 l 33

0

0

l 11 0

GHO

0

0

l 43 l 44

0

 

0

0

0

L

l nn−1 l nn

1 u 12

0

u 23 

0 0

0

0

1

0

0

1

 u n−1n

0

0

0

1

U SEL - MA33A

30


MN para Sist. de Ecs. Lineales: 6) Factorización de Matrices 4: Crout

Método de Crout para matrices tridiagonales: Paso 1:

l 11

u 12 

a 11 a 12 l 11

Paso 2: Para i=2,…,n-1 l ii−1  a ii−1

Paso 3:

l ii  a ii − l ii−1 u i−1i a ii1 u ii1  l ii

l nn−1  a nn−1

l nn  a nn − l nn−1 u n−1n GHO

SEL - MA33A

31


MN para Sist. de Ecs. Lineales: 6) Fact. de Matrices 5: Cholesky

Una matriz cuadrada A es definida positiva si y solo si: xtAx > 0 para todo x ∈ ℜn

Teorema: Si A es definida positiva: a) det(A) ≠ 0 b) akk > 0 para todo k=1,…,n akj ≤ max akk c) 1max ≤k , j ≤n 1≤ k ≤ n

d) (aij ) 2 < aii a jj ∀i ≠ j GHO

SEL - MA33A

32


MN para Sist. de Ecs. Lineales: 6) Fact. de Matrices 6: Cholesky

Teorema: A es definida positiva si y solo si

los determinantes de las matrices cofactores principales son positivos: det(Akk) > 0 para todo k=1,…,n. a11 … a1k Matriz cofactor … Akk = principal k ak1 … akk GHO

SEL - MA33A

33


MN para Sist. de Ecs. Lineales: 6) Fact. de Matrices 7: Cholesky

Teorema: A es definida positiva si y solo si puede factorizarse como A = LLT donde L es una matriz triangular inferior con lii > 0 para todo i=1,…,n.

En este caso para resolver un SEL Ax = b se debe aplicar la sustitución forward backward GHO

SEL - MA33A

34


MN para Sist. de Ecs. Lineales: 6) Fact. de Matrices 8: Met. Cholesky Paso 1: l 11 

a 11

Paso 2: Para j=2,…,n l j1  a j1 /l 11 1/2

i−1

Paso 3: Para i=2,…,n-1 l ii 

a ii −

∑ l2ik k1

i−1

a ji −

Para j=(i+1),…,n l ji  1/2

n−1

Paso 4: l nn  GHO

a nn −

∑ l2nk k1

SEL - MA33A

∑ ljk l ik k1

l ii 35


MN para Sist. de Ecs. Lineales: 6) Fact. Matrices 9: Ortogonalización

Factorización QR: A = QR Q matriz ortogonal: QtQ = I (Gram-Schmidt) R = QtA Factorización SVD: Anxm = USVt Unxn , Vmxm matrices ortogonales Snxm matriz valores singulares (raíz v.p. At*A) GHO

SEL - MA33A

36


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 1: Métodos Iterativos: x

(0)

x

(k+1)

∈ℜ

n (k)

= F(x )

∀k≥0

Los métodos para SEL son de la forma: (k)

F(x ) = Bx donde B ∈ ℜ GHO

n×n

,h∈ℜ

(k)

+h

n

SEL - MA33A

37


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 2:

En general se construyen B y h de la siguiente forma: n×n

Sean M y N ∈ ℜ tales que: M es invertible y A = M – N Entonces: -1 -1 Ax = b ⇔ Mx = Nx + b ⇔ x = M Nx + M b

Esto sugiere definir: -1

-1

B=M N y h= M b GHO

SEL - MA33A

38


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 3:

Luego, si descomponemos A = (aij ) invertible según:

A = diag(A) + low(A) + up(A)

Donde diag(A) , low(A) , up(A) ∈ ℜ

n×n

se

definen según: diag(A)ij = GHO

aij

si i = j

0

si i ≠ j

SEL - MA33A

39


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 4: low(A)ij =

up(A)ij =

aij

si i > j

0

si i ≤ j

aij

si i < j

0

si i ≥ j

En base a estas definiciones se tienen los métodos de Jacobi y Gauss - Seidel GHO

SEL - MA33A

40


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 5:

Jacobi: define M y N según: M = diag(A) N = -[low(A) + up(A)] -1

B = - diag(A) [low(A) + up(A)] -1

h = diag(A) b GHO

SEL - MA33A

41


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 6:

Si x(k) = (xi(k)) i = 1,…,n es el vector de la

iteración k del método de Jacobi, entonces satisface la siguiente fórmula iterativa:

xi GHO

(k )

⎛ n ⎞ ⎜ − a x ( k −1) + b ⎟ ij j i ⎜⎜ ∑ ⎟⎟ j =1 j ≠i ⎝ ⎠ 1 ≤ i ≤ n, k = 1, 2,3... = aii SEL - MA33A

42


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 7:

Gauss - Seidel: define M y N según M = [diag(A) + low(A)]

N = - up(A) -1

B = - [diag(A) + low(A)] [up(A)] -1

h = [diag(A) + low(A)] b

J y G-S convergen ∀x0 si A es estrictamente diagonal dominante: n akk > ∑ j =1, j ≠k akj ∀k = 1,..., n

GHO

SEL - MA33A

43


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 8:

Si x(k) = (xi(k)) i = 1,…,n es el vector de la iteración k del método de Gauss-Seidel, satisface la siguiente fórmula iterativa:

xi

(k )

⎛ i −1 (k ) a x − ⎜ ∑ ij j − j =1 ⎝ =

n

∑a x

j =i +1

ij

aii

( k −1) j

⎞ +bi ⎟ ⎠ 1 ≤ i ≤ n, k = 1, 2,3...

GHO

SEL - MA33A

44


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 9:

Si x(k) = (xi(k)) i = 1,…,n es el vector de la

iteración k del método de SOR, satisface la siguiente fórmula iterativa:

xi ( k )

n ⎛ i −1 ⎞ (k ) ( k −1) +bi ⎟ ⎜ −∑ aij x j − ∑ aij x j j =1 j =i +1 ⎝ ⎠ ( k −1) = (1 − ω) xi +ω aii

1 ≤ i ≤ n, k = 1,2,3... GHO

SEL - MA33A

45


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 10:

Para matrices tridiagonales y definidas

positivas, el valor óptimo de ω está dado por la fórmula:

  Donde:

2 1 1−T −1

TJ = −[ Diag ( A)] ( Low( A) + Up ( A)) −1

TG = −[ Diag ( A) + Low( A)] Up ( A) GHO

SEL - MA33A

46


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 11:

Si A es definida positiva, el método del gradiente conjugado está dado por: minn q ( x) = x Ax − x b ⇔ Ax = b t

1 2

x∈\

t

Paso 0: x ∈ \ , g = Ax − b, d = − g 0

n

0

0

k t

0

0

k

(g ) d Paso 1: α = − k t k (d ) Ad k +1 k k k Paso 2: x = x + α d k

GHO

SEL - MA33A

47


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 12:

Método del gradiente conjugado: k +1 k +1 Paso 3: g = Ax − b k +1 t k ( g ) Ad k Paso 4: β = k t k (d ) Ad k +1 k +1 k k Paso 5: d = − g + β d Si no hay errores de redondeo el método del gradiente conjugado converge en a lo más n iteraciones.

GHO

SEL - MA33A

48


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 13: Análisis de Error de los Métodos Iterativos

Es posible hacer un análisis de propagación de errores que se obtienen al realizar las operaciones aritméticas de las iteraciones del método de Jacobi y Gauss – Seidel Si x(k) es la iteración k de J o G-S y Ax = b: x−x x GHO

(k )

≤ A A

−1

SEL - MA33A cond(A)

b − Ax

(k )

b 49


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 14:

Si A es una matriz cuadrada, el polinomio en λ definido por: p(λ) = det(A- λI) es el polinomio característico de A

El polinomio p es de grado n y tiene a lo más n raíces distintas (complejas). Estas raíces de p se denominan valores propios de A. GHO

SEL - MA33A

50


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 15:

Definición: El radio espectral de A: ρ(A) se define como: ρ(A) = max | λi | i=1,…,n

donde λi es un valor propio de A

Proposición: Si A es una matriz cuadrada: a) || A ||2 = ρ(AtA)½ b) ρ(A) ≤ || A || GHO

SEL - MA33A

51


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 16:

La relación entre métodos iterativos para SEL y valores propios la establece los siguientes resultados: Proposición: Si xk es la iteración k de un método iterativo para un SEL que tiene la forma: xk+1 = Txk + c y Ax = b Entonces: Para k → ∞ || xk – x || ≈ ρ(T)k || x0 – x || GHO

SEL - MA33A

52


MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 17:

Proposición: Si xk es la iteración k de un método iterativo para un SEL que tiene la forma: xk+1 = Txk + c y Ax = b Entonces: xk → x ssi ρ(T) < 1

Proposición: Si los métodos de Jacobi y Gauss-Seidel convergen se tiene que: GHO

0 ≤ ρ(TGS) < ρ(TJ) < 1 SEL - MA33A

53


Bibliografía 1) R. Burden & J. D. Faires, Análisis Numérico, Séptima Edición, Thomson Learning, 2002. 2) J. Stoer & R. Burlisch, Introduction to Numerical Analysis, Second Edition, Springer, 1992. 3) G. Hernández O.: Apuntes de Cálculo Numérico 2007 GHO

SEL - MA33A

54


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.