Florianpolis, SC
2014
Augusto Armando de Castro Jnior (UFBA)
Florianpolis, SC
2014
Resumo
No presente livro, estudamos o espectro de operadores em di-
menso finita e seus espaos invariantes associados. Mais pre-
cisamente, explicamos as tcnicas para calcular os autovalores
e os respectivos autoespaos de um operador em dimenso fi-
nita. Como um subproduto natural, desenvolvemos tcnicas de
Anlise precisas e estveis para calcular razes de polinmios.
Palavras-chaves: Clculo de Autovalores e Autoespaos; Cl-
culo de Razes de polinmios; Anlise Complexa; Operadores
com Autovalores Dominantes.
Lista de ilustraes
Introduo . . . . . . . . . . . . . . . . . . . 1
1 Uma viso de lgebra Linear via Funes de
Operadores . . . . . . . . . . . . . . . . . . . 9
1.1 Avaliando polinmios em matrizes . . . . . . . 30
1.2 Exerccios . . . . . . . . . . . . . . . . . . . . 33
2 Funes Analticas . . . . . . . . . . . . . . 35
2.1 Sequncias e sries em Espaos de Banach . . 37
2.2 O Espao Normado das Aplicaes Lineares
Contnuas . . . . . . . . . . . . . . . . . . . . 52
2.3 Integrao de Caminhos em Espaos Vetoriais 60
2.4 A Teoria de Cauchy-Goursat . . . . . . . . . . 68
2.5 Resduos . . . . . . . . . . . . . . . . . . . . . 78
2.6 Programa de Clculo de razes de polinmios . 84
2.7 Exerccios . . . . . . . . . . . . . . . . . . . . 113
3 Funes de Operador . . . . . . . . . . . . . 117
3.1 Funes analticas de operadores . . . . . . . . 117
3.2 Noes Bsicas de Teoria Espectral . . . . . . 124
3.3 Programa de Clculo de projees espectrais . 131
3.4 Exerccios . . . . . . . . . . . . . . . . . . . . 146
4 Operadores com autovalores dominantes . . 147
4.1 Calculando autovalores dominantes e seus au-
toespaos . . . . . . . . . . . . . . . . . . . . . 148
4.2 Cones e Mtricas Projetivas . . . . . . . . . . 149
4.3 Programa de Clculo de Autovalores Dominan-
tes de Operadores Positivos . . . . . . . . . . 160
4.4 Exerccios . . . . . . . . . . . . . . . . . . . . 166
Concluso . . . . . . . . . . . . . . . . . . . 197
Referncias . . . . . . . . . . . . . . . . . . . 199
7
Prefcio
que isto porque, no mago deste programa, jaz uma verso para
Matrizes Positivas do Teorema do Ponto Fixo de contraes. Tal
verso o famoso teorema de Perron. Brin, um dos fundadores
do Google e um dos pais desse motor de busca, matemtico
e filho de um eminente pesquisador em Teoria Ergdica, e usou
desse Teorema, da primeira dcada do sculo XX, cujo algoritmo
exponencialmente rpido, conforme a teoria e qualquer cidado
consegue ver. Enfim, a vida inteligente adentrou a Internet de
modo a viabiliz-la.
Introduo
temos a equao:
! ! !
5/2 1 x 0
(1/2I A)v = 0 = .
0 0 y 0
Portanto, !
2/5
v=
1
um autovetor gerador do autoespao associado ao auto-
valor 1/2.
(x3)
Note que o polinmio 1/23 zera em x = 3 e 1 em 1/2. Sua
avaliao em A nos d a matriz
!
0 2/5
1/2 := ,
0 1
A E() E().
T E1 = E1 .
E T E T 2 E T n E.
T i+1 (T v) = T i (T v) = 0
| {z }
T vKer(T i+1 )=Ker(T i )
v Ker(T i+1 ).
T m v 6= 0 E1
|{z} T (T m v) 6= 0
T |E1 isomorfismo
x = (x T m (y)) + T m (y),
| {z }
Ker(T m )
14 Captulo 1. Uma viso de lgebra Linear via Funes de Operadores
(A 1 ) v = A v 1 v = ( 1 ) v
Augusto Armando de Castro Jnior 15
T j v = ( 1 )j v 6= 0, j N
(A 1 )k1 v1 E1 ,
absurdo.
Seja
onde
dj = dim(E(j )) e {vj1 , . . . , vjdj }
constitui uma base de E(j ). Como os E(j ) esto em soma
direta, temos que base de Cn . Da,
1 0 ... 0
.. .. ..
0
. . ... .
D v1 = 1 v1 , v1 E(1 )
..
.. 0 . 1 0 ...
. D =
..
0 ... 0 2 .
D vr = r vr , vr E(r )
.. ..
0
... . . 0
0 ... 0 r
D N v = D N |E() v = D (A I)|E() v =
| {z }
E()
Augusto Armando de Castro Jnior 17
I + (A I) = N 0 + D0 I D0 = N 0 (A I).
D D0 vj = D0 D vj = D0 j vj = j D0 vj D0 vj E(j ),
T s (E k1 ) Ker(T j ) = {0}, 1 s k 1 e 0 j k s 1.
E k1 , T E k1 , . . . , T k1 E k1 ,
X
0 = T r1 vs = j T r1 vj = r T r1 vr r = 0; (absurdo).
j6=s
X
0 6= T s1 vs = j T s1 vj = 0,
j<s
0 . . . 0 k
Como A|E(k ) = (k I)|E(k ) + (A k I)|E(k ) segue-se que
A|E(k ) se escreve na base k como:
k 0 ou 1 0 ... 0
..
0
k . 0 ...
..
0 ... . 0 ou 1
0 ... k
22 Captulo 1. Uma viso de lgebra Linear via Funes de Operadores
A v := (A v1 , A v2 ) = A v1 + iA v2 .
v = (v1 , v2 ) := (v1 , v2 ).
Augusto Armando de Castro Jnior 23
A v = (A v1 , A v2 ) = (A v1 , A v2 ) = A v.
0 ... k
24 Captulo 1. Uma viso de lgebra Linear via Funes de Operadores
e cada Jl , 1 l s da forma:
al bl c1 0 0 ... 0
..
bl al 0 c1
. 0
..
.
0 cd 0,
..
..
.
. 0 cd
0 al bl
0 ... 0 bl al
onde cada ce = 1 ou ce = 0, e = 1 . . . d.
A v = v = v A v = v.
= 0 (A )k (E()) = 0.
escreve como
0 0 ou 1 0 ... 0
.. ..
0
. .
..
0 . 0 ou 1
0 ... 0
0 ... ... 0 r
A w1 + Aw1 w1 + w1
A w10 = =
2 2
(escrevendo = a + bi)
A w2 + A w2 c1 w1 + w2 + c1 w1 + w2
Aw20 = = =
2 2
A w2 A w2 c1 w1 + w2 c1 w1 w2
Aw200 = = =
2i 2i
a b c1 0 ? ...
b
a 0 c1 ?
(A|E(Rn )1 ) =0 0 a b ? .
. ..
.
. . b a ?
0 0 0 0 ?
Pk
Considere um polinmio qualquer da forma f (x) = n=0 an xn .
Que matriz obtemos se avaliarmos esse polinmio na matriz J ?
D 2 f () D 3 f () D d1 f ()
f () Df () 2 3! ... (d1)!
D 2 f () ..
0 f () Df () 2 .
.. ..
.. ..
. . . .
f (J ) = .
.. .. .. ..
. . . .
.. ..
. . Df ()
n
n
X n
(I + N ) = { (np IN p )}.
p=0
p
1.1. Avaliando polinmios em matrizes 31
Como a matriz
0 ...1 0 ... 0
. .. .. ..
.. . . .
Np =
,
0 1
0 ... 0
Pk Pn
n
Como f (J ) = n=0 p=0 an p (np IN p ), segue-se
a interessante afirmao.
0 ... 0 Js
1.2 Exerccios
0 0 1
2 Funes Analticas
d1) d(x, y) = 0 x = y.
n1) kvk = 0 v = 0;
Prova:
P
Observao 2.11. Note que uma srie vn absolutamente
P
convergente se. e s se, a srie kvn k limitada (acotada). De
P
fato, as somas reduzidas de kvn k constituem uma sequncia
montona na reta, que sendo acotada, possui limite. Por outro
P
lado, se a srie kvn k possui limite, como qualquer sequncia
que o possua, acotada.
P
Proposio 2.12. Toda srie absolutamente convergente vn
tomando valores em um espao vetorial normado E de Cauchy.
P
Prova: Seja > 0 dada. Como a srie kvn k converge,
em particular, de Cauchy. Logo, existe n0 N tal que, m
n n0 temos:
m
X n
X m
X
| kvj k kvj k| = kvj k < .
j=1 j=1 j=n+1
P
Prova: () Se vn absolutamente convergente, vi-
mos acima que uma sequncia de Cauchy. Logo, se (E, k k)
P
completo, vn convergente em E.
m, n nj kwm wn k < j .
k
X k
X
kvj k < 1/2j < 1, k N,
j=1 j=1
P
ou seja, kvj k limitada, e pela observao 2.11, absoluta-
P
mente convergente. Por hiptese, isto implica que a srie vj
converge em E. Mas seu limite :
k
X
E 3 lim wnj+1 wnj = lim (wnk+1 wn1 ) =
k+ k+
j=1
Prova:
P
kvn k de Cauchy na reta, logo convergente
Portanto
P
em R. Por definio, vn absolutamente convergente.
Prova:
P+
Proposio 2.18. Seja f (z) := n=0 an (z z0 )n uma srie de
an (z1 z0 )n limitada, ento a srie
P P
potncias. Se an (z
z0 )n converge, z B(z0 , |z1 z0 |).
Prova:
Vejamos:
+
X +
X
f (z) = an (z z0 )n = an (z w0 + w0 z0 )n =
n=0 n=0
+ n
X X n
an (w0 z0 )nj (z w0 )j .
n=0 j=0
j
n X
X k
sn,k := cm,j .
m=0 j=0
P
Finalmente, a srie dupla n,k cn,k converge a s E se existe o
limite
n X
X k
lim cm,j .
n+,k+
m=0 j=0
P P
Proposio 2.22. (Produto de sries.) Sejam an e bk duas
Pq Pn
sries absolutamente convergentes. Seja dq := n=0 j=0 aj
P
bnj . Ento a srie dupla n,k an bk absolutamente conver-
gente e vale
n X
X k
lim am bj = lim dq .
n+,k+ q+
m=0 j=0
P
Prova: Note que a srie dupla n,k an bk absoluta-
mente convergente, pois
n X
X k n
X Xk +
X +
X
|am bj | = |am | |bj | |am | |bj | < +, n, k N.
m=0 j=0 m=0 j=0 m=0 j=0
P
Da, conclumos que dn uma srie absolutamente
P
convergente. Para vermos isso, basta verificarmos que |dn |
limitada. De fato,
n
X X q
n X n X
X n +
X X+
|dq | |aj ||bnj | |am bj | |am | |bj | < +.
q=0 q=0 j=0 m=0 j=0 m=0 j=0
Augusto Armando de Castro Jnior 47
P
Mostremos portanto que o limite de dq o mesmo que o de
P
n,k an bk . Seja > 0 dado e seja n0 N tal que n n0 e
k n0 , tenhamos
n X
X k n0 X
X n0
| |am bj | |am bj || < /2, n N
m=0 j=0 m=0 j=0
q X
X n n0 X
X n0 q X
X q
k aj bnj am bj k | |am bj |
n=0 j=0 m=0 j=0 m=0 j=0
n0 X
X n0
|am bj || < /2, q n1 ,
m=0 j=0
d(xn+1 , xn ) n d(x1 , x0 ), n N.
d(xm , xn ) (n + + m ) d(x1 , x0 )
+
X n
( j ) d(x1 , x0 ) = d(F (x), x),
j=n
1
(1 ) d(p, q) 0 d(p, q) = 0 p = q,
d(p, q) = d(F (p), G(q)) d(F (p), F (q)) + d(F (q), G(q))
d(p, q) + d (F, G)
1
d(p, q) d (F, G),
1
ou seja, os pontos fixos variam Lipschitz com a contrao, em
particular, continuamente.
52 Captulo 2. Funes Analticas
1. L contnua;
3. L contnua em 0 E;
Prova:
kL(xj )k j, j N.
kT1 k+kT2 k.
Claramente T linear:
Da, fcil ver que T L(E, E). De fato, seja > 0, e tome
n0 N tal que kTn Tm k < , n, m n0 . Da, dado v E
com kvk = 1, temos:
kx yk + k(x) (y)k kx yk kx yk =
(1 ) kx yk kh(x) h(y)k (1 ) kx yk =
6 0 se x 6= y;
donde obtemos a injetividade de h, e tambm a continuidade
de h1 . Mostremos agora a sobrejetividade de h. Seja z E.
Queremos ver que existe p E tal que h(p) = z p + (p) =
z p = z (p). Por conseguinte definamos fz : E E por
fz (x) = z (x). Basta ento acharmos um ponto fixo p para
fz , que teremos h(p) = z. De fato, fz : E E contrao:
Prova:
u(x) := y L(x).
58 Captulo 2. Funes Analticas
Logo
!z E/ u(z) = z !z E/ z = y L(z)
!z E/ y = z + L(z),
b) (I + G) = G (I + G1 ). Como
h := ( + )1 = I + 1 .
Dados x, y E,
( + )1 = +
#P r(j)
X X
kf (xj ) vol(Ij ) f (xj,i ) vol(Ij,i ))k =
j i=1
62 Captulo 2. Funes Analticas
#P Xr(j)
X
= k (f (xj ) f (xj,i )) vol(Ij,i ))k
j i=1
r(j)
#P X r(j)
#P X
X X
kf (xj )f (xj,i )kvol(Ij,i ) vol(Ij,i ) = /2.
j i=1
2 vol(I) j i=1
Z b
g(( 1 (t)) 0 ( 1 ((t)) ( 1 )0 (t)dt =
a
Augusto Armando de Castro Jnior 63
Z b
(g(( 1 (t)) 0 ( 1 ((t))) ( 1 )0 (t)dt =
a
Temos ento:
Z Z
k1 Z tj+1 Z tj+1
X
g g
=
( g((t))0 (t)dt g((t)) 0 (t)dt)
j=0 tj tj
k1
X Z tj+1
(tj+1 ) (tj )
g((t)) 0 (t) g((t))
dt
j=0 tj tj+1 tj
k1
X Z tj+1 (tj+1 ) (tj )
kg((t)) 0 (t) g((t)) k+
j=0 tj tj+1 tj
quando n .
Z b
(gn ((t)) g((t))) 0 (t)dt
a
Z b
kgn ((t)) g((t))k k0 (t)kdt <
a
Z b
< k0 (t)kdt = .
`() a
Prova:
Z
Z b
f (z)dz
=
f ((t)) 0 (t)dt
=
a
n
X (b a)
=
lim f ((tj )) 0 (tj )
n
,
n+
j=1
quando n .
68 Captulo 2. Funes Analticas
Da,
Z Z Z Z Z
f (z)dz = f (z)dz+ f (z)dz+ f (z)dz+ f (z)dz.
0 10 20 30 40
Z Z
f (z)dz , f (z)dz }
3n 4n
Da,
Z Z
f (z)dz 4 f (z)dz
n n+1
Da,
Z
f (z) f (z0 ) f 0 (z0 ) (z z0 )dz =
n
Z Z
= f (z)dz f (z0 ) + f 0 (z0 ) (z z0 )dz
n n
Por conseguinte,
Z Z
f (z)dz 4n f (z)dz =
n
Z
= 4n f (z) f (z0 ) f 0 (z0 ) (z z0 )dz
n
kz z0 k kf (z) f (z0 )k < .
2
Z Z
f (z) f (z)
dz = dz.
z z0 z z0
Augusto Armando de Castro Jnior 73
Mas
Z f (z)
Z f (z)
Z
1
dzf (z0 )2i
=
dzf (z0 ) dz
=
z z0 z z0 z z0
f (z) f (z0 )
Z
dz.
z z0
Conclumos que
Z f (z)
Z f (z) f (z )
0
dz 2if (z0 )
=
dz
< , > 0,
z z z z
0 0
logo Z
f (z)
= 2if (z0 ).
z z0
n! K n! K n!K
n+1
`(s ) = n+1
2s = n .
2 s 2 s s
Como s < r arbitrrio, conclumos que
n!K
|f (n) (z0 )| .
rn
lim |p(z)| = +.
z+
Z Z Z
1 f (w) 1 f (w) f (w)
f (z) = dw = dw dw =
2i N wz 2i 2 wz 1 wz
Augusto Armando de Castro Jnior 77
Z Z
1 f (w) f (w)
dw + dw =
2i 2 w a (z a) 1 z a (w a)
Z Z
1 f (w) f (w)
za dw+ wa dw =
2i 2 (w a) (1 wa ) 1 (z a) (1 za )
Z
X i
f (w)(w a)j1 dw (z a)j ,
j=1 1
(z a)n+k+1 dz = 0, se n + k + 1 6= 1, e igual
R
uma vez que
a 2i, se n + k + 1 = 1.
2.5 Resduos
ao crculo, ento:
Z
X Z
X Z
m
f (z)dz = bm (z a) + an (z a)n dz
m=1 n=0
Prova:
Sv = {z C; z = pj + t v, t 0, j = 1, . . . , s}
Figura 4 Resduos
Z s Z
X Z s Z
X
f (z)dz + f (z)dz f (z)dz f (z)dz
j=1 qj qj qj qj j=1 j
q q q
5
4 1
q
q 2
3
p
5 p
1
p p
3
2
p
4
implica que
Z s Z
X
f (z)dz = f (z)dz.
j=1 j
R
Mas pelo teorema de Laurent (vide pgina ??), j
f (z)dz =
2ires(f, pj ), o que conclui a prova.
Prova:
+
X k
X
f (z) = an (z p)n + bn (z p)n
n=0 n=1
e
+
X k
X
f 0 (z) = nan (z p)n1 + nbn (z p)n1 .
n=1 n=1
P+ Pk
(z p)k1 ( n=1 nan (z p)n+k + n=1 nbn (z p)n+k
+ k
=
(z p)k n=0 an (z p)n+k + n=1 bn (z p)n+k
P P
2.5. Resduos 83
Pk1 P+
1 n=0 (k n)bkn (z p)n + n=k (n k)ank (z p)n
Pk1 P+ .
(z p) n
n=0 bkn (z p) + n=k ank (z p)
n
e por
k1
X +
X
h(z) = bkn (z p)n + ank (z p)n ,
n=0 n=k
1 g(z)
f (z) = ,
(z p) h(z)
g(p)
com g/h holomorfas e h(p) = kbk /bk = k. Logo, res(f, p) =
k, a qual o simtrico da ordem do polo de f em p.
1 g(z)
,
z p h(z)
X
k(zj ) = Z(f, S) P (f, S),
zj ,zj polo de f
onde zj so as singularidades de f 0 /f em S.
polintip.c (principal)
tipo.h
Augusto Armando de Castro Jnior 85
complex.c
integra.c
/ Programa de C a l c u l o de R a i z e s de P o l i n o m i o s /
/ Arquivo p r i n c i p a l : p o l i n t i p . c
/
/ Autor : Augusto Armando de C a s t r o J u n i o r /
/ Data : 06 de f e v e r e i r o de 2 0 1 4 .
/
/ Entradas da Linha de Comando :
4 e n t r a d a s da r e g i a o e , s , w , n
cantos i n f e r i o r esquerdo e superior d i r e i t o ;
Opcao de o p e r a c a o opc ;
no . de c o e f i c i e n t e s do p r i m e i r o p o l i n o m i o n l ;
l i s t a de monomios do p r i m e i r o p o l i n o m i o ;
l i s t a de monomios do segundo p o l i n o m i o .
/
#i f n d e f r e a l
#define r e a l double
#endif
#i f n d e f PI
#define PI 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9 5
#endif
#define TAMAX 64
#define TIPOCOMPLEX
#define TIPO struct complex
#include " t i p o . h"
86 Captulo 2. Funes Analticas
struct monom {
TIPO v ;
int g ;
};
struct p o l i n {
i n t grau ;
i n t tam ;
struct monom mon [ TAMAX] ;
};
struct f u n r {
struct p o l i n pn ;
struct p o l i n pd ;
};
s t a t i c struct p o l i n ZEROP= { 0 , 1 } ;
s t a t i c struct f u n r ZEROR= { { 0 , 1 } , { 0 , 1 , { 1 . 0 , 0 . 0 , 0 } } } ;
char _err= 0 ;
i n t i g u a l p ( struct p o l i n , struct p o l i n ) ;
struct f u n r a t r i p 1 ( struct f u n r ) ;
struct f u n r a t r i p 2 ( struct p o l i n , struct p o l i n ) ;
i n t main ( i n t a r g c , char a r g v [ ] )
{
char s t r , opc ;
i n t n1 , j , k ;
long t ;
TIPO z1 , z2 , z [ 1 0 2 4 ] , u p i ;
s t a t i c TIPO f u n [ 4 0 9 6 ] , z d f s f [ 4 0 9 6 ] ;
struct p o l i n p1 , p2 ;
struct monom auxc ;
i f ( argc < 6)
{
printf (
" Programa %s \nUso : %s <e><s><w><n><opc> n1 <p o l 1 ><p o l 2 >\
argv [ 0 ] , argv [ 0 ] ) ;
exit (0);
}
z1 . r e= a t o f ( a r g v [ 1 ] ) ;
z1 . im= a t o f ( a r g v [ 2 ] ) ;
z2 . r e= a t o f ( a r g v [ 3 ] ) ;
z2 . im= a t o f ( a r g v [ 4 ] ) ;
opc= a r g v [ 5 ] [ 0 ] ;
n1= a t o i ( a r g v [ 6 ] ) ;
88 Captulo 2. Funes Analticas
p1 . mon [ k ] . g= a t o i ( a r g v [ j+ 2 ] ) ;
i f ( k> 0 )
{
i f ( p1 . mon [ k 1 ] . g> p1 . mon [ k ] . g )
SWAP( p1 . mon [ k 1 ] , p1 . mon [ k ] ) ;
}
}
p1 . grau= p1 . mon [ k 1 ] . g ;
p1 . tam= n1 ;
p2 . mon [ k ] . g= a t o i ( a r g v [ j+ 2 ] ) ;
}
p2 . grau= p2 . mon [ k 1 ] . g ;
p2 . tam= k ;
m o s t r a p o l ( " \n p1 : " , p1 , "(% l f + i%l f ) " ) ;
m o s t r a p o l ( " \n p2 : " , p2 , "(% l f + i%l f ) " ) ;
t= g e r a r e t a n g ( z1 , z2 , z , 4 8 0 ) ;
t= d f s o b r e f ( p1 , fun , z d f s f , z, t );
i f ( t> 0 )
{
Augusto Armando de Castro Jnior 89
u p i= a t r i c 2 ( 0 . 0 , 1 . 0 / ( 2 . 0 PI ) ) ;
}
switch ( opc )
{
case . :
p1 = mulp ( p1 , p2 ) ;
s t r = " produto " ;
break ;
case + :
p1 = sump ( p1 , p2 ) ;
s t r = "soma" ;
break ;
case / :
p1 = d i v p ( p1 , p2 ) ;
str = " divisao " ;
break ;
case :
p1 = subp ( p1 , p2 ) ;
90 Captulo 2. Funes Analticas
case a :
p r i n t f ( " A v a l i a d o em%l f +i %l f o p o l i n o m i o deu :
%l f +i %l f \n ; uma r a i z eh p(% l f +i %l f )=%l f +i %l f \n" ,
p2 . mon [ 0 ] . v ,
homoval ( p1 , p2 . mon [ 0 ] . v ) ,
r a i z n e w t ( p1 , p2 . mon [ 0 ] . v ) ,
homoval ( p1 , r a i z n e w t ( p1 , p2 . mon [ 0 ] . v ) ) ) ;
exit (1);
default : p u t s ( " C a l c u l o de r a i z e s r e a l i z a d o . " ) ;
}
m o s t r a p o l ( " \nO r e s u l t a d o deu : \n" , p1 , "(% l f + i%l f ) " ) ;
puts ( "" ) ;
printf ("(" );
f o r ( j= 0 ; j < ( r . pd . tam 1 ) ; j ++)
{
sprintf (s ,
( r . pd . mon [ j ] . g== 0 ) ? "%s+ " : "%sX^%d+ " ,
s t r f , r . pd . mon [ j ] . g ) ;
p r i n t f ( s , r . pd . mon [ j ] . v ) ;
}
s p r i n t f ( s , "%sX^%d ) " ,
s t r f , r . pd . mon [ r . pd . tam 1 ] . g ) ;
p r i n t f ( s , r . pd . mon [ r . pd . tam 1 ] . v ) ;
m = mdcp ( n , d ) ;
r . pn= d i v p ( n , m) ;
r . pd= d i v p ( d , m) ;
return ( r ) ;
}
struct f u n r a t r i p 1 ( struct f u n r r )
{
struct p o l i n m;
i f ( i g u a l p ( r . pd , ZEROP) )
{
_err = 1 ;
r . pn= ZEROP;
return ( r ) ;
}
m = mdcp ( r . pn , r . pd ) ;
r . pn = d i v p ( r . pn , m) ;
Augusto Armando de Castro Jnior 93
r . pd = d i v p ( r . pd , m) ;
return ( r ) ;
}
p= ZEROP;
f o r ( n= 0 , k= 0 ; n<= m; n++)
{
i n d= p2 . tam 1 ;
f o r ( i= 0 ; ( i < p1 . tam ) && ( p1 . mon [ i ] . g<= n ) ; i ++)
{
/ Obs : a b u s c a a b a i x o pode s e r o t i m i z a d a , usando b s e a r c h . /
f o r ( j= i n d ;
( j>= 0 ) && ( p2 . mon [ j ] . g > ( n p1 . mon [ i ] . g ) ) ;
j );
i f ( p2 . mon [ j ] . g== ( n p1 . mon [ i ] . g ) )
{
p . mon [ p . tam ] . g= n ;
p . mon [ p . tam ] . v= SM( p . mon [ p . tam ] . v ,
ML( p1 . mon [ i ] . v , p2 . mon [ j ] . v ) ) ;
i n d= j ;
}
}
i f ( ! IGUAL( p . mon [ p . tam ] . v , ZERO) )
{
p . tam++;
p . grau= n ;
}
return ( p ) ;
94 Captulo 2. Funes Analticas
p . mon [ k ] . g= p1 . mon [ m ] . g ;
k++;
}
m++;
n++;
}
else
{
}
else
{
p . mon [ k ] . g= p2 . mon [ n ] . g ;
p . mon [ k ] . v= p2 . mon [ n ] . v ;
n++;
Augusto Armando de Castro Jnior 95
}
k++;
}
p . grau= p . mon [ k 1 ] . g ;
p . tam= k ;
return ( p ) ;
}
m++;
n++;
}
else
{
i f ( p1 . mon [ m ] . g< p2 . mon [ n ] . g )
{
p . mon [ k ] . g= p1 . mon [ m ] . g ;
p . mon [ k ] . v= p1 . mon [ m ] . v ;
m++;
}
else
{
p . mon [ k ] . g= p2 . mon [ n ] . g ;
p . mon [ k ] . v= SB(ZERO, p2 . mon [ n ] . v ) ;
n++;
}
k++;
}
p . tam= k ;
return ( p ) ;
}
return ( p ) ;
}
98 Captulo 2. Funes Analticas
i f ( p1 . grau< p2 . grau )
return ( p1 ) ;
rp= p1 ;
p= ZEROP;
do {
paux . grau= paux . mon [ 0 ] . g= rp . grau p2 . grau ;
paux . tam= 1 ;
paux . mon [ 0 ] . v= DV( rp . mon [ rp . tam 1 ] . v , p2 . mon [ p2 . tam 1 ] . v ) ;
p= sump ( p , paux ) ;
return ( rp ) ;
}
i n t i g u a l p ( struct p o l i n p1 , struct p o l i n p2 )
{
int i ;
i f ( p1 . grau != p2 . grau )
return ( 0 ) ;
i f ( p1 . tam!= p2 . tam )
return ( 0 ) ;
return ( 0 ) ;
return ( 1 ) ;
{
return ( mulf ( r1 , a t r i p 2 ( r 2 . pd , r 2 . pn ) ) ) ;
}
struct p o l i n d e r i v p ( struct p o l i n p )
{
int i , j ;
i f ( p . grau )
p . grau ;
p . tam= i ;
return ( p ) ;
struct f u n r d e r i v f ( struct f u n r r )
{
Augusto Armando de Castro Jnior 101
struct f u n r f;
struct p o l i n m;
f . pd= mulp ( r . pd , r . pd ) ;
m = mdcp ( f . pd , f . pn ) ;
f . pd= d i v p ( f . pd , m) ;
f . pn= d i v p ( f . pn , m) ;
return ( f ) ;
}
long d f s o b r e f ( struct p o l i n p ,
TIPO d f s f , TIPO z d f s f , TIPO z , long t )
{
long i , j ;
TIPO num , den ;
struct p o l i n drv ;
drv= d e r i v p ( p ) ;
f o r ( i= 0 ; i < t ; i ++)
{
num= homoval ( drv , z [ i ] ) ;
den= homoval ( p , z [ i ] ) ;
i f ( ! IGUAL( den , ZERO) )
{
d f s f [ i ]= DV(num , den ) ;
z d f s f [ i ]= ML( d f s f [ i ] , z [ i ] ) ;
}
102 Captulo 2. Funes Analticas
else
{
d f s f= z [ i ] ;
return ( 0 ) ;
}
}
return ( i ) ;
}
y= SM( y , p . mon[ j ] . v ) ;
return ( y ) ;
}
Augusto Armando de Castro Jnior 103
long c u r v a p l p ( struct p o l i n p ,
TIPO p l s p , TIPO z p l s p , TIPO curv , long n )
{
struct p o l i n d e r a ;
r e a l eps ;
TIPO y ;
long j= 0L ;
e p s= (AB( c u r v [ 0]) > 0 . 1 ) ? 0 . 0 0 0 0 0 0 0 0 0 1 :AB( c u r v [ 0 ] ) / 1 0 0 0 0 0 0 0 0 . 0 ;
d e r a= d e r i v p ( p ) ;
f o r ( j= 0 ; j < n ; j ++)
{
y= homoval ( p , c u r v [ j ] ) ;
i f (AB( y)> e p s )
{
p l s p [ j ]= DV( homoval ( dera , c u r v [ j ] ) , y ) ;
z p l s p [ j ]= ML( c u r v [ j ] , p l s p [ j ] ) ;
}
else
{
p l s p [ 0]= c u r v [ j ] ;
return ( 0L ) ;
}
}
return ( j ) ;
}
do
{
x1= x0 ;
i f (AB( aux)> e p s )
x0= SB( x0 , DV( homoval ( p , x0 ) , aux ) ) ;
else
{
i f (AB( homoval ( p , x0 )) < e p s )
return ( x0 ) ;
else
{
x0= SM( x0 , UM) ;
}
}
j ++;
return ( x0 ) ;
}
/ Arquivo t i p o . h /
/
N e s t e a r q u i v o , d i f e r e n t e s t i p o s e macros c o r r e s p o n d e n t e s
sao d e f i n i d o s
/
#i f d e f TIPOREAL
#define SM( x , y ) ( ( x)+ ( y ) )
#define SB( x , y ) ( ( x) ( y ) )
#define ML( x , y ) ( ( x ) ( y ) )
#define DV( x , y ) ( ( x )/ ( y ) )
#define AT( x , y ) ( ( x)= ( y ) )
Augusto Armando de Castro Jnior 105
#endif
#i f d e f TIPORACIONAL
#define SM( x , y ) soma ( ( x ) , ( y ) )
#define SB( x , y ) suba ( ( x ) , ( y ) )
#define ML( x , y ) mula ( ( x ) , ( y ) )
#define MLR( x , y ) mula ( ( x ) , a p r o x r e a l ( y ) )
#define DV( x , y ) divi ((x) , (y))
#define AT( x , y ) ( ( x)= ( y ) )
#define ATR( x , y ) ( x)= a t r i b 1 ( y )
#define IGUAL( x , y ) i g u a l ( ( x ) , ( y ) )
#define MEN( x , y ) menor ( ( x ) , ( y ) )
#define MENI( x , y ) menorigual ( ( x ) , ( y ) )
#define TAM s i z e o f ( struct r a c i o n a l )
#define STR "%6l d /%6 l d "
#define TIP ( x ) aproxreal (x)
#define ZERO z e r a
#define UM uma
#endif
#i f d e f TIPOCOMPLEX
#define SM( x , y ) somc ( ( x ) , ( y ) )
#define SB( x , y ) subc ( ( x ) , ( y ) )
#define ML( x , y ) mulc ( ( x ) , ( y ) )
#define MLR( x , y ) mulr ( ( x ) , ( y ) )
#define DV( x , y ) divc (( x ) , (y ))
#define AT( x , y ) ( ( x)= ( y ) )
106 Captulo 2. Funes Analticas
/ Arquivo complex . c /
/ Programa de numeros c o m p l e x o s /
/
N e s t e a r q u i v o , implementamos numeros complexos ,
i n d e p e n d e n t e da implementacao j a e x i s t e n t e em AnsiC99
/
#i f n d e f r e a l
#define r e a l double
#endif
#i f n d e f PI
#define PI 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9 5
#endif
struct complex {
re al re ;
r e a l im ;
};
char e r r =0;
s t a t i c struct complex z e r c= { 0 . 0 , 0 . 0 } ;
s t a t i c struct complex umc= { 1 . 0 , 0 . 0 } ;
Augusto Armando de Castro Jnior 107
r e a l c c a b s ( struct complex ) ;
int i g u a l c ( struct complex z1 , struct complex z2 )
{ return ( ( z1 . r e== z2 . r e)&& ( z1 . im== z2 . im ) ) ; }
#define atric1 ( z) (z)
struct complex a t r i c 2 ( r e a l re , r e a l im )
{
struct complex z ;
z . r e= r e ;
z . im= im ;
return ( z ) ;
}
z . im= z1 . r e z2 . im + z1 . im z2 . r e ;
return ( z ) ;
}
{
z1 . r e = r ;
z1 . im= r ;
return ( z1 ) ;
}
r e a l c c a b s ( struct complex z )
{
return ( s q r t ( z . r e z . r e+ z . im z . im ) ) ;
}
p= p%4;
i f ( p<= 0 )
return ( 0 ) ;
r 1= f a b s ( z1 . re z2 . r e ) ;
r 2= f a b s ( z1 . im z2 . im ) ;
r 1= ( r1>= r 2 ) ? r 1 / 4 . 0 : r 2 / 4 . 0 ;
r 2= ( 8 . 0 r 1 ) / ( r e a l ) ( p ) ;
p+= 4 ;
f o r ( j= 0 , l= p / 4 , k= ( 3 p)/4 1 ,
m= p 1 , x= z1 . re r1 , y= z1 . im r 1 ;
x<= ( z1 . r e+ r 1 ) ;
x+= r2 , y+= r2 , j ++, l ++, k, m)
{
z [ j ] . r e= z [ k ] . r e= x ;
z [ j ] . im= z1 . im r 1 ;
z [ k ] . im= z1 . im+ r 1 ;
z [ l ] . im= z [ m ] . im= y ;
z [ l ] . r e= z1 . r e+ r 1 ;
z [ m ] . r e= z1 . re r 1 ;
}
110 Captulo 2. Funes Analticas
f o r ( ; j<= ( p / 4 ) ; j ++)
{
z [ j ] . r e= z1 . r e+ r 1 ;
z [ j ] . im= z1 . im r 1 ;
}
f o r ( ; k>= p / 2 ; k)
{
z [ k ] . r e= z1 . r e+ r 1 ;
z [ k ] . im= z1 . im+ r 1 ;
}
f o r ( ; m>= ( 3 p ) / 4 ; m)
{
z [ m ] . im= z1 . im+ r 1 ;
z [ m ] . r e= z1 . re r 1 ;
}
z [ p+ 1]= z [ p]= z [ 0 ] ;
return ( p ) ;
p= p%4;
i f ( p<= 0 )
return ( 0 ) ;
i f ( z1 . re > z2 . r e )
{
r= z2 . r e ;
z2 . r e= z1 . r e ;
Augusto Armando de Castro Jnior 111
z1 . r e= r ;
}
r= z2 . re z1 . r e ;
i f ( z1 . im> z2 . im )
{
r i= z2 . im ;
z2 . im= z1 . im ;
z1 . im= r i ;
}
r i= z2 . im z1 . im ;
d= ( 2 . 0 ( r+ r i ) ) / ( ( r e a l ) p ) ;
dx= r / c e i l ( r /d ) ;
k= ( i n t ) ( c e i l ( r /dx)+ 0 . 1 ) ;
dy= r i / c e i l ( r i /d ) ;
m= ( i n t ) ( c e i l ( r i /dy)+ 0 . 1 ) ;
f o r ( j= 0 , l= k+ m, x= z1 . r e ;
x<= z2 . r e ;
x+= dx , j ++, l ++)
{
z [ j ] . r e= x ;
z [ j ] . im= z1 . im ;
z [ l ] . im= z2 . im ;
z [ l ] . r e= z1 . r e+ ( z2 . re x ) ;
}
p= l ;
z [ p+ 1]= z [ p]= z [ 0];
return ( p ) ;
/ Arquivo i n t e g r a . c /
#i f n d e f TIPO
#define TIPO r e a l
#endif
/ I n t e g r a c a o por T r a p e z i o /
f o r ( k= 0 ; k< n ; k++)
{
GAUX( p+1 , k)= ZERO;
f o r (G( 0 , k)= sum= ya [ k ] , l= 0 ; l < p ; l ++)
Augusto Armando de Castro Jnior 113
{
sum= SM( sum , MLR(SM(GAUX( l , k ) , GAUX( l+ 1 , k ) ) , r r ) ) ;
G( l+ 1 , k)= sum ;
}
}
return ( sum ) ;
}
/ I n t e g r a c a o C u r v i l i n e a ( r e a l ou complexa ) t i p o T r a p e z i o /
f o r ( k= 0 ; k< n ; k++)
{
GAUX( p+ 1 , k)= GAUX( p , k)= GAUX( p 1 , k ) ;
G( l+ 1 , k)= sum ;
}
}
return ( sum ) ;
}
114 Captulo 2. Funes Analticas
2.7 Exerccios
1
P
a) n2
1
P
b) n
1
P
c) n!
zn+1
2. Mostre que se (zn ), zn > 0 tal que existe o limn+ zn =
c, ento existe limn+ n zn = c.
Mostre que
Z
1
zp0 (z)/p(z)dz = z0 ,
2i
3 Funes de Operador
potncias.
() () = ( )()().
Prova: De fato,
()()(I A I + A) =
( )()().
Prova:
() ()
0 () = lim = lim ()() = ()2 .
122 Captulo 3. Funes de Operador
Prova:
p
n
lim sup n
an /|z| < 1 |z| > lim sup n
an = lim sup kAn k.
vale
n
X n
X
(I A/z) lim (A/z)n = lim (I A/z) (A/z)n =
n n
j=0 j=0
n
X n+1
X
lim (A/z)n (A/z)n = lim I (A/z)n = I.
n n
j=0 j=1
(n An ) = ( A) (An1 + An1 + + n1 ) =
(An1 + An1 + + n1 ) ( A)
124 Captulo 3. Funes de Operador
|n | r(An ) kAn k,
p p
e logo || kAn k, n N, e da, || lim inf n+
n n
kAn k
donde conclumos
p p
lim sup n kAn k = r(A) lim inf n kAn k.
n+ n+
1
[|| kAk] [||/2]1 , ; || > 2kAk,
concluindo que se fosse inteira, seria globalmente limitada e
portanto constante pelo Teorema de Liouville, o que absurdo.
1
n log(kAn k) c implica que dado > 0, existe n0 N tal
que n n0 vale
() ()
Z Z
1
f ()g() d d =
4 2 C1 C2
Z Z
1 g()
2 f () d ()d+
4 C1 C2
Z Z
1 f ()
+ 2 g() d ()d =
4 C2 C1
(pois tomamos C2 exterior a C1 )
Z
1
f ()g()()d = (f g)(A).
2i C1
Z
1 X n 1
an ( 0 ) d =
2i n=0 Sr1 (0 ) (I 0 I) (A 0 I)
Z
1 X n 1 1
an ( 0 ) ( )d =
2i n=0 Sr1 (0 ) 0 1 0 I
A
0
Z X (A 0 I) j
1 X n
an ( 0 ) j+1
d =
2i n Sr1 (0 ) j ( 0 )
n j
( 0 ) (A 0 I)
Z
1 XX
an j+1
d =
2i n j Sr1 (0 ) ( 0 )
Z
1 X 1 n
an (A 0 I) d =
2i n=0 1
Sr (0 ) 0
Z
X n1 1 X n
an (A 0 I) d = an (A 0 I) .
n=0
2i Sr1 (0 ) 0 n=0
Prova:
h(A) (f (A) I) = I,
Se A invertvel, ento 0
/ sp(A), logo f (z) = 1/z
uma funo holomorfa definida na vizinhana C \ {0} de sp(A).
Ora, do teorema do Clculo Funcional, de f (z) z = z f (z) = 1,
conclumos que f (A)A = Af (A) = I, ou seja, que f (A) = A1 .
Da parte provada acima do Mapeamento Espectral, conclumos
que sp(A1 ) = sp(f (A)) = f (sp(A)) = (sp(A))1 .
PX (z) = 1, z VX ; PX (z) = 0, z VX c .
A I invertvel
Seja r
/ sp(A), e defina g : VX VX c C por g(z) =
PX (z) z + r PX c . Isso implica que g(A) = X A + rX c . Ou
seja, g(A) = (A|E , I|E )
https://groups.google.com/
forum/?fromgroups#!forum/funcoesdeoperador29cbm
134 Captulo 3. Funes de Operador
/ Programa de C a l c u l o de P r o j e c o e s E s p e c t r a i s /
/ Arquivo p r i n c i p a l : p r o j . c
/
/ Autor : Augusto Armando de C a s t r o J u n i o r /
/ Data : 15 de a b r i l de 2 0 1 3 .
/
#i f n d e f r e a l
#define r e a l double
#endif
#i f n d e f PI
#define PI 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9 5
#endif
struct complex {
re al re ;
r e a l im ;
};
char e r r =0;
s t a t i c struct complex z e r c= { 0 . 0 , 0 . 0 } ;
s t a t i c struct complex umc= { 1 . 0 , 0 . 0 } ;
#define TIPOCOMPLEX
#define TIPO struct complex
#include " t i p o . h"
#include " e q l i n . c "
#include " i n t e g r a . c "
/ Numero de d i v i s o e s na i n t e g r a c a o : /
#define ITERA 640
/ dimensao ( ao quadrado ) maxima das m a t r i z e s : /
#define DIMAX2 36
i n t main ( i n t a r g c , char a r g v [ ] )
{
char s t r ;
r e a l p1 , q1 , p2 , q2 ;
struct complex r1 , z1 , z2 ;
s t a t i c struct complex mat [ ( 2 ITERA+ 1 ) DIMAX2 ] ,
m a t s a i [ ITERA DIMAX2 ] ,
z [ ITERA 2 ] , s , sum ;
i n t n , c o l , i , j , dimat ;
long p ;
i f ( argc < 6)
{
printf (
" Programa %s \n" ,
argv [ 0 ] ) ;
printf (
"Uso : %s z1 . r e z1 . im z2 . r e z2 . imdimmat [ 0 ] . r e mat [ 0 ] . im . . . \ n" ,
136 Captulo 3. Funes de Operador
argv [ 0 ] ) ;
p u t s ( "Onde : " ) ;
p u t s ( " z1 . re , z1 . im : c o o r d e n a d a s do c e n t r o da r e g i a o " ) ;
p u t s ( " z2 . re , z2 . im : c o o r d e n a d a s de um ponto f o r a da r e g i a o . " ) ;
p u t s ( "dim : dimensao do e s p a c o em que a m a t r i z atua " ) ;
exit (0);
}
z1 . r e = a t o f ( argv [ 1]);
z1 . im = a t o f ( argv [ 2]);
z2 . r e = a t o f ( argv [ 3]);
z2 . im = a t o f ( argv [ 4]);
dimat = a t o i ( argv [ 5]);
s= a t r i c 2 ( 0 . 0 , 1 . 0 / ( 2 PI ) ) ;
p= g e r a c u r v a f e c ( z1 , z2 , z , ITERA ) ;
p r i n t f ( "A m a t r i z de p r o j e c a o eh : \n" ) ;
m o s t r a m a t r i z ( sum , dimat , 0 , 0 ,
dimat , dimat , "%l 7 . 4 f+ i%l 7 . 4 f " ) ;
struct complex a t r i c 2 ( r e a l re , r e a l im )
{
struct complex z ;
z . r e= r e ;
z . im= im ;
return ( z ) ;
}
z . im= z1 . r e z2 . im + z1 . im z2 . r e ;
return ( z ) ;
}
z1 . im= r ;
return ( z1 ) ;
}
138 Captulo 3. Funes de Operador
p= p%4;
Augusto Armando de Castro Jnior 139
i f ( p<= 0 )
return ( 0 ) ;
r 1= f a b s ( z1 . re z2 . r e ) ;
r 2= f a b s ( z1 . im z2 . im ) ;
r 1= ( r1>= r 2 ) ? r 1 / 4 . 0 : r 2 / 4 . 0 ;
r 2= ( 8 . 0 r 1 ) / ( r e a l ) ( p ) ;
p+= 4 ;
f o r ( j= 0 , l= p / 4 , k= ( 3 p)/4 1 , m= p 1 ,
x= z1 . re r1 , y= z1 . im r 1 ;
x<= ( z1 . r e+ r 1 ) ;
x+= r2 , y+= r2 , j ++, l ++, k, m)
{
z [ j ] . r e= z [ k ] . r e= x ;
z [ j ] . im= z1 . im r 1 ;
z [ k ] . im= z1 . im+ r 1 ;
z [ l ] . im= z [ m ] . im= y ;
z [ l ] . r e= z1 . r e+ r 1 ;
z [ m ] . r e= z1 . re r 1 ;
f o r ( ; j<= ( p / 4 ) ; j ++)
{
z [ j ] . r e= z1 . r e+ r 1 ;
z [ j ] . im= z1 . im r 1 ;
}
f o r ( ; k>= p / 2 ; k)
{
z [ k ] . r e= z1 . r e+ r 1 ;
z [ k ] . im= z1 . im+ r 1 ;
}
140 Captulo 3. Funes de Operador
f o r ( ; m>= ( 3 p ) / 4 ; m)
{
z [ m ] . im= z1 . im+ r 1 ;
z [ m ] . r e= z1 . re r 1 ;
}
z [ p+ 1]= z [ p]= z [ 0 ] ;
return ( p ) ;
f o r ( i= 1 ; i <= p ; i ++)
{
f o r ( j= 0 ; j < n ; j ++)
{
memcpy(&mataux [ j 2 c o l ] ,
&mat [ j c o l ] , c o l s i z e o f ( struct complex ) ) ;
mataux [ j 2 c o l+ j ]= subc ( mataux [ j 2 c o l+ j ] , z [ i 1 ] ) ;
}
invmatudo ( mataux , c o l , &mat [ i n c o l ] ) ;
}
Augusto Armando de Castro Jnior 141
/ Arquivo e q l i n . c /
n= ( imax< c o l ) ? imax : c o l ;
i f ( ! IGUAL( s i i , ZERO) )
{
i f ( i n d x != i )
{
142 Captulo 3. Funes de Operador
return ( c t ) ;
}
f o r ( i= 0 ; i < c o l ; i ++)
Augusto Armando de Castro Jnior 143
{
ATR( s i i , ZERO ) ;
f o r ( i a u x= i ; iaux< c o l ; i a u x++)
i f ( ! IGUAL( s [ i a u x c o l+ i ] , ZERO ) )
{
ATR( s i i , s [ i a u x c o l+ i ] ) ;
i n d x= i a u x ;
break ;
}
i f ( IGUAL( s i i , ZERO) )
c t ++;
else
{
i f ( i n d x != i )
{
ATR( muda , SB(ZERO, muda ) ) ;
tm=( c o l i ) TAM;
memcpy ( ( char ) x ,
( char )& s [ i n d x c o l+ i ] , tm ) ;
memcpy ( ( char )& s [ i n d x c o l+ i ] ,
( char )& s [ i c o l+ i ] , tm ) ;
memcpy ( ( char )& s [ i ( c o l+ 1 ) ] ,
( char ) x , tm ) ;
}
f o r ( i a u x= i+ 1 ; iaux< c o l ; i a u x++)
{
m= DV( s [ i a u x c o l+ i ] , s i i ) ;
f o r ( j a u x= i ; jaux< c o l ; j a u x++)
ATR( s [ i a u x c o l+ j a u x ] ,
SB( s [ i a u x c o l+ j a u x ] ,
ML( s [ i c o l+ j a u x ] , m) ) ) ;
}
}
}
f o r ( i= 0 ; i < c o l ; i ++)
144 Captulo 3. Funes de Operador
{
ATR( muda , ML( muda , s [ i ( c o l+ 1 ) ] ) ) ;
}
return ( muda ) ;
i n t e q l i n u d o (TIPO s , i n t c o l , TIPO x )
{
int imax= c o l 1 , c t= 0 , i , j ;
TIPO aux ;
c t= e s c a l a t u d o ( s , x , imax , c o l+ 1 ) ;
f o r ( i= imax ; i >= 0 ; i )
{
ATR( aux , ZERO ) ;
f o r ( j= i+ 1 ; j <= imax ; j ++)
ATR( aux , SB( aux , ML( SIST ( i , j ) , x [ j ] ) ) ) ;
ATR( x [ i ] , DV(SM( aux , SIST ( i , c o l ) ) , SIST ( i , i ) ) ) ;
}
return ( 0 ) ;
}
//
/ funcao int invmatudo ( ) /
//
/ O b j e t i v o : I n v e r t e r uma m a t r i z . /
Augusto Armando de Castro Jnior 145
//
i f ( c o l== 2 )
{
aux= s i n v [ 0]= s [ 0 ] ;
s i n v [ 1]= s [ 1 ] ;
s i n v [ 2]= s [ 4 ] ;
s i n v [ 3]= s [ 5 ] ;
d1= ML( aux , s i n v [ 3 ] ) ;
d2= ML( s i n v [ 1 ] , s i n v [ 2 ] ) ;
d1= SB( d1 , d2 ) ;
i f (IGUAL( d1 , ZERO) )
{
p u t s ( " m a t r i z nao i n v e r s i v e l " ) ;
return ( 1 ) ;
}
s i n v [ 0]= DV( s i n v [ 3 ] , d1 ) ;
s i n v [ 3]= DV( aux , d1 ) ;
d1= SB(ZERO, d1 ) ;
s i n v [ 1]= DV( s i n v [ 1 ] , d1 ) ;
s i n v [ 2]= DV( s i n v [ 2 ] , d1 ) ;
return ( 0 ) ;
f o r ( i= 0 ; i < c o l ; i ++)
{
f o r ( j= 0 ; j < i ; j ++)
s [ ( i 2 + 1 ) c o l+ j ]= s [ ( j 2 + 1 ) c o l+ i ]=
ZERO;
}
f o r ( i= 0 ; i < c o l ; i ++)
s [ ( i 2+ 1 ) c o l + i ]= UM;
146 Captulo 3. Funes de Operador
i f ( e s c a l a t u d o ( s , s i n v , imax , 2 c o l ) )
return ( 0 ) ;
f o r ( i= imax 1 ; i >= 0 ; i )
{
aux= s [ i 2 c o l+ i ] ;
f o r ( j= i ; j < 2 c o l ; j ++)
s i n v [ i ( c o l 1)+ j ]= s [ i 2 c o l+ j ]= DV( s [ i 2 c o l+ j ] , aux ) ;
f o r ( k= i 1 ; k>= 0 ; k)
{
aux= s [ k 2 c o l+ i ] ;
f o r ( j= c o l ; j < 2 c o l ; j ++)
{
s [ k 2 c o l+ j ]= SB( s [ k 2 c o l+ j ] , ML( aux , s [ i 2 c o l+ j ] )
}
/ nao e s c a l o n a duas v e z e s s , j a s a i com s i n v /
}
f o r ( i= 0 ; i < c o l ; i ++)
f o r ( j= 0 ; j < c o l ; j ++)
{
s i n v [ i c o l+ j ]= s [ i 2 c o l+ c o l + j ] ;
s [ i 2 c o l+ j ]= ( i== j ) ?UM:ZERO;
}
return ( 1 ) ;
}
i n t m o s t r a m a t r i z (TIPO s , i n t c o l , i n t l i n i , i n t c o l i n i ,
i n t nl , i n t n c o l , char s t r )
{
int i , j ;
Augusto Armando de Castro Jnior 147
Vide: https://groups.google.com/forum/?fromgroups#!forum/funcoesdeoperador29cbm
i n t l f i m= l i n i + nl , c o l f i m= c o l i n i+ n c o l ;
f o r ( i= l i n i ; i < l f i m ; i ++)
{
putchar ( | ) ;
f o r ( j= c o l i n i ; j < c o l f i m ; j ++)
p r i n t f ( s t r , s [ i c o l+ j ] ) ;
puts ( " | " ) ;
}
return ( n l n c o l ) ;
}
148 Captulo 3. Funes de Operador
3.4 Exerccios
0 ... 1 an1
An (v) = n1 v1 + An (w),
t1 , t2 > 0 e v1 , v2 C t1 v1 + t2 v2 C,
(v, w)
(v, w) = log .
(v, w)
para quaisquer v, w C1 .
C + := {v = (v1 , . . . , vn ) Rn ; vj > 0, j = 1, . . . , n}
4.2. Cones e Mtricas Projetivas 155
log(1/c) < +.
temos que Escolhendo k tal que [vs ]k seja igual a 1, temos ento:
[vt ]j
Vemos portanto que lim supt,s+ [vs ]j 1, j = 1, . . . , n. (L-
gico que aqui, vale a mesma desigualdade permutando t e s). Por
[vt ]j
outro lado, se para algum j, lim inf t,s+ [vs ]j < 1, trocando os
[v ]
papis de t e s, teramos lim supt,s+ [vst ]jj > 1, absurdo. Donde
[v ]
conclumos que para todo j, limt,s+ [vst ]jj = 1.
kAm+1 (w)|k
lim = kA(w)k > 0,
m+ kAm (w)k
Am+1 (w)
w, quando m +.
kAm+1 (w)k
158 Captulo 4. Operadores com autovalores dominantes
Logo, da continuidade de A,
Am (v)
d( , < w > C + ) 0,
m v
onde < w > o espao gerado por w.
Conclumos que
[Ams (v)]q
Seja ms wq uma subsequncia convergente; ento ob-
teramos
[Ams (v)]q ms wq [Ams (v)]q wq kAms (v)k
= 1, quando s +
ms wq [Ams (v)]q kAms (v)k wq [Ams (v)]q
Logo, necessariamente,
[Ams (v)]q [Ams (v)]q
lim m
=
s+ s wq ms wq
[Ams (v)]q
e em particular, ms converge a um mltiplo positivo de w.
v = v + iv, com v, v Rn .
v = (v + c) c + i((v + c) c)
160 Captulo 4. Operadores com autovalores dominantes
m
Do que vimos antes, conclumos que d( Am(v) , < w >) converge
a zero.
Am (v) |m |
d( m
, < w >) = d(v, < w >) m 0, quando m +.
m
Como d(v, < w >) > 0, isso s pode significar que m 0
quando m +, ou seja, > .
#i f n d e f r e a l
#define r e a l double
#endif
#i f n d e f PI
#define PI 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9 5
#endif
char _err= 0 ;
r e a l domipos ( r e a l , r e a l , r e a l , int , i n t ) ;
r e a l domin ( r e a l , r e a l , r e a l , int , i n t ) ;
i n t main ( i n t a r g c , char a r g v [ ] )
{
char s t r ;
r e a l lambda ;
i f ( argc < 2)
{
printf (
" Programa %s \nUso : %s <numcols><mat11><mat12> . . . \ n" ,
argv [ 0 ] , argv [ 0 ] ) ;
exit (0);
}
c o l= a t o i ( a r g v [ 1]);
i f ( ( c o l c o l ) >= ( a r g c 1 ) )
{
printf (
"No . de e n t r a d a s menor que a dimensao %dx%d d i t a da m a t r i z " ,
col , col ) ;
e x i t ( 1);
}
f o r ( i= 0 , j= 2 ; i < ( c o l c o l ) ; i ++, j ++)
{
mat [ i ]= a t o f ( a r g v [ j ] ) ;
}
r e a l norml ( r e a l mat , i n t l i n , i n t c o l , r e a l ( ab ) ( ) )
{
int i , j ;
r e a l somaux , soma= 0 . 0 ;
f o r ( i= 0 ; i < l i n ; i ++)
{
f o r ( somaux= 0 . 0 , j= 0 ; j < c o l ; j ++)
{
somaux+= ab ( mat [ i c o l+ j ] ) ;
}
i f ( somaux > soma )
soma= somaux ;
}
return ( soma ) ;
}
tam= c o l c o l ;
4.3. Programa de Clculo de Autovalores Dominantes de Operadores
Positivos 165
aua= pr ;
aux= &pr [ tam ] ;
soma= norml ( mat , c o l , c o l , f a b s ) ;
i f ( soma== 0 . 0 )
return ( 0 . 0 ) ;
f o r ( t= 0 ; t< tam ; t++)
{
aua [ t ]= aux [ t ]= mat [ t ] / soma ;
}
f o r ( n= 0 ; n< i t ; n++)
{
soma= 0 . 0 ;
f o r ( i= 0 ; i < c o l ; i ++)
f o r ( j= 0 ; j < c o l ; j ++)
{
sum= 0 . 0 ;
f o r ( k= 0 ; k< c o l ; k++)
{
sum+= aux [ i c o l+ k ] aux [ k c o l+ j ] ;
}
aua [ i c o l+ j ]= sum ;
soma+= f a b s ( sum ) ;
}
f o r ( t= 0 ; t< tam ; t++)
{
aux [ t ]= aua [ t ]/= soma ;
}
p r i n t f ( " \ n I t e r a d o 2^%d n o r m a l i z a d o da m a t r i z i n i c i a l : \ n" ,
n +1);
m o s t r a m a t r i z ( aux , c o l , 0 , 0 , c o l , c o l , "%l 9 . 7 f " ) ;
}
f o r ( i= 0 ; i < c o l ; i ++)
{
imax= 0 ;
max= 0 . 0 ;
v e t [ i ]= aua [ i c o l ] ;
166 Captulo 4. Operadores com autovalores dominantes
f o r ( j= 1 ; j < c o l ; j ++)
v e t [ i ]+= aua [ i c o l+ j ] ;
i f ( f a b s ( v e t [ i ]) > max)
{
max= f a b s ( v e t [ i ] ) ;
imax= i ;
}
}
f o r ( k= 0 , sum= 0 . 0 ; k< c o l ; k++)
{
sum+= mat [ imax c o l+ k ] v e t [ k ] ;
}
/ Retorna o a u t o v a l o r dominante . O a u t o v e t o r dominante ,
com soma 1 , f i c a armazenado em v e t . /
{
aua [ t ]= aux [ t ]= mat [ t ] / soma ;
}
f o r ( n= 0 ; n< i t ; n++)
{
soma= 0 . 0 ;
f o r ( i= 0 ; i < c o l ; i ++)
f o r ( j= 0 ; j < c o l ; j ++)
{
sum= 0 . 0 ;
f o r ( k= 0 ; k< c o l ; k++)
{
sum+= aux [ i c o l+ k ] aux [ k c o l+ j ] ;
}
aua [ i c o l+ j ]= sum ;
soma+= f a b s ( sum ) ;
}
f o r ( t= 0 ; t< tam ; t++)
{
aux [ t ]= aua [ t ]/= soma ;
}
}
f o r ( i= 0 ; i < c o l ; i ++)
{
imax= 0 ;
max= 0 . 0 ;
v e t [ i ]= aua [ i c o l ] ;
f o r ( j= 1 ; j < c o l ; j ++)
v e t [ i ]+= aua [ i c o l+ j ] ;
i f ( f a b s ( v e t [ i ]) > max)
{
max= f a b s ( v e t [ i ] ) ;
imax= i ;
}
168 Captulo 4. Operadores com autovalores dominantes
}
f o r ( k= 0 , sum= 0 . 0 ; k< c o l ; k++)
{
sum+= mat [ imax c o l+ k ] v e t [ k ] ;
}
v [ l ]= 0 ;
v [ l+ 1]= 1 ;
/ Retorna o a u t o v a l o r dominante . O a u t o v e t o r dominante ,
com soma 1 , f i c a armazenado em v e t . /
}
f o r ( i= l i n i ; i < l f i m ; i ++)
{
putchar ( | ) ;
f o r ( j= c o l i n i ; j < c o l f i m ; j ++)
p r i n t f ( s t r , s [ i c o l+ j ] ) ;
puts ( " | " ) ;
}
return ( n l n c o l ) ;
}
4.4 Exerccios
5 O Operador Adjunto
por:
A ()(x) = A(x), x E.
IE = (IE ) = (A A1 ) = ((A1 ) A ),
Exemplo 5.6. Seja E = (C 0 ([0, 1]; R), < , >) o espao das
funes contnuas com domnio no intervalo [0, 1], dotado do
R1
produto interno < f, g >:= 0 f (t) g(t)dt. Seja (gn ), gn E
uma sequncia de Cauchy em E sem limite em E. Por exemplo,
tome
0, para t [0, 1/2 1/(n + 1)];
1/2 + (t 1/2) (n + 1)/2, se t (1/2 1/(n + 1),
gn :=
1/2 + 1/(n + 1));
1, para t [1/2 + 1/(n + 1), 1].
178 Captulo 5. O Operador Adjunto
Ento:
g contnuo;
E = {0}.
Augusto Armando de Castro Jnior 179
Desse modo,
< gn , w > < gn , w >
lim < gn w, gn w>=
n kwk2 kwk2
= lim < gn < gn , w > w, gn > =
n
Finalmente, temos
n
X n
X
< v, v >=< j vj + v , j vj + v >=
j=1 j=1
= 0, v E z w E = {0},
implicando que z = w.
< pj , gn >
< A(pj ), y >= lim , pj ,
n < y, y >
e portanto, A (y)() = limn < , gn >, ou seja, no existe
w E tal que < A(x), y >=< x, A (y) >.
E, temos que
sp(A) = sp(A )
ortogonais.
Temos, portanto:
(pois A auto-adjunta)
Finalmente,
1 < v1 , v2 >=< Av1 , v2 >=< v1 , Av2 >= 2 < v1 , v2 > |{z}
1 6=2
< v1 , v2 >= 0,
Desse modo, vemos que para v = (0, 1), An (v) = (n, 1), a qual
converge a infinito com velocidade polinomial.
EN := {x `2 ; x = (0, . . . , 0 x1 , . . . )}.
| {z }
N vezes
Prova:
1
1
g V N (g)
(kgk + Ckgk) 0 quando N +.
N N
Notamos que converge tambm para zero para toda f
E(V ). Neste caso, existem E(V ) 3 fj f e da,
1
1 NX N 1 N 1
1 X n
1
X n
V n (fj ) V (f )
=
V (fj f )
N n=0 N n=0 N n=0
N 1
1 X
Ckfj f k Ckfj f k 0,
N n=0
implicando a afirmao que fizemos.
e
E(V ) = ran(I V ) = ker(I V ) = F (V ).
Donde conclumos que
http://www.colmat.ufba.br/monografias?page=1
194 Captulo 5. O Operador Adjunto
1. () = 0.
2. aditiva:
X
( n=1 An ) = (An ),
n=1
(A) = (f 1 (A)).
Concluso
Referncias