In [1]:
# setup SymPy
from sympy import *
init_printing()
x, y, z, t = symbols('x y z t')
alpha, beta = symbols('alpha beta')
In [2]:
b, m = symbols('b m')
def f(x):
return m*x
In [3]:
f(1)
Out[3]:
In [4]:
f(2)
Out[4]:
In [5]:
f(1+2)
Out[5]:
In [6]:
f(1) + f(2)
Out[6]:
In [7]:
expand(f(x+y)) == f(x) + f(y)
Out[7]:
In [8]:
m_1, m_2 = symbols('m_1 m_2')
def T(vec):
"""A function that takes a 2D vector and returns a number."""
return m_1*vec[0] + m_2*vec[1]
In [9]:
u_1, u_2 = symbols('u_1 u_2')
u = Matrix([u_1,u_2])
v_1, v_2 = symbols('v_1 v_2')
v = Matrix([v_1,v_2])
In [10]:
T(u)
Out[10]:
In [11]:
T(v)
Out[11]:
In [12]:
T(u) + T(v)
Out[12]:
In [13]:
expand( T(u+v) )
Out[13]:
In [14]:
simplify( T(alpha*u + beta*v) - alpha*T(u) - beta*T(v) )
Out[14]:
A linear transformation is function that takes vectors as inputs, and produces vectors as outputs:
$$ T: \mathbb{R}^n \to \mathbb{R}^m. $$see page 116 in book
In [15]:
m_11, m_12, m_21, m_22 = symbols('m_11 m_12 m_21 m_22')
def T(vec):
"""A linear transformations R^2 --> R^2."""
out_1 = m_11*vec[0] + m_12*vec[1]
out_2 = m_21*vec[0] + m_22*vec[1]
return Matrix([out_1, out_2])
In [16]:
T(u)
Out[16]:
In [17]:
T(v)
Out[17]:
In [18]:
T(u+v)
Out[18]:
see page 113
In [19]:
def T_impl(vec):
"""A linear transformations implemented as matrix-vector product."""
M_T = Matrix([[m_11, m_12],
[m_21, m_22]])
return M_T*vec
In [20]:
T_impl(u)
Out[20]:
In [ ]: