atlas  0.6
lattice.h
Go to the documentation of this file.
1
5 /*
6  This is lattice.h
7
8  Copyright (C) 2004,2005 Fokko du Cloux
9  part of the Atlas of Lie Groups and Representations
10
12 */
13
14 #ifndef LATTICE_H /* guard against multiple inclusions */
15 #define LATTICE_H
16
17 #include "../Atlas.h"
18
19 /******** function declarations **********************************************/
20
21 namespace atlas {
22
23 namespace lattice {
24
25 template<typename I, typename O>
26  void baseChange(I, I, O, I, I);
27
28 template<typename I, typename O>
29  void inverseBaseChange(I, I, O, I, I);
30
31 // find basis in dual lattice of perpendicular to given vectors
32 CoweightList perp(const WeightList&, size_t);
33
34 // find matrix whose image is the sublattice annihilated by |M|
36
38  (LatticeMatrix M, // by value
40
41 // find matrix with same kernel, but with rows spanning saturated sublattice
43
44 } // |namespace lattice|
45
46 } // |namespace atlas|
47
48 #endif
matrix::PID_Matrix< LatticeCoeff > LatticeMatrix
Definition: Atlas.h:171
LatticeMatrix eigen_lattice(LatticeMatrix M, LatticeCoeff lambda)
Definition: lattice.cpp:142
LatticeMatrix row_saturate(const LatticeMatrix &M)
Definition: lattice.cpp:147
LatticeMatrix kernel(const LatticeMatrix &M)
Definition: lattice.cpp:130
std::vector< Weight > WeightList
Definition: Atlas.h:162
void baseChange(I first, I last, O out, I firstb, I lastb)
Functions for working with lattices.
Definition: lattice.cpp:72
int LatticeCoeff
Definition: Atlas.h:167
std::vector< Weight > CoweightList
Definition: Atlas.h:163
struct lambda_node * lambda
Definition: parse_types.h:94
Definition: Atlas.h:38
CoweightList perp(const WeightList &b, size_t r)
Returns a basis of the orthogonal of the sublattice generated by b in Z^r.
Definition: lattice.cpp:114
void inverseBaseChange(I first, I last, O out, I firstb, I lastb)
Definition: lattice.cpp:92