experimental mathematics 25 august 2011 linear transformations and ranks
TRANSCRIPT
![Page 1: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/1.jpg)
Experimental Mathematics
25 August 2011
Linear Transformations and Ranks
![Page 2: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/2.jpg)
Recall from Linear Algebra I:
Let V and W be vector spaces. A linear transformation
WVT : is a function with the following properties:
VvuvTuTvuTi , allfor )()()( )(
R cVvvcTcvTii , allfor )()( )(
Basic example of a linear transformation
Axx
RR
A
)(
bygiven
:
nnsformatiolinear tra a determines matrix An
T
T
nmmn
![Page 3: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/3.jpg)
Visualizing Vectors
To visualize linear transformations, we need to be able to visualize vectors first. Try the following in Sage:
v = vector([1,2])w = vector([4,1])plot(v) + plot(w) + plot(v - w)
The Sage function on the next slide plots the vectors in a list L in different colors (it is not necessary to understand the details of the function, we just use it as a tool).
![Page 4: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/4.jpg)
Vector Plotting Function
def vector_plotter(vec_list, points=False): l = float(len(vec_list)) pic = Graphics() for i, v in enumerate(vec_list): if points: pic += point(v,hue=(i/l)) else: pic += plot(v,hue=(i/l)) return pic
![Page 5: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/5.jpg)
Example1
L=[vector([1,0]),vector([0,1]),vector([-1,0]),vector([0,-1])]vector_plotter(L)
![Page 6: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/6.jpg)
Example 2
L=[vector([1,0]),vector([0.75,0.25]),vector([0.5,0.5]),vector([0.25,0.75])]vector_plotter(L,points=true)
Note: points=true has the effect that vectors are represented by points instead of arrows.
![Page 7: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/7.jpg)
Visualization of Linear Transformations
We will visualize 2D linear transformations by applying them to vectors in the plot on the following slide.
![Page 8: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/8.jpg)
Example 3
L = [vector([cos(i),sin(i)]) for i in srange(0,2*pi,2*pi/20,universe=RDF)]vector_plotter(L)
Note: srange(a,b,c) returns the list of numbers in [a,b) starting with a and with step size c. universe=RDF makes sure the number are in double precision floating point format.
![Page 9: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/9.jpg)
Problem 1
Modify Example 3 so that an ellipse with axes of length 2 and 3 is shown.
![Page 10: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/10.jpg)
The map FunctionPython has a built in map function which can be used to apply a function f to all entries of a list L. Syntax: map(f,L)
Examples:
L=range(5)def f(x): return x^2map(f,L) # output [0,1,4,9,16]
Multiply all vectors in a list with a matrix:L=[vector([1,0]),vector([0,1])]M=matrix([[3,5],[1,2]])def f(v): return M*vmap(f,L)
![Page 11: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/11.jpg)
Problem 2
• Let L be the list of vectors from Example 3. Use the map function to multiply all vectors in L with the matrix [[1,0.3],[0.3,0.8]] and plot the resulting list using the vector_plotter function.
• Try this for other matrices. What are the possible “shapes” that can arise?
![Page 12: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/12.jpg)
Recall from Linear Algebra I:
with vectorsall ofset of kernel
a form echelon-rowa in rows nonzero ofnumber
of columnst independenlinearly ofnumber maximum
of rowst independenlinearly ofnumber maximum
matrix a ofRank
0Ax xA
A
A
A
A
![Page 13: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/13.jpg)
Problem 3
• Try the matrix [[1,0.3],[2,0.6]] in Problem 2.
• Find the (unique) matrix for Problem 2 for which the plot collapses to a single point.
• What is the connection between the rank of the matrices and the “shape” of the plot?
![Page 14: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/14.jpg)
Example 4:Plot a Random Sample of Vectors (as Points)
L = [vector([random(),random()]) for i in range(20)]vector_plotter(L, points=True)
![Page 15: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/15.jpg)
Problem 4
• Let L be the list of vectors from Example 4. Use the map function to multiply all vectors in L with the matrix [[1,0.3],[2,0.6]] and plot the resulting list using the vector_plotter function (with points=true).
• Observe carefully exactly where each original point lands. Is it random?
![Page 16: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/16.jpg)
Example 5:Plot Vectors on a Certain Line
L = [random()*vector([3,-10]) for i in range(100)]vector_plotter(L, points=True)
![Page 17: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/17.jpg)
Problem 5
a. Let L be the list of vectors from Example 4. Use the map function to multiply all vectors in L with the matrix [[1,0.3],[2,0.6]] and plot the resulting list using the vector_plotter function (with points=true).
b. What happens? Note: Numbers of absolute value <1e-15 can be considered as 0 (occur due to round off errors)
c. Compute the kernel of the matrix [[1,0.3],[2,0.6]]. Note: for a matrix A the sage-command A.right_kernel() returns a representation of the kernel of A.
d. What is the connection between the kernel of [[1,0.3],[2,0.6]] and the plot from part a?
![Page 18: Experimental Mathematics 25 August 2011 Linear Transformations and Ranks](https://reader034.vdocuments.mx/reader034/viewer/2022051214/56649e2a5503460f94b188f2/html5/thumbnails/18.jpg)
Problem 6
The following generates random 4x5 matrices and computes their rank and kernel:
m = random_matrix(QQ, 4, 5, algorithm='echelonizable', rank=randint(0,4), upper_bound=60)print mprint m.rank()m.right_kernel()
Repeat this several times and especially take note of the connection between the rank and the dimension of the kernel. What is the mathematical theorem behind this?