galgebra.lt¶
Multivector Linear Transformation
Members¶
-
galgebra.lt.
Dictionary_to_Matrix
(dict_rep, ga)[source]¶ Convert dictionary representation of linear transformation to matrix
-
class
galgebra.lt.
Lt
(*args, **kwargs)[source]¶ A Linear Transformation
Except for the spinor representation the linear transformation is stored as a dictionary with basis vector keys and vector values
self.lt_dict
so that a is a vector \(a = a^{i}e_{i}\) then\[\mathtt{self(}a\mathtt{)} = a^{i} * \mathtt{self.lt\_dict[}e_{i}\mathtt{]}.\]For the spinor representation the linear transformation is stored as the even multivector
self.R
so that if a is a vector:self(a) = self.R * a * self.R.rev().
-
lt_dict
¶ the keys are the basis symbols, \(e_i\), and the dictionary entries are the object vector images (linear combination of sympy non-commutative basis symbols) of the keys so that if
L
is the linear transformation then:L(e_i) = self.Ga.mv(L.lt_dict[e_i])
Type: dict
-
-
galgebra.lt.
Matrix_to_dictionary
(mat_rep, basis)[source]¶ Convert matrix representation of linear transformation to dictionary
-
class
galgebra.lt.
Mlt
(f, Ga, args, fct=False)[source]¶ A multilinear transformation (mlt) is a multilinear multivector function of a list of vectors (
*args
) \(F(v_1,...,v_r)\) where for any argument slot \(j\) we have (\(a\) is a scalar and \(u_j\) a vector)\[\begin{split}F(v_1,...,a*v_j,...,v_r) &= a*F(v_1,...,v_j,...,v_r) \\ F(v_1,...,v_j+u_j,...,v_r) &= F(v_1,...,v_j,...,v_r) + F(v_1,...,u_j,...,v_r).\end{split}\]If F and G are two
Mlt
s with the same number of argument slots then the sum is\[(F+G)F(v_1,...,v_r) = F(v_1,...,v_r) + G(v_1,...,v_r).\]If \(F\) and \(G\) are two
Mlt
s with \(r\) and \(s\) argument slots then their product is\[(F*G)(v_1,...,v_r,...,v_{r+s}) = F(v_1,...,v_r)*G(v_{r+1},...,v_{r+s}),\]where \(*\) is any of the multivector multiplicative operations. The derivative of a
Mlt
with is defined as the directional derivative with respect to the coordinate vector (we assume \(F\) is implicitely a function of the coordinates)\[F(v_1,...,v_r;v_{r+1}) = (v_{r+1} \bullet \nabla)F(v_1,...,v_j,...,v_r).\]The contraction of a
Mlt
between slots \(j\) and \(k\) is defined as the geometric derivative of \(F\) with respect to slot \(k\) and the inner geometric derivative with respect to slot \(j\) (this gives the standard tensor definition of contraction for the case that \(F\) is a scalar function)\[\begin{split}\operatorname{Contract}(i,j,F) &= \nabla_i \bullet (\nabla_j F(v_1,...,v_i,...,v_j,...,v_r)) \\ &= \nabla_j \bullet (\nabla_i F(v_1,...,v_i,...,v_j,...,v_r)).\end{split}\]This returns a
Mlt
with slot \(i\) and \(j\) removed.