dom

536 days ago by guciosuav

A=matrix(QQ,3,3,[1,2,3,4,5,6,7,8,3]) print A.rank() #rzad macierzy print A.transpose() #transponowanie print A.det() #wyznacznik print A.trace() #ślad ##pierscienie-Zmod(n) 
       
3
[1 4 7]
[2 5 8]
[3 6 3]
18
9
print [2^k for k in range (10)] #przykład listy, jak tab w cpp, numerowane od 0 
       
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
A=[1,2,3,4] A.append(8) #wydłuża liste dodajac na koncu element A #ls.extend([...]) wydłuza liste o inną listę 
       
A=matrix(QQ,2,2,[1,2,3,4]) B=matrix(QQ,2,1,[3,6]) C=matrix(QQ,1,2,[7,8]) D=matrix(QQ,1,1,[9]) block_matrix(2,2,[A,B,C,D], subdivide=true) #macierz blokowa stworzona z macierzy, false/true w zaleznosci czy ma pokazywac linie podzialu czy nie 
       
[1 2|3]
[3 4|6]
[---+-]
[7 8|9]
prz=QQ^4 #przestrzen dla wymiernych 4-elementowych v1=vector(QQ,[1,2,3,4]) v2=vector(QQ,[2,3,4,5]) v3=vector(QQ,[3,4,5,6]) lv=[v1,v2,v3] V=prz.span(lv) ## podprzestrzen rozpieta przez wektory powyzej print V.dimension() #wymiar podprzestrzeni print " " V.basis() #baza 
       
2
 
[
(1, 0, -1, -2),
(0, 1, 2, 3)
]
w1=vector(QQ,[1,1,1,0]) w2=vector(QQ,[0,-1,0,0]) w3=vector(QQ,[0,1,0,1]) lw=[w1,w2,w3] W=prz.span(lw) 
       
print W+V #suma algebraiczna print " " print W.intersection(V) #przekrój print "__________________" 
       
Vector space of degree 4 and dimension 4 over Rational Field
Basis matrix:
[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]
 
Vector space of degree 4 and dimension 1 over Rational Field
Basis matrix:
[1 1 1 1]
__________________
A=matrix(QQ,2,4,[1,2,3,4,5,6,7,8]) a=linear_transformation(A, side='right') b=vector(QQ,[2,2]) print a.lift(b) #b to po prostu rozwiazania macierzy czyli cyfry stojące po równa sie w macierzy i to rozwiazanie dla takich wartości, mozna podstawic zera i bedzie jednorodne print a.kernel().basis() #baza rozwiazan równania jednorodnego #a.kernel()-jadro,a.image()-obraz 
       
(-2, 2, 0, 0)
[
(1, 0, -3, 2),
(0, 1, -2, 1)
]
pier.<y>=QQ[] #pierscien wielomianów o zmiennej y o współczynnikach w QQ w=y^2+1 #wielomian dla zmiennej y A=matrix(QQ,2,2,[0,-1,-1,0]) print A print w(y=A) #tylko jezeli A to macierz kwadratowa to w(y=A) to w(A) 
       
[ 0 -1]
[-1  0]
[2 0]
[0 2]
A=matrix(QQ,2,2,[1,2,3,4]) a=linear_transformation(A,side='right') R.<y>=QQ[] a.charpoly(y) #jezeli a to przestrzen wekt. ze zmienna wielomianową to charpoly to wielomian charakterystyczny 
       
y^2 - 5*y - 2
#spr tw Hamiltona_Caylela "mówi, że każda macierz kwadratowa nad ciałem liczb rzeczywistych lub zespolonych jest pierwiastkiem swojego wielomianu charakterystycznego.". innymi słowy złożenie wielomianu charakterystycznego z macierzą powinno dać macierz zerową A=matrix(QQ,3,3,[1,2,3,4,5,6,7,8,0]) print A print ' ' a=linear_transformation(A,side='right') R.<z>=QQ[] x=a.charpoly(z) x(z=A) 
       
[1 2 3]
[4 5 6]
[7 8 0]
 
[0 0 0]
[0 0 0]
[0 0 0]
A=diagonal_matrix(QQ,[1,1,2]) #macierz diagonalna a=linear_transformation(A,side='right') a.eigenvalues(extend=False) #lista K-zer wielomianu charatkerystycznego 
       
[2, 1, 1]
A=matrix(QQ,3,3,[0,0,6,1,0,-11,0,1,6]) print A a=linear_transformation(A,side='right') print ' ' a.eigenvectors(extend=False) #wektory własne 
       
