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

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

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

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

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