42 lines
842 B
C
42 lines
842 B
C
#include <stdio.h>
|
|
|
|
#include "weyl.h"
|
|
|
|
static void print_element(weylgroup_element_t *e)
|
|
{
|
|
if(e->wordlength == 0)
|
|
printf("1");
|
|
else
|
|
for(int j = 0; j < e->wordlength; j++)
|
|
printf("%c", e->word[j] + 'a');
|
|
}
|
|
|
|
int main()
|
|
{
|
|
semisimple_type_t type;
|
|
simple_type_t t;
|
|
type.n = 1;
|
|
type.factors = &t;
|
|
t.series = 'A';
|
|
t.rank = 3;
|
|
|
|
int order = weyl_order(type);
|
|
doublequotient_t *dq = weyl_generate_bruhat(type, 0x02, 0x03);
|
|
|
|
for(int i = 0; i < dq->count; i++) {
|
|
print_element(dq->cosets[i].min);
|
|
printf(" -> ");
|
|
for(doublecoset_list_t *current = dq->cosets[i].bruhat_lower; current; current = current->next) {
|
|
print_element(current->to->min);
|
|
printf(" ");
|
|
}
|
|
printf("| ");
|
|
print_element(dq->cosets[i].opposite->min);
|
|
printf("\n");
|
|
}
|
|
|
|
weyl_destroy_bruhat(dq);
|
|
|
|
return 0;
|
|
}
|