(*  ANO 2007/2008   1º teste de MC para LEE e LCERC,  versão b 
               RESOLUÇÃO               *)
(* QUESTÃO 1 

  a)              *)

f[x_]:=Log[1.+2x]-Exp[-x]

g[x_]:=x +α f[x]
(*  z raiz de  f(x)=0, ou seja, f(z)=0.  Então 
g1(z) = z +  α  f(z) = z,  logo g1(z)=z e conclui-se que z é ponto
fixo de g      *)

(*  b)  

Mostre que com α =-1  o m'etodo iterativo x_n+1 =  g(x_n)  converge
para z  qualquer que seja  x_0 ∈  I= [0.4,  0.5]    *)
g1[x_]:=x -f[x]

(* Verificar cond. do teorema do ponto fixo: *)

(*  g1'(x)=1-f'(x)    *)

f'[x]

g1 '[x]

(* 1.  g , g' contínuas em I, ja' que I nao inclui x=-1/2   *)

(*2.   g(I)  C I    *)

(* Vejamos que as imagens do extremos de I pertencem a I *)

g1[0.4]

g1[0.5]

(* estudo de g  *)

g1'[0.4]

g1'[0.5]

g1''[x]

(* g1'' positiva  logo g1'  crescente e, sendo negativa nos extremos, e' negativa no resto do intervalo ; então  g é monótona decrescente          *)

(*  Como  g1[0.4] e g1[0.5] pertencem a I, conclui-se que   g(I)  C I    *)

(*  3. max |g1' | = L <1    *)

(*  g1'  crescente e, sendo    negativa,  *)
(* entao |g1'| decresc logo   (max_(x∈I)) |g1'(x) |  = (|g1'(0.4)| = 0.7814311571467505 =L < 1 *)

(* Conclusões: g1 tem um unico ponto fixo em I (que e' a raiz z da eq. f(x)=0) e a sucessao gerada por g1 converge para esse ponto fixo z, qualquer que seja a aprox. inicial para z, escolhida em I  *)

(*  c)  Ordem de convergência do método associado a g1?      *)

(* Vimos que g1'[x] <0 para todo o x em I. Logo g1'[z] diferente de zero. Provou-se  para os métodos do ponto fixo   
  lim | z-  x_n+1|/ |z-x_n|  =  |g'(z)|.  
Então, se g'(z) ≠ 0,  atendendo a definicao de ordem de converg. , tem-se que  a ordem é 1
(converg linear) e o coeficiente assimptótico  K_∞ = |g'(z)|   *)

(* Condição sobre α de modo a ter  um método com ordem de converg. quadratica  ? *)
(* Se g'(z)≠0 a ordem e' p= 1. Para ser p> 1, deve ter-se  g'(z)=0 .  *)

(*  Sendo g(x)= x + α f(x)  logo g'(x)= 1 + α f'(x);  *)

(* Entao  g'(z)=1 + α f'(z) = 0     implica a condição para α:
α = -1 /f'(z)      --- note-se que f'(x)≠ 0 em I *)

α= -1./f'[z]

(*  Para que a ordem seja 2,  deve verificar-se ainda g''(z)≠  0  (que teorema usamos?)   *)

(* Tem-se   g''(x)= α f''(x)  *)

f''[x]

(* Vemos que f''(x) < 0 em I,  logo, diferente de zero para todo o x ϵ I. *)

(* Seja α= -1./f'[z].  Vem: g''(x)= - f''(x)/f'(z) ≠ 0 para todo x ∈ I, e, em particular, g''(z)≠ 0 . Entao, tem-se ordem 2. *)

(*   (d)   Com g2[x_]:=x +2f[x] obtiveram-se as iteradas : *)

g2[x_]:=x +2f[x]

N[NestList[g2,0.5,10],6]

(*  Os valores obtidos  sugerem divergencia do método(nao parece convergir para z ∈ I=[0.4, 0.5], mas antes parecem estar a afastar se.  Justificacao teorica ? 
Verificar a  condicao de divergencia:    |g2'(z)| > 1    *)

g2'[x]

g2'[0.4]

g2'[0.5]

g2''[x]

(* g2'' negativa  logo   g2' monotona decrescente (tb. positiva em I), e  g2'(x) > g2'(0.5)>1  o que implica   g2'(z)>1    e, consequentemente, divergencia. Ou seja, nao existe nenhum x_0 
tal que a sucessao x_0, x_n+1=g2(x_n) convirja para z ∈I*)