[  0   0   6]
[  1   0 -11]
[  0   1   6]
 
[(3, [
(1, -3/2, 1/2)
], 1), (2, [
(1, -4/3, 1/3)
], 1), (1, [
(1, -5/6, 1/6)
], 1)]
B=matrix(QQ,1,3,[3,0,1]) P=B.transpose()*(B*B.transpose())^(-1)*B print P print P^2 print '[slad,rzad] = ', [P.trace(), P.rank()] 
       
[9/10    0 3/10]
[   0    0    0]
[3/10    0 1/10]
[9/10    0 3/10]
[   0    0    0]
[3/10    0 1/10]
[slad,rzad] =  [1, 1]
p=linear_transformation(P,side='right') v=vector(QQ,[1,2,3]) rzutv=p(v) rozn=v-rzutv d2=rozn.inner_product(rozn) #standard iloczynu skalarnego print 'odleglosc^2= ', d2 
       
odleglosc^2=  52/5
#wyliczyc macierz Pw, Pw_|_ gdzie W to macierz B=matrix(QQ,2,4,[1,2,3,4,4,3,2,1]) P=B.transpose()*(B*B.transpose())^(-1)*B print P #Pw print P^2 -P #Pw_|_ print '[slad,rzad] = ', [P.trace(), P.rank()] 
       
[7/10  2/5 1/10 -1/5]
[ 2/5 3/10  1/5 1/10]
[1/10  1/5 3/10  2/5]
[-1/5 1/10  2/5 7/10]
[0 0 0 0]
[0 0 0 0]
[0 0 0 0]
[0 0 0 0]
[slad,rzad] =  [2, 2]
p=linear_transformation(P,side='right') v=vector(QQ,[1,1,3,1]) rdo=v-p(v) # rzut na podprzestrzen ortogonalną d2=rdo.inner_product(rdo) print 'odleglosc^2= ', d2 
       
odleglosc^2=  14/5
#sprawdza tw kapelaniego czy ma roziwazania czy nie def kcapelli(Maugumented): M = Maugumented[range(Maugumented.nrows()), range(Maugumented.ncols() - 1)] if M.rank() != Maugumented.rank(): return 'Brak rozwiazan' else: return ('Rozwiazania tworza przestrzen wymiaru ' + str(M.ncols() - M.rank())) 
       
A=matrix(QQ,3,3,[1,1,1,1,1,1,1,1,1]) B=matrix(QQ,3,3,[1,1,7,5,9,5,4,5,6]) C=matrix(QQ,3,3,[1,7,3,4,4,3,2,3,4]) 
       
[kcapelli(M) for M in [A,B,C]] 
       
