19namespace layer1_foundations {
60 int n,
int k,
int verbose_level)
62 int f_v = (verbose_level >= 1);
66 cout <<
"hjelmslev::init n=" <<
n <<
" k=" <<
k
67 <<
" q=" <<
R->
q << endl;
74 cout <<
"hjelmslev::init n_choose_k_p = "
92 int f_v = (verbose_level >= 1);
93 int f_vv = (verbose_level >= 2);
94 long int a, b, c, i, j, h;
98 cout <<
"hjelmslev::unrank_lint " << rk << endl;
99 cout <<
"verbose_level=" << verbose_level << endl;
107 cout <<
"rk=" << rk <<
" a=" << a <<
" b=" << b << endl;
116 for (i = 0; i <
k *
n; i++) {
119 for (j = 0; j <
n -
k; j++) {
121 for (i = 0; i <
k; i++) {
122 c =
v[i * (
n -
k) + j];
126 for (i = 0; i <
k *
n; i++) {
133 int f_v = (verbose_level >= 1);
134 int f_vv = (verbose_level >= 2);
135 long int c, i, j, h, rk_mtx;
137 int f_special =
FALSE;
138 int f_complete =
TRUE;
142 cout <<
"hjelmslev::rank_lint " << endl;
144 cout <<
"verbose_level=" << verbose_level << endl;
146 for (i = 0; i <
k *
n; i++) {
150 f_special, f_complete,
153 cout <<
"hjelmslev::rank_lint after Gauss, "
154 "rk_mtx=" << rk_mtx << endl;
156 cout <<
"base_cols=";
162 cout <<
"hjelmslev::rank_lint fatal: rk_mtx != k" << endl;
166 cout <<
"complement:";
170 for (j = 0; j <
n -
k; j++) {
172 for (i = 0; i <
k; i++) {
174 v[i * (
n -
k) + j] = c;
179 for (i = 0; i <
k *
n; i++) {
190 cout <<
"hjelmslev::rank_lint rk=" << rk
191 <<
" a=" << a <<
" b=" << b << endl;
a collection of combinatorial functions
long int generalized_binomial(int n, int k, int q)
void complement(int *v, int n, int k)
various functions related to geometries
void AG_element_unrank(int q, int *v, int stride, int len, long int a)
long int AG_element_rank(int q, int *v, int stride, int len)
to rank and unrank subspaces of a fixed dimension in F_q^n
void unrank_lint(long int rk, int verbose_level)
long int rank_lint(int verbose_level)
void init(int n, int k, field_theory::finite_field *F, int verbose_level)
long int number_of_submodules()
void unrank_lint(int *M, long int rk, int verbose_level)
ring_theory::finite_ring * R
void init(ring_theory::finite_ring *R, int n, int k, int verbose_level)
long int rank_lint(int *M, int verbose_level)
basic number theoretic functions
long int i_power_j_lint(long int i, long int j)
data_structures::int_vec * Int_vec
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)
field_theory::finite_field * get_Fp()
#define Int_vec_print_integer_matrix_width(A, B, C, D, E, F)
#define Int_vec_print(A, B, C)
orbiter_kernel_system::orbiter_session * Orbiter
global Orbiter session
the orbiter library for the classification of combinatorial objects