# Kedvenc Matematikai Kísérleteim

## Alapok

## Halmazok

## Számok

## Határérték

## Differenciálszámítás

## Integrálszámítás

## Lineáris algebra

### Mátrixok és vektorok

### Lineáris leképezések

### Belső szorzat

### Norma

### Példák

v:matrix([1,2]);

mat_norm(v,1);

mat_norm(v,inf);

mat_norm(v,frobenius);

v:transpose(v);

mat_norm(v,1);

mat_norm(v,inf);

mat_norm(v,frobenius);

### Belső szorzat

### Tétel

### Példa

u:[1,2]; v:[%i,4];

load(eigen)$

inprod(u,v);

Fizikus belső szorzat!

### Megjegyzés

### Szögek, euklideszi tér,
unitér tér

v:[3,4];

inprod(u,v)/(inprod(u,u)*inprod(v,v))^(1/2);

float(%), numer;

### Definíció

### Vegyes szorzat

### Pitagorasz-tétel

### Következmény

### Gram-Schmidt-ortogonalizálás

### Következmény

### Következmény

### Feladat

(1) Csak valósban, szimmetrikus

(2) Belső szorzat

y1:1; y2:t; y3:t^2;

u1:y1; x1:u1/(integrate(1*1,t,-1,1))^(1/2);

u2:y2-integrate(y2*x1,t,-1,1)*x1;

x2:u2/integrate(u2*u2,t,-1,1)^(1/2);

u3:y3-integrate(y3*x1,t,-1,1)*x1
   -integrate(y3*x2,t,-1,1)*x2;

x3:u3/integrate(u3*u3,t,-1,1)^(1/2);

expand(%);

Fizikus belső szorzat!

ip(f,g):=integrate(conjugate(f)*g,t,-1,1);

o:gramschmidt([1,t,t^2],ip);

unitv(x):=x/ip(x,x)^(1/2);

map(uvect,o);

(3) Belső szorzat

ip(f,g):=integrate(conjugate(f)*g
    +conjugate(diff(f,t))*diff(g,t),t,-1,1);

o:gramschmidt([1,t,t^2],ip);

map(unitv,o);

(4) Nem pozitív definit

(t-1)*(t-2);

(5) Belső szorzat,stb.

(6) Belső szorzat, stb.

### Feladat

(1)

acos(3/sqrt(12));

(2)

acos(-2/4);

(3)

acos(2/4);

### Tétel

### Az approximáció
alapfeladata normált térben

### A legjobb lineáris approximáció 
belső szorzat térben

### Következmény: Bessel-egyenlőtlenség

### Ortogonális felbontási tétel

### Következmény

### Következmény

### Feladat

(1)

gramschmidt([[3,0,0],[2,2,0],[1,1,1]]);

unitvector(%);

(2)

gramschmidt([[1,1,1],[2,2,0],[3,0,0]]);

unitvector(%);

(3)

gramschmidt([[1,2,-1],[2,1,0],[-4,1,5]]);

unitvector(%);

### Feladat

(1)

x:unitvector([1,1,1]);

p:[-2,3,-4];

f1:inprod(x,p);

f1*x;

(2)

gramschmidt([[1,1,1],[1,1,-1]]);

x:map(unitvector,%);

f1:inprod(x[1],p);

f2:inprod(x[2],p);

f1*x[1]+f2*x[2];

(3)

pp:[1,1,1];

gramschmidt([[1,0,1],[-1,0,1]]);

x:map(unitvector,%);

f1:inprod(x[1],p-pp);

f2:inprod(x[2],p-pp);

pp+f1*x[1]+f2*x[2];

(4)

p:[-2*%i,3*%i,-4-2*%i,5];

pp:[1,1,1,1];

gramschmidt([[1,%i,1,0],[%i,-1,0,1]]);

x:map(unitvector,%);

f1:inprod(x[1],p-pp);

f2:inprod(x[2],p-pp);

pp+f1*x[1]+f2*x[2];

ratsimp(%);

### Előállítási tétel

### Adjungált leképezés

### Tétel

### Adjungált operátor mátrixa

### Feladat

(1) saját maga

(2) saját maga

(3) az inverze

(4) az inverze

(5) saját maga

