enumerate-balanced-ideals/old/test.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;
}