enumerate-balanced-ideals/weyl.h
2016-11-20 23:19:08 +01:00

37 lines
740 B
C

#ifndef WEYL_H
#define WEYL_H
#include <inttypes.h>
typedef struct {
char series;
int rank;
} simple_type_t;
typedef struct {
int n;
simple_type_t *factors;
} semisimple_type_t;
typedef uint64_t weylid_t;
typedef struct {
int *left;
int *right;
int opposite;
weylid_t id;
} weylgroup_element_t;
int weyl_rank(semisimple_type_t type);
int weyl_order(semisimple_type_t type);
int weyl_hyperplanes(semisimple_type_t type);
void weyl_cartan_matrix(semisimple_type_t type, int *m);
int weyl_opposition(semisimple_type_t type, int simple_root);
weylgroup_element_t *weyl_alloc(semisimple_type_t type);
void weyl_free(weylgroup_element_t *x);
void weyl_generate(semisimple_type_t type, weylgroup_element_t *group);
#endif