(6) saját maga

(7) az x tengellyel párhuzamos vetítés az y=x       egyenesre

(8) (x,y)->(x,x)

### Önadjungált és normális
transzformációk

### Példa

### Polarizációs formula

### Következmény

### Következmény

### Tétel

### Következmény

### Megjegyzés

### Tétel

### Segédtétel

### Normális transzformáció
átlós alakja

### Következmény

### Valós önadjungált transzformáció
átlós alakja

### Poláris felbontás

### Szinguláris érték felbontás

### Általánosított inverz

### Feladat

invert(matrix([1,1],[0,c]));

### Tétel

### Tétel: QR-felbontás

### Megjegyzés

### Feladat

(1)

a:matrix([0,0,0,0],[1,0,0,0],
    [0,1,0,0],[0,0,1,0]);

b:ctranspose(a);

a . b; b . a; is(equal(a . b,b . a));

Nem normális

(2)

a[1,4]:1;

a;

b:ctranspose(a);

a . b; b . a; is(equal(a . b,b . a));

Ortogonális, unitér

eivects(a);

nondiagonalizable;

hermitianmatrix:true;

eivects(a);

ueivects(a);

simtran(a);

leftmatrix; rightmatrix;
is(equal(leftmatrix,ctranspose(rightmatrix)));

(3)

a:matrix([1,1,1,1],[0,0,0,0],[0,0,0,0],[0,0,0,0]);

b:ctranspose(a);

a . b; b . a; is(equal(a . b,b . a));

Nem normális

(4)

a:matrix([1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]);

b:ctranspose(a);

is(equal(a,b));

Szimmetrikus, önadjungált

simtran(a);

leftmatrix; rightmatrix;
is(equal(leftmatrix,ctranspose(rightmatrix)));

(5)

a:matrix([1,0,0,-1],[-1,1,0,0],
    [0,-1,1,0],[0,0,-1,1]);

b:ctranspose(a);

a . b; b . a; is(equal(a . b,b . a));

Normális

simtran(a);

leftmatrix; rightmatrix;
is(equal(leftmatrix,ctranspose(rightmatrix)));

(6)

a:1/4*matrix([1,1,1,1],[-1,-1,-1,-1],
    [1,1,1,1],[-1,-1,-1,-1]);

b:ctranspose(a);

a . b; b . a; is(equal(a . b,b . a));

Nem normális

Eddig van kész!

### Feladat

kill(all);

load("eigen");

h:hilbert_matrix(15);

determinant(h);

x:covect([1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]);

b:h.x;

hf:float(h);

lu_factor(hf,floatfield);

A szinguláris érték felbontást QR-felbontásssal fogjuk kiszámolni

h2f:hf.hf;

Ez lenne az első lépés, de ne indítsuk el, túl sokáig tart!

ueivects(h2f);

A QR felbontással boldogulhatunk.

keepfloat:true;

factor(x):=x;

Lhh:gramschmidt(hf);

Lhhn:map(uvect,Lhh);

Lhf:args(hf);

n:15;

R:zeromatrix(n,n);

for i:1  thru n do
  for j:1 thru n do
    R[j,i]:innerproduct(Lhf[i],Lhhn[j]);

R;

R:zeromatrix(n,n)$

for i:1 thru n do
  for j:1 thru i do
    R[j,i]:innerproduct(Lhf[i],Lhhn[j]);

R;

Q:transpose(apply('matrix,Lhhn));

Q.R-hf;

### Feladat

kill(all);

load("eigen");

Az első esetben:

x1:1; x:covect([1,0]);

x1:1; x2:2*10^13; x:covect([x1,x2]);

### Tyihonov-regularizáció

### Feladat

kill(all);

load("eigen");

A:matrix([1,1],[0,c]);

b:covect([a,a]);

x:covect([x1,x2]);

A.x-b;

f:(%[1]^2+%[2]^2)[1];

eqf1:diff(f,x1);

eqf2:diff(f,x2);

linsolve([eqf1,eqf2],[x1,x2]);

g:f+δ*(x1^2+x2^2);

eqg1:diff(g,x1);

eqg2:diff(g,x2);

linsolve([eqg1,eqg2],[x1,x2]);

limit(%,δ,0);