17namespace layer1_foundations {
81 int f_v = (verbose_level >= 1);
82 int f_vv = (verbose_level >= 2);
94 cout <<
"grassmann_embedded::init n != G->n" << endl;
103 cout <<
"grassmann_embedded::init big_n = " <<
big_n
104 <<
" n=" <<
n <<
" k=" <<
k <<
" q=" <<
q << endl;
118 for (i = 0; i <
n *
big_n; i++) {
127 cout <<
"grassmann_embedded::init subspace basis "
128 "before Gauss reduction:" << endl;
142 cout <<
"grassmann_embedded::init subspace "
143 "basis after reduction:" << endl;
146 cout <<
"grassmann_embedded::init transform:" << endl;
151 cout <<
"base_cols:" << endl;
156 cout <<
"grassmann_embedded::init rk != n" << endl;
157 cout <<
"rk=" << rk << endl;
158 cout <<
"n=" <<
n << endl;
162 for (i = 0; i <
big_n; i++) {
168 cout <<
"j != big_n - n" << endl;
169 cout <<
"j=" << j << endl;
170 cout <<
"big_n - n=" <<
big_n -
n << endl;
174 cout <<
"embedding: ";
183 int *subspace_basis_with_embedding,
long int rk,
187 int f_v = (verbose_level >= 1);
190 cout <<
"grassmann_embedded::unrank_embedded_int" << endl;
191 cout <<
"rk=" << rk << endl;
192 cout <<
"calling G->unrank_int" << endl;
196 cout <<
"grassmann_embedded::unrank_embedded_int "
197 "coefficient matrix:" << endl;
202 cout <<
"grassmann_embedded::unrank_embedded_int "
203 "subspace_basis:" << endl;
208 subspace_basis_with_embedding,
n ,
n,
big_n,
211 cout <<
"grassmann_embedded::unrank_embedded_int "
212 "subspace_basis:" << endl;
214 subspace_basis_with_embedding,
n ,
220 int *subspace_basis,
int verbose_level)
224 int f_v = (verbose_level >= 1);
228 cout <<
"grassmann_embedded::rank_embedded_int" << endl;
232 rk =
rank_lint(subspace_basis, verbose_level);
234 cout <<
"grassmann_embedded::rank_embedded_int done" << endl;
240 int *subspace_basis,
long int rk,
int verbose_level)
243 int f_v = (verbose_level >= 1);
246 cout <<
"grassmann_embedded::unrank_lint" << endl;
247 cout <<
"rk=" << rk << endl;
248 cout <<
"calling G->unrank_int" << endl;
252 cout <<
"grassmann_embedded::unrank_lint "
253 "coefficient matrix:" << endl;
258 cout <<
"grassmann_embedded::rank_lint "
259 "subspace_basis:" << endl;
267 cout <<
"grassmann_embedded::unrank_lint "
268 "subspace_basis:" << endl;
276 int *subspace_basis,
int verbose_level)
279 int f_v = (verbose_level >= 1);
280 long int rk, i, j, a;
285 cout <<
"grassmann_embedded::rank_lint" << endl;
289 for (i = 0; i <
k; i++) {
290 for (j = 0; j <
n; j++) {
298 cout <<
"grassmann_embedded::rank_lint tmp_M1:" << endl;
311 cout <<
"grassmann_embedded::rank_lint tmp_M2:" << endl;
316 for (i = 0; i <
k; i++) {
325 cout <<
"grassmann_embedded::rank_lint i=" << i
331 cout <<
"grassmann_embedded::rank_lint fatal: "
332 "the i-th vector is not in the space" << endl;
333 cout <<
"i=" << i << endl;
334 cout <<
"subspace:" << endl;
337 cout <<
"space:" << endl;
340 cout <<
"Tmp1:" << endl;
343 cout <<
"Tmp2:" << endl;
348 for (j = 0; j <
n; j++) {
353 cout <<
"grassmann_embedded::rank_lint "
354 "coefficient matrix:" << endl;
360 cout <<
"rk=" << rk << endl;
a collection of combinatorial functions
void q_binomial(ring_theory::longinteger_object &a, int n, int k, int q, int verbose_level)
a collection of functions related to sorted vectors
int int_vec_search(int *v, int len, int a, int &idx)
int int_vec_compare(int *p, int *q, int len)
linear_algebra::linear_algebra * Linear_algebra
long int rank_embedded_lint(int *subspace_basis, int verbose_level)
void unrank_lint(int *subspace_basis, long int rk, int verbose_level)
field_theory::finite_field * F
void init(int big_n, int n, grassmann *G, int *M, int verbose_level)
void unrank_embedded_lint(int *subspace_basis_with_embedding, long int rk, 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_lint(long int rk, int verbose_level)
long int rank_lint(int verbose_level)
void unrank_embedded_subspace_lint(long int rk, int verbose_level)
void mult_vector_from_the_left(int *v, int *A, int *vA, int m, int n)
int Gauss_int(int *A, int f_special, int f_complete, int *base_cols, int f_P, int *P, int m, int n, int Pn, int verbose_level)
void identity_matrix(int *A, int n)
void mult_matrix_matrix(int *A, int *B, int *C, int m, int n, int o, int verbose_level)
a class to represent arbitrary precision integers
#define Int_vec_print_integer_matrix_width(A, B, C, D, E, F)
#define Int_vec_print(A, B, C)
the orbiter library for the classification of combinatorial objects