Diszkrét matematika III gyakorlat
Linkek:
2.2(a),
2.2(b),
2.2(c),
2.2(e)
2.3(a),
2.3(c),
2.4,
2.6(a),
2.7(b),
2.7(c),
2.8(a),
2.8(c),
2.8(d),
2.9(a),
2.9(b),
2.9(e),
2.10(b),
2.10(c),
2.10(g)
2.2(b) feladat
A vektorokat egymás alá írjuk (sorvektorok), és redukált lépcsős alakra hozzuk a kapott mátrixot (a racionális számtest felett):
A = matrix(QQ, [[1,-2,4],[2,-3,1],[-4,5,5]])
A, A.rref()
Mivel elemi sorátalakítások nem változtatják meg a mátrix sorvektorai által kifeszített alteret, a fenti redukált lépcsős alakból kiolvasható, hogy
- az S:=[v1, v2, v3] altér ugyanaz, mint a [b1, b2] altér, ahol b1 = (1,0,-10), b2 = (0,1,-7);
- az S altér 2-dimenziós (mert pl. b1, b2 egy bázisa);
- a [v1, v2, v3] vektorrendszer rangja 2;
- a v1, v2, v3 vektorrendszer lineárisan (össze)függő.
Mindez jól látszik, ha kirajzoljuk a vektorokat:
v1 = arrow3d((0,0,0), (1,-2,4), 4, color='blue')
v2 = arrow3d((0,0,0), (2,-3,1), 4, color='red')
v3 = arrow3d((0,0,0), (-4,5,5), 4, color='green')
b1 = arrow3d((0,0,0), (1,0,-10), 4, color='orange')
b2 = arrow3d((0,0,0), (0,1,-7), 4, color='orange')
var('x,y,z')
S=implicit_plot3d(10*x+7*y+z==0, (x,-5,6), (y,-5,6), (z,-5,6), color='yellow')
v1+v2+v3+S+b1+b2
#Ez NEM vektorösszeadás! (A SageMath így jelöli, hogy mit kell kirajzolni.)
Ha a vektorokat egymás mellé írjuk (oszlopvektorok), és redukált lépcsős alakra hozzuk a kapott mátrixot (a racionális számtest felett), akkor ezt kapjuk:
B = matrix(QQ, [[1,2,-4],[-2,-3,5],[4,1,5]])
B, B.rref()
Mivel elemi sorátalakítások nem változtatják meg a mátrix oszlopvektorai közötti lineáris összefüggéseket, a fenti redukált lépcsős alakból kiolvasható, hogy
- v1, v2 lineárisan független vektorrendszer;
- v3 = 2v1 - 3v2;
- a v1, v2, v3 vektorrendszer lineárisan (össze)függő;
- a v1, v2, v3 vektorrendszer rangja 2 (mert pl. v1, v2 egy maximális lin. fgtl. részrendszere);
- dim S = 2 (pl. v1, v2 egy bázisa).
Ezt is kirajzolhatjuk:
v1 = arrow3d((0,0,0), (1,-2,4), 7, color='blue')
v1a = arrow3d((0,0,0), (2,-4,8), 7, color='lightblue')
v1b = arrow3d((-6,9,-3), (-4,5,5), 7, color='lightblue')
v2 = arrow3d((0,0,0), (2,-3,1), 7, color='red')
v2a = arrow3d((0,0,0), (-6,9,-3), 7, color='pink')
v2b = arrow3d((2,-4,8), (-4,5,5), 7, color='pink')
v3 = arrow3d((0,0,0), (-4,5,5), 7, color='green')
ize = arrow3d((0,0,0), (1,0,0), 7, color='purple')
var('x,y,z')
S=implicit_plot3d(10*x+7*y+z==0, (x,-5,6), (y,-5,6), (z,-5,6), color='yellow')
v1a+v1b+v2a+v2b+v1+v2+v3+S
Fun fact: a fenti A mátrix sorvektorai (kék, piros, zöld vektorok) természetesen egész más alteret generálnak, mint az oszlopvektorai, azaz B sorai (fekete vektorok), de a két altér dimeziója megegyezik (mindkettő 2-dimenziós):
v1 = arrow3d((0,0,0), (1,-2,4), 5, color='blue')
v2 = arrow3d((0,0,0), (2,-3,1), 5, color='red')
v3 = arrow3d((0,0,0), (-4,5,5), 5, color='green')
o1 = arrow3d((0,0,0), (1,2,-4), 5, color='black')
o2 = arrow3d((0,0,0), (-2,-3,5), 5, color='black')
o3 = arrow3d((0,0,0), (4,1,5), 5, color='black')
var('x,y,z')
S=implicit_plot3d(10*x+7*y+z==0, (x,-5,6), (y,-5,6), (z,-5,6), color='yellow')
T=implicit_plot3d(-2*x+3*y+z==0, (x,-5,6), (y,-5,6), (z,-5,6), color='gray')
v1+v2+v3+o1+o2+o3+S+T
A mátrixok rangszámtétele szerint ez minden mátrix esetén így van: a sorrang mindig megegyezik az oszlopranggal.
2.2(a) feladat
A vektorokat egymás alá írjuk (sorvektorok), és redukált lépcsős alakra hozzuk a kapott mátrixot (a racionális számtest felett):
A = matrix(QQ, [[1,2,1],[1,-1,1],[1,1,0]])
A, A.rref()
Mivel elemi sorátalakítások nem változtatják meg a mátrix sorvektorai által kifeszített alteret, a fenti redukált lépcsős alakból kiolvasható, hogy
- S := [v1, v2, v3] = [e1, e2, e3] = R3, ahol e1 = (1,0,0), e2 = (0,1,0), e3 = (0,0,1);
- dim S = 3;
- a [v1, v2, v3] vektorrendszer rangja 3;
- a v1, v2, v3 vektorrendszer lineárisan független.
Mindez jól látszik, ha kirajzoljuk a vektorokat:
v1 = arrow3d((0,0,0), (1,2,1), 2, color='blue')
v2 = arrow3d((0,0,0), (1,-1,1), 2, color='red')
v3 = arrow3d((0,0,0), (1,1,0), 2, color='green')
v1+v2+v3
Ha a vektorokat egymás mellé írjuk (oszlopvektorok), és redukált lépcsős alakra hozzuk a kapott mátrixot (a racionális számtest felett), akkor ezt kapjuk:
B = matrix(QQ, [[1,1,1],[2,-1,1],[1,1,0]])
B, B.rref()
Mivel elemi sorátalakítások nem változtatják meg a mátrix oszlopvektorai közötti lineáris összefüggéseket, a fenti redukált lépcsős alakból kiolvasható, hogy
- semmilyen nemtriviális lineáris összefüggés nem teljesül a vektoraink között, vagyis
- v1, v2, v3 lineárisan független vektorrendszer;
- a [v1, v2, v3] vektorrendszer rangja 3;
- dim S = 3.
2.2(c) feladat
A = matrix(QQ, [[1,-2,3,4],[0,-3,1,2],[2,-4,5,9]])
A, A.rref()
2.2(e) feladat
A = matrix(GF(5), [[4,2,2,3],[4,0,1,1],[3,0,2,2],[4,4,3,0]])
A, A.rref()
WTF?
A = matrix(RR,[[27.6, 30.2, 162], [3100, 6400, 23610], [250, 360, 1623]]);
A, A.rref(), A.det()
2.3(a) feladat
Számolás:
A = matrix(QQ, [[1,2,3],[2,5,6],[3,5,9],[0,1,0]])
A, A.rref()
Rajzolás:
v1 = arrow3d((0,0,0), (1,2,3), 4, color='blue')
v2 = arrow3d((0,0,0), (2,5,6), 4, color='red')
v3 = arrow3d((0,0,0), (3,5,9), 4, color='green')
v4 = arrow3d((0,0,0), (0,1,0), 4, color='orange')
v1+v2+v3+v4
2.3(c) feladat
Számolás:
A = matrix(QQ, [[1,-2,3],[-3,6,-9],[2,-4,6],[-4,8,-12]])
A, A.rref()
Rajzolás:
v1 = arrow3d((0,0,0), (1,-2,3), 10, color='blue')
v2 = arrow3d((0,0,0), (-3,6,-9), 10, color='red')
v3 = arrow3d((0,0,0), (2,-4,6), 10, color='green')
v4 = arrow3d((0,0,0), (-4,8,-12), 10, color='orange')
v3+v4+v1+v2
2.4. feladat
A = matrix(GF(5), [[1,2,3,4,0],[2,2,4,0,3],[3,4,2,4,3],[4,0,2,1,3]])
A, A.rref()
2.6(a) feladat
A = matrix(GF(2), [[1,0,1,1], [1,1,1,0], [1,0,0,0]])
A.subdivide(None,3)
A, A.rref()
2.7(b) feladat
U_gen = matrix(QQ, [[1,2,4,1], [-2,-4,-5,-3], [-1,-2,-7,0], [1,2,-2,3]])
U_gen, U_gen.rref()
2.7(c) feladat
U_gen = matrix(GF(5), [[1,4,2,3], [2,3,4,2]])
U_gen, U_gen.rref()
2.8(a) feladat
v1 = arrow3d((0,0,0), (1,0,2), 3, color='blue')
v2 = arrow3d((0,0,0), (0,1,0), 3, color='red')
var('x1,x2,x3')
S=implicit_plot3d(2*x1-x3==0, (x1,-1,3), (x2,-1,3), (x3,-1,3), color='yellow')
v1+v2+S
2.8(c) feladat
U_egyrsz = matrix(GF(3), [[1,2,1,0,0], [0,1,1,1,0]])
U_egyrsz.subdivide(None,4)
U_egyrsz, U_egyrsz.rref()
2.8(d) feladat
U_egyrsz = matrix(QQ, [[1,-1,3,-2,0], [2,1,-1,-1,0], [0,1,1,1,0]])
U_egyrsz.subdivide(None,4)
U_egyrsz, U_egyrsz.rref()
2.9(a) feladat
U_gen = matrix(QQ, [[1,1,1], [-2,2,-2], [3,-1,3]])
U_gen, U_gen.rref()
Rajzzal is ellenőrizhetjük a megoldást:
v1 = arrow3d((0,0,0), (1,1,1), 3, color='blue')
v2 = arrow3d((0,0,0), (-2,2,-2), 3, color='red')
v3 = arrow3d((0,0,0), (3,-1,3), 3, color='green')
var('x1,x2,x3')
S=implicit_plot3d(x1-x3==0, (x1,-3,3), (x2,-3,3), (x3,-3,3), color='yellow')
v1+v2+v3+S
2.9(b) feladat
U_gen = matrix(QQ, [[-1,-1,-1], [-2,2,-2], [0,-1,3]])
U_gen, U_gen.rref()
Rajzzal is ellenőrizhetjük a megoldást:
v1 = arrow3d((0,0,0), (-1,-1,-1), 3, color='blue')
v2 = arrow3d((0,0,0), (-2,2,-2), 3, color='red')
v3 = arrow3d((0,0,0), (0,-1,3), 3, color='green')
v1+v2+v3
2.9(e) feladat
U_gen = matrix(GF(3), [[1,0,2,2,1], [1,1,2,0,2], [0,2,2,1,0]])
U_gen, U_gen.rref()
2.10(b) feladat
U1+U2 bázisának meghatározása:
összeg_gen = matrix(QQ, [[1,2,1,3], [0,-2,3,-1], [0,2,-3,1], [0,-2,4,-4], [0,-6,11,-9]])
összeg_gen, összeg_gen.rref()
U1 egyenletrendszerének meghatározása:
U1_gen = matrix(QQ, [[1,2,1,3], [0,-2,3,-1]])
U1_gen, U1_gen.rref()
U2 egyenletrendszerének meghatározása:
U2_gen = matrix(QQ, [[0,2,-3,1], [0,-2,4,-4], [0,-6,11,-9]])
U2_gen, U2_gen.rref()
U1∩U2 bázisának meghatározása:
metszet_egyrsz = matrix(QQ, [[4,-3/2,-1,0,0], [2,1/2,0,-1,0], [1,0,0,0,0], [0,-4,-3,-1,0]])
metszet_egyrsz.subdivide(None,4)
metszet_egyrsz, metszet_egyrsz.rref()
2.10(c) feladat
U1∩U2 bázisának meghatározása:
metszet_egyrsz = matrix(QQ, [[0,1,1,1,0], [1,1,0,0,0], [0,0,1,-2,0]])
metszet_egyrsz.subdivide(None,4)
metszet_egyrsz, metszet_egyrsz.rref()
U1+U2 bázisának meghatározása:
összeg_gen = matrix(QQ, [[1,0,0,0], [0,-1,1,0], [0,-1,0,1], [-1,1,0,0], [0,0,2,1]])
összeg_gen, összeg_gen.rref()
2.10(g) feladat
U1 bázisának meghatározása:
U1_egyrsz = matrix(GF(5), [[1,2,1,0,0], [1,4,0,0,0], [0,1,2,0,0]])
U1_egyrsz.subdivide(None,4)
U1_egyrsz, U1_egyrsz.rref()
U2 egyenletrendszerének meghatározása:
U2_gen = matrix(GF(5), [[1,1,2,1], [1,3,4,3], [4,3,2,3]])
U2_gen, U2_gen.rref()
U1+U2 bázisának meghatározása:
összeg_gen = matrix(GF(5), [[3,3,1,0], [0,0,0,1], [1,1,2,1], [1,3,4,3], [4,3,2,3]])
összeg_gen, összeg_gen.rref()
U1∩U2 bázisának meghatározása:
metszet_egyrsz = matrix(GF(5), [[1,2,1,0,0], [1,4,0,0,0], [0,1,2,0,0], [1,1,-1,0,0], [0,1,0,-1,0]])
metszet_egyrsz.subdivide(None,4)
metszet_egyrsz, metszet_egyrsz.rref()
Üres cellák