galgebra.lt

Multivector Linear Transformation

Members

class galgebra.lt.Mlt(f, Ga, args, fct=False)[source]

A multilinear transformation (mlt) is a multilinear multivector function of a list of vectors (*kargs) F(v_1,…,v_r) where for any argument slot j we have (a is a scalar and u_j a vector)

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).
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 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 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)|grad)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)

Contract(i,j,F) = grad_i|(grad_j*F(v_1,…,v_i,…,v_j,…,v_r))
= grad_j|(grad_i*F(v_1,…,v_i,…,v_j,…,v_r)).

This returns a mlt with slot i and j removed.

Fmt(lcnt=1, title=None)[source]

Set format for printing of Tensors -

lcnt = Number of components per line

Usage for tensor T example is -

T.fmt(‘2’,’T’)

output is

print ‘T = ‘+str(A)

with two components per line. Works for both standard printing and for latex.