Num. Math.—5

Gersgorin körök

Cél: s.é absz. értékeinek becslése

(Subscript[u, j])=Re[(Subscript[a, j j])] ,(Subscript[v, j])=Im[(Subscript[a, j j])] , (Subscript[r, j])=(∑_(k,k≠j)) |(Subscript[a, j k])|

Copyrights (partially) by Wofram Research -> MathWorld

GerschgorinDisks[(a_List)?MatrixQ]:=Module[{abs=Abs[a],disks},disks=Transpose[{Through/@{Re,Im}/@Tr[a,List],(Plus@@#&)/@abs-Tr[abs,List]}];
{
{Hue[.5],Disk@@@disks},
Circle@@@disks
}
]

B1=(({{4, -1, I}, {1, -I, 0}, {2, 0, -1+I}}));

EVL=N[Eigenvalues[B1]]

EVCoord[el_]:=Map[{Re[#],Im[#]}&,el]

EVCoord[EVL]

Re[1+2I]

Im[1+2I]

Map[((#)^3)+1&,{-1,2,5,-9}]

Show[Graphics[GerschgorinDisks[B1]],Sequence@@Map[Graphics[{RGBColor[1,0,1],PointSize[.02],Point[#]}]&,EVCoord[EVL]],Sequence@@Map[Graphics[{Black,PointSize[.02],Point[#]}]&,EVCoord[Table[B1[[j,j]],{j,Length[B1]}]]],Axes->True,ImageSize->{400,300},PlotRange->{{-4,8},{-6,6}},AspectRatio->1]

B=(({{b11, b12}, {b21, b22}}));

Manipulate[Column[{MatrixForm[B],Show[Graphics[GerschgorinDisks[B=Partition[Map[#[[1]]+#[[2]]I&,{b11,b12,b21,b22}],2]]],Sequence@@Map[Graphics[{RGBColor[1,0,1],PointSize[.02],Point[#]}]&,EVCoord[N[Eigenvalues[B]]]],Sequence@@Map[Graphics[{Black,PointSize[.02],Point[#]}]&,EVCoord[Table[B[[j,j]],{j,Length[B]}]]],Axes->True,ImageSize->{400,300},PlotRange->{{-10,10},{-10,10}},AspectRatio->1]}],{{b11,{1,0}},{-4,-4},{4,4},Slider2D,ControlPlacement->Left},{{b12,{2,0}},{-4,-4},{4,4},Slider2D,ControlPlacement->Right},{{b21,{3,0}},{-4,-4},{4,4},Slider2D,ControlPlacement->Left},{{b22,{4,0}},{-4,-4},{4,4},Slider2D},ControlPlacement->Right]

Feladat

Határozzuk meg a Gers. köröket és adjunk becslést a sajátértékének abszolút értékére.

A=(({{12, -2, 1}, {-2, 15, 3}, {1, -2, 10}}));

Eigenvalues[A]

Eigenvalues[Transpose[A]]

EVL=Eigenvalues[A]

{Min[Abs[EVL]],Max[Abs[EVL]]}

g1=Show[Graphics[GerschgorinDisks[A]],Sequence@@Map[Graphics[{RGBColor[1,0,0],PointSize[.02],Point[#]}]&,EVCoord[EVL]],Axes->True,ImageSize->{400,300},PlotRange->{{0,25},{-6,6}},AspectRatio->Automatic]

g2=Graphics[{Red,Circle[{0,0},Norm[A,∞]],Circle[{0,0},7]}];

Show[g2,g1]

Megjegyzés. Köv.: 7≤|(Subscript[λ, i])|≤20

B=(({{8, 1, 0}, {1, 4, 1/2}, {0, 1/2, 1}}));

Det[B]

A B mátrix pozitív definit

EVL=Eigenvalues[B]//N

Show[Graphics[GerschgorinDisks[B]],Sequence@@Map[Graphics[{RGBColor[1,0,0],PointSize[.02],Point[#]}]&,EVCoord[EVL]],Axes->True,ImageSize->{400,300},PlotRange->{{0,10},{-4,4}},AspectRatio->Automatic]

Vektornorma, mátrixnorma, spektrálsugár

Vektornorma

a1={1,2,3}; a2={-2,4+3I,-9};

{Norm[a1],Norm[a2]}

?Norm

(-2)^2+Abs[(4+3I)]^2+(-9)^2

A default a kettes norma

{Norm[a1,2],Norm[a2,2]}

Black box fázis (built–in szolgáltatás):  Norm
White box fázis:  My2Norm

My2Norm[v_]:=(Sqrt[(∑_(k=1)^(Length[v]))((Abs[v[[k]]])^2)])

My2Norm[a2]

My2Norm[{1,1,1,1}]

My2Norm[{1,2}]

Egyéb p-normák

{Norm[a1,1],Norm[a2,1]}

{Norm[a1,∞],Norm[a2,∞]}

Mátrixnorma

Itt: vektornormából származtatott mátrixnorma.
A default itt is a kettes.

Memo: ||A(Subscript[||, ∞])=(max_i)(∑_j)|(Subscript[a, i j])|
             ||A(Subscript[||, 1])=(max_j)(∑_i)|(Subscript[a, i j])|

A=(({{1, 9-3I, 4}, {2, 5, 6}, {-I, 6, 8}}));

Norm[A,1]

N[%]

Norm[A,∞]

B=(({{1, 2, 4}, {2, 5, 6}, {4, 6, 8}}));

{Norm[B,1],Norm[B,∞]}

A két norma (sor és oszlop) ugyanaz, mert a mátrix szimmetrikus

Kettes norma

Norm[B,2]

FullSimplify[%]

Max[Abs[Eigenvalues[B]]]

Ez nem teljesen véletlen: szimmetrikus mátrixok esetében a spektrálsugár megegyezik a 2-es normával.
||A||=(Sqrt[ρ((A^H)A)])

Ellenôrizzük ezt az A mátrixra

Norm[A,2]//N

ConjugateTranspose[A].A//MatrixForm

Sqrt[Max[Abs[Eigenvalues[ConjugateTranspose[A].A]]]//N]

Neumann sor

Konvergens-e? Ha igen, hova konvergál?

I+B+(B^2)+…+(B^m)+…=(∑_(m=0)^∞)(B^m)

B=(({{(1/2), 0}, {0, -(3/4)}}));
I2=IdentityMatrix[2];

SB={I2+B,I2+B+B.B,I2+B+MatrixPower[B,2],MatrixPower[B,3]};Map[MatrixForm[#]&,SB]

Map[MatrixForm[N[#]]&,SB]

MySB[M_,n_]:=(∑_(i=0)^(n-1))MatrixPower[M,i]

Table[MySB[B,n]//MatrixForm,{n,20}]//N

Inverse[IdentityMatrix[2]-B]//N//MatrixForm

N[4/7]

Feladat

B2=(({{(1/4), (1/2)}, {(1/2), -(1/4)}})) ∑(B2^n)=?

B2=(({{(1/4), (1/2)}, {(1/2), -(1/4)}}));

B2

Table[MySB[B2,n]//MatrixForm,{n,20,26}]//N

Norm[B2,1]

Inverse[IdentityMatrix[2]-B2]//N//MatrixForm

Inverse[IdentityMatrix[2]-B2]//MatrixForm

Feladatok

Ábrázoljuk az 1 normájú vekrrookat a síkon.

Manipulate[ContourPlot[{Norm[{x1,x2},p]==1,Norm[{x1,x2},∞]==1},{x1,-2,2},{x2,-2,2}],{p,1,5,1}]

ContourPlot[Norm[{x1,x2},1]==1,{x1,-2,2},{x2,-2,2}]

ContourPlot3D[Norm[{x1,x2,x3},2]==1,{x1,-2,2},{x2,-2,2},{x3,-2,2}]

Mutassuk meg, hogy az A mátrixnak sajátvektorrendsere  ONB, valamint a sajátértékek pozitívek.

A={{2,2},{2,5}};

Norm[A,2]

Q=Map[#/Norm[#]&,Eigenvectors[A]]

Q.A.Transpose[Q]//Simplify//MatrixForm

Eigenvalues[A]

(Subscript[Aq, 1]) a legnagyobb normájú vektor (ahol (Subscript[q, 1]) egységvektor)

Q[[1]]

Norm[A.Q[[1]]]//Simplify

Maximize[{Norm[A.{x1,x2}],Norm[{x1,x2}]==1},{x1,x2}]

Keressünk egy olyan vektort, melyre ||(Subscript[A, 3])x(Subscript[||, ∞])max (Tipp: signum fgv)

A3={{1,2,3},{3-4I,8,9},{7,5,6}};

Norm[A3,∞]

x0={5/(3-4I),1,1};

Norm[x0,∞]

Norm[A3.x0,∞]