13namespace layer3_group_actions {
14namespace induced_actions {
50 cout <<
"action_on_grassmannian::free "
51 "before free M1" << endl;
57 cout <<
"action_on_grassmannian::free "
58 "before free M2" << endl;
64 cout <<
"action_on_grassmannian::free "
65 "before free GE" << endl;
71 cout <<
"action_on_grassmannian::free "
72 "before free subspace_basis" << endl;
78 cout <<
"action_on_grassmannian::free "
79 "before free subspace_basis2" << endl;
89 int f_v = (verbose_level >= 1);
94 cout <<
"action_on_grassmannian::init" << endl;
106 cout <<
"action_on_grassmannian::init" << endl;
107 cout <<
"n=" <<
n << endl;
108 cout <<
"k=" <<
k << endl;
109 cout <<
"q=" <<
q << endl;
117 cout <<
"action_on_grassmannian::init "
118 "action not of linear type" << endl;
135 cout <<
"degree = " <<
degree << endl;
141 cout <<
"action_on_grassmannian::init done" << endl;
146 void (*print_function)(std::ostream &ost,
long int a,
void *data),
147 void *print_function_data,
150 int f_v = (verbose_level >= 1);
153 cout <<
"action_on_grassmannian::add_print_function" << endl;
162 int *ambient_space,
int verbose_level)
164 int f_v = (verbose_level >= 1);
167 cout <<
"action_on_grassmannian::init_embedding" << endl;
168 cout <<
"big_n=" <<
big_n << endl;
169 cout <<
"ambient space:" << endl;
184 int f_v = (verbose_level >= 1);
187 cout <<
"action_on_grassmannian::unrank" << endl;
191 cout <<
"action_on_grassmannian::unrank done" << endl;
197 int f_v = (verbose_level >= 1);
201 cout <<
"action_on_grassmannian::rank" << endl;
205 cout <<
"action_on_grassmannian::rank done" << endl;
216 int f_v = (verbose_level >= 1);
217 int f_vv = (verbose_level >= 2);
221 cout <<
"action_on_grassmannian::compute_image_longinteger "
226 cout <<
"after G->unrank_longinteger" << endl;
230 for (h = 0; h <
k; h++) {
232 M1 + h *
n, Elt, verbose_level - 1);
236 F->mult_matrix_matrix(
G->
M, Elt,
M1,
k,
n,
n);
238 if (M->f_semilinear) {
240 F->vector_frobenius_power_in_place(
M1,
k *
n, f);
244 cout <<
"after element_image_of_low_level" << endl;
252 cout <<
"action_on_grassmannian::compute_image_longinteger "
253 "image of " << i <<
" is " << j << endl;
259 long int i,
int verbose_level)
271 long int i,
int verbose_level)
273 int f_v = (verbose_level >= 1);
274 int f_vv = (verbose_level >= 2);
278 cout <<
"action_on_grassmannian::compute_image_int_ordinary "
280 cout <<
"A->low_level_point_size="
282 cout <<
"using action " <<
A->
label << endl;
286 cout <<
"action_on_grassmannian::compute_image_int_ordinary "
287 "after G->unrank_int" << endl;
291 for (h = 0; h <
k; h++) {
293 M1 + h *
n, Elt, verbose_level - 1);
296 F->mult_matrix_matrix(
G->
M, Elt,
M1,
k,
n,
n);
298 if (M->f_semilinear) {
300 F->vector_frobenius_power_in_place(
M1,
k *
n, f);
307 cout <<
"action_on_grassmannian::compute_image_int_ordinary "
308 "image of " << i <<
" is " << j << endl;
315 long int i,
int verbose_level)
317 int f_v = (verbose_level >= 1);
318 int f_vv = (verbose_level >= 2);
322 cout <<
"action_on_grassmannian::compute_image_int_embedded "
324 cout <<
"calling GE->unrank_int" << endl;
328 cout <<
"action_on_grassmannian::compute_image_int_embedded "
329 "subspace_basis:" << endl;
330 cout <<
"k=" <<
k << endl;
331 cout <<
"big_n=" <<
big_n << endl;
335 for (h = 0; h <
k; h++) {
339 Elt, verbose_level - 1);
348 cout <<
"action_on_grassmannian::compute_image_int_embedded "
349 "after mult_matrix_matrix:" << endl;
354 if (M->f_semilinear) {
357 cout <<
"f_semilinear is TRUE, f=" << f << endl;
364 cout <<
"action_on_grassmannian::compute_image_int_embedded "
365 "subspace_basis after the action:" << endl;
372 cout <<
"action_on_grassmannian::compute_image_int_embedded "
373 "image of " << i <<
" is " << j << endl;
383 print_integer_matrix_width(ost,
G->
M,
388 ost <<
"\\left[" << endl;
391 ost <<
"\\right]_{" << a <<
"}" << endl;
a collection of combinatorial functions
void q_binomial(ring_theory::longinteger_object &a, int n, int k, int q, int verbose_level)
subspaces with a fixed embedding
void unrank_lint(int *subspace_basis, long int rk, int verbose_level)
void init(int big_n, int n, grassmann *G, int *M, int verbose_level)
long int rank_lint(int *subspace_basis, int verbose_level)
to rank and unrank subspaces of a fixed dimension in F_q^n
field_theory::finite_field * F
void unrank_longinteger(ring_theory::longinteger_object &rk, int verbose_level)
void unrank_lint(long int rk, int verbose_level)
void rank_longinteger(ring_theory::longinteger_object &r, int verbose_level)
long int rank_lint_here(int *Mtx, int verbose_level)
long int rank_lint(int verbose_level)
void unrank_lint_here(int *Mtx, long int rk, int verbose_level)
interface to create latex output files
void print_integer_matrix_tex(std::ostream &ost, int *p, int m, int n)
a class to represent arbitrary precision integers
a permutation group in a fixed action.
symmetry_group_type type_G
void element_image_of_low_level(int *input, int *output, void *elt, int verbose_level)
long int rank(int *v, int verbose_level)
geometry::grassmann_embedded * GE
void(* print_function)(std::ostream &ost, long int a, void *data)
long int compute_image_int(actions::action *A, int *Elt, long int i, int verbose_level)
void add_print_function(void(*print_function)(std::ostream &ost, long int a, void *data), void *print_function_data, int verbose_level)
void init_embedding(int big_n, int *ambient_space, int verbose_level)
long int compute_image_int_embedded(actions::action *A, int *Elt, long int i, int verbose_level)
void init(actions::action &A, geometry::grassmann *G, int verbose_level)
void compute_image_longinteger(actions::action *A, int *Elt, ring_theory::longinteger_object &i, ring_theory::longinteger_object &j, int verbose_level)
~action_on_grassmannian()
long int compute_image_int_ordinary(actions::action *A, int *Elt, long int i, int verbose_level)
ring_theory::longinteger_object degree
void print_point(long int a, std::ostream &ost)
void * print_function_data
void unrank(long int i, int *v, int verbose_level)
field_theory::finite_field * F
#define Int_vec_print_integer_matrix_width(A, B, C, D, E, F)
#define Int_vec_copy(A, B, C)
the orbiter library for the classification of combinatorial objects
groups::matrix_group * matrix_grp