1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
from manimlib.imports import *
class null_space(LinearTransformationScene):
def construct(self):
self.setup()
self.wait()
o = TextMobject(r"This is the original vector space $R^2$(before Linear Transformation)")
o.move_to(3*DOWN)
o.scale(0.75)
o.add_background_rectangle()
self.play(Write(o))
self.wait()
self.play(FadeOut(o))
o1 = TextMobject("Consider a set of vectors which are linear")
o2 = TextMobject(r"span of a particular vector $\left(\begin{array}{c} 1 \\ 1 \end{array}\right)$")
o1.move_to(2*DOWN+3*RIGHT)
o2.move_to(2.75*DOWN+3*RIGHT)
o1.scale(0.7)
o2.scale(0.7)
o1.add_background_rectangle()
o2.add_background_rectangle()
self.play(Write(o1))
self.play(Write(o2))
arrow = Arrow(start = ORIGIN, end = UP+RIGHT)
arrow1 = Arrow(start = ORIGIN, end = 2*(UP+RIGHT))
arrow2 = Arrow(start = ORIGIN, end = 3*(UP+RIGHT))
arrow3 = Arrow(start = ORIGIN, end = 4*(UP+RIGHT))
arrow4 = Arrow(start = ORIGIN, end = DOWN+LEFT)
arrow5 = Arrow(start = ORIGIN, end = 2*(DOWN+LEFT))
arrow6 = Arrow(start = ORIGIN, end = 3*(DOWN+LEFT))
arrow7 = Arrow(start = ORIGIN, end = 4*(DOWN+LEFT))
arrow.scale(1.5)
arrow1.scale(1.2)
arrow2.scale(1.15)
arrow3.scale(1.1)
arrow4.scale(1.5)
arrow5.scale(1.2)
arrow6.scale(1.15)
arrow7.scale(1.1)
self.play(ShowCreation(arrow),
ShowCreation(arrow1),
ShowCreation(arrow2),
ShowCreation(arrow3),
ShowCreation(arrow4),
ShowCreation(arrow5),
ShowCreation(arrow6),
ShowCreation(arrow7),
)
self.wait(2)
self.play(FadeOut(o1), FadeOut(o2))
self.add_transformable_mobject(arrow)
self.add_transformable_mobject(arrow1)
self.add_transformable_mobject(arrow2)
self.add_transformable_mobject(arrow3)
self.add_transformable_mobject(arrow4)
self.add_transformable_mobject(arrow5)
self.add_transformable_mobject(arrow6)
self.add_transformable_mobject(arrow7)
o1 = TextMobject("Notice, entire set of vectors which belongs to the vector")
o2 = TextMobject(r"subspace(Linear Span of $\left(\begin{array}{c} 1 \\ 1 \end{array}\right)$) transforms to zero")
o1.move_to(2*DOWN+2.5*RIGHT)
o2.move_to(2.75*DOWN+2.5*RIGHT)
o1.scale(0.7)
o2.scale(0.7)
o1.add_background_rectangle()
o2.add_background_rectangle()
self.play(Write(o1))
self.play(Write(o2))
self.wait()
matrix = [[1,-1],[1,-1]]
self.apply_matrix(matrix)
self.wait()
self.play(FadeOut(o1), FadeOut(o2))
o = TextMobject(r"Hence, the vector space formed by linear span of $\left(\begin{array}{c} 1 \\ 1 \end{array}\right)$ is the null space of $A$")
o.move_to(3*DOWN)
o.scale(0.75)
o.add_background_rectangle()
self.play(Write(o))
self.wait(2)
self.play(FadeOut(o), FadeOut(arrow), FadeOut(arrow1), FadeOut(arrow2), FadeOut(arrow3), FadeOut(arrow4), FadeOut(arrow5), FadeOut(arrow6), FadeOut(arrow7))
|