1 from . import np, MatrixLieAlgebra, contract
2 from .. import extract_pieces, combine_pieces
3
4
5 -class tran(MatrixLieAlgebra):
6 '''
7 lie algebra for translation
8 '''
9
10 @contract(n="1|2|3")
13
17
21
23 return 'tr%s' % (self.n - 1)
24
26 points = []
27 points.append(self.zero())
28 return points
29
30 @contract(a='belongs')
32 W, v, zero, zero = extract_pieces(a)
33 if v.shape == ():
34 v = v.reshape(1)
35 assert v.size == self.n - 1
36 return v
37
38 @contract(returns='belongs', v='array[K]')
40 assert v.size == self.n - 1
41 return combine_pieces(np.zeros((self.n - 1, self.n - 1)), v, v * 0, 0)
42