['Rozwiazania tworza przestrzen wymiaru 1', 'Brak rozwiazan', 'Brak
rozwiazan']
G=matrix(QQ,3,3,[1,2,3,2,4,5,3,5,6]) q=QuadraticForm(G) #forma kwadratowa z macierza wspolczynników G print G print q.matrix() print q.polynomial('y') print q.signature_vector() #sygnatura wektorowa 
       
[1 2 3]
[2 4 5]
[3 5 6]
[1 2 3]
[2 4 5]
[3 5 6]
y0^2 + 4*y0*y1 + 4*y1^2 + 6*y0*y2 + 10*y1*y2 + 6*y2^2
(2, 1, 0)
A=matrix(QQ,[[1,2], [3,4]]) B=matrix(QQ,[[0,1], [1,0]]) lista1=[A,B] lista2=[B,A] print sum(lista1) print prod(lista1) #mnozenie macierzy print prod(lista2) 
       
[1 3]
[4 4]
[2 1]
[4 3]
[3 4]
[1 2]
#rozkład spektralny A=matrix(QQ,2,2,[1,2,2,1]) print A; a=linear_transformation(A,side='right') ew=a.eigenvectors() spk=[el[0] for el in ew] print 'spektrum= ', spk mB=[matrix(QQbar,el[1]) for el in ew] mP=[B.transpose()*(B*B.transpose())^(-1)*B for B in mB] print 'macierze rzutów:' print mP print 'suma macierzy rzutów:' print sum(mP) iloczyny=[spk[i]*mP[i] for i in range(len(ew))] print 'suma iloczynow:' print sum(iloczyny) 
       
[1 2]
[2 1]
spektrum=  [3, -1]
macierze rzutów:
[[1/2 1/2]
[1/2 1/2], [ 1/2 -1/2]
[-1/2  1/2]]
suma macierzy rzutów:
[1 0]
[0 1]
suma iloczynow:
[1 2]
[2 1]
A=matrix(QQ,2,2,[1,2,3,4]) B=matrix(QQ,2,1,[4,5]) Aroz=block_matrix(1,2,[A,B]) if A.rank()==Aroz.rank(): print 'niesprzeczny' else: print 'sprzeczny' 
       
niesprzeczny
for i in range (8): print i^2 print '___' 
       
0
___
1
___
4
___
9
___
16
___
25
___
36
___
49
___
#funkcje def minimalna(x,y): if(x<y): return(x) return(y) print minimalna(5,33) print minimalna(3,5) 
       
5
3
#grafika var('x,y') 
       
(x, y)
plot(sin(x),(x,-5,5),aspect_ratio=1) 
       
plot([sin(3*x),cos(2^x)],(x,-5,6)) 
       
parametric_plot((sin(x),cos(x)),(x,0,2*pi)) 
       
implicit_plot(x^2+y^2==1,(x,-1,1),(y,-1,1)) 
       
pkty=[(i/10, sin(i/10)) for i in range(-50,50)] points(pkty,aspect_ratio=1,color='red') 
       
pkty=[(cos(i*pi/5), sin(i*pi/5)) for i in range(11)] line(pkty, aspect_ratio=1,color='red') 
       
p1=plot(sin(x),(x,-5,5),color='red') p2=plot(cos(x),(x,-5,5),color='blue') p=p1+p2 p.show(aspect_ratio=1) 
       
B=matrix(RR,2,2,[0,-0.9,0.9,0]) b=linear_transformation(B,side='right') p=vector(RR,[1,1]) trajek=[(b^k)(p) for k in range(30)] points(trajek, aspect_ratio=1) 
       
var('x,y,z') 
       
(x, y, z)
plot3d((4-x^2-y^2)^(1/2), (x,-1,1),(y,-1,1)) 
       
lista=[k*pi/50 for k in range(100)] pkty=[(cos(x),sin(x)) for x in lista] gr1=points(pkty) A=matrix(RR,2,2,[1,1,0,1]) a=linear_transformation(A, side='right') apkty=[a(x) for x in pkty] gr2=points(apkty,color='red') gr=gr1+gr2 gr.show(aspect_ratio=1) 
       
var('x,y') def hypergr(c): gr=implicit_plot(x^2-y^2==c,(x,-2,2),(y,-2,2)) return(gr) lgr=[hypergr(c/10) for c in range (-10,11)] an=animate(lgr) an.show() 
       
var('x') def singr(c): pom=[sin(c*pi/10)*sin(x),sin(x),-sin(x)] gr=plot(pom,(x,0.2*pi),aspect_ratio=1) return(gr) lgr=[hypergr(c/10) for c in range(-10,11)] an=animate(lgr) an.show() 
       
S=matrix(QQ,3,3,[1,2,3,2,5,5,3,5,6]) print S print "__" SLU=S.LU(pivot='nonzero') L=SLU[1] Lo=L^(-1) Sdiag=Lo*S*Lo.transpose() print Sdiag #zamina na postac diagonalna z wart wł po przek chyba ale nie jestem pewny 
       
[1 2 3]
[2 5 5]
[3 5 6]
__
[ 1  0  0]
[ 0  1  0]
[ 0  0 -4]
def macierz_grama(piescien,ciag,ils): n=len(ciag) G=matrix(piescien,n,n) for i in range (n): for j in range(n): G[i,j]=ils(ciag[i],ciag[j]) return(G) 
       
def ils1(a,b): return(sum([a[i]*b[i] for i in range (len(a))])) ciag=[(1,2),(3,4)] macierz_grama(QQ,ciag,ils1) 
       
[ 5 11]
[ 0  0]
var('x') def ils2(a,b): return(integral(a*b,(x,0,1))) ciag=[x^0,x^1,x^2] macierz_grama(SR,ciag,ils2) 
       
[  1 1/2 1/3]
[  0   0   0]
[  0   0   0]
B=matrix(QQ,3,4,[1,2,3,0,1,2,3,1,1,0,0,0]) print B print '___' G=B*B.transpose() GLU=G.LU(pivot='nonzero') L=GLU[1] GrSchB=L^(-1)*B print GrSchB 
       
[1 2 3 0]
[1 2 3 1]
[1 0 0 0]
___
[    1     2     3     0]
[    0     0     0     1]
[13/14  -1/7 -3/14     0]