15 #if __FLINT_RELEASE >= 20500 28 int convFlintISingI (fmpz_t
f)
35 void convSingIFlintI(fmpz_t
f,
int p)
42 void convFlintNSingN (mpz_t z, fmpz_t
f)
48 void convSingNFlintN(fmpz_t
f, mpz_t z)
61 fmpz_mat_init(
M,
r, c);
64 fmpz_mat_init(Transf,
T->rows(),
T->rows());
74 convSingNFlintN(dummy,n);
76 fmpz_set(fmpz_mat_entry(
M,
i-1,
j-1), dummy);
82 for(
i=
T->rows();
i>0;
i--)
84 for(
j=
T->rows();
j>0;
j--)
87 convSingNFlintN(dummy,n);
89 fmpz_set(fmpz_mat_entry(Transf,
i-1,
j-1), dummy);
95 fmpz_lll_context_init_default(fl);
97 fmpz_lll(
M, Transf, fl);
99 fmpz_lll(
M,
NULL, fl);
104 convFlintNSingN(n, fmpz_mat_entry(
M,
i-1,
j-1));
112 for(
i=
T->rows();
i>0;
i--)
114 for(
j=
T->cols();
j>0;
j--)
116 convFlintNSingN(n, fmpz_mat_entry(Transf,
i-1,
j-1));
132 fmpz_mat_init(
M,
r, c);
134 fmpz_mat_init(Transf,
r,
r);
142 fmpz_set(fmpz_mat_entry(
M,
i-1,
j-1), dummy);
148 for(
i=
T->rows();
i>0;
i--)
150 for(
j=
T->rows();
j>0;
j--)
153 fmpz_set(fmpz_mat_entry(Transf,
i-1,
j-1), dummy);
159 fmpz_lll_context_init_default(fl);
161 fmpz_lll(
M, Transf, fl);
163 fmpz_lll(
M,
NULL, fl);
173 for(
i=Transf->r;
i>0;
i--)
175 for(
j=Transf->r;
j>0;
j--)
177 IMATELEM(*
T,
i,
j)=convFlintISingI(fmpz_mat_entry(Transf,
i-1,
j-1));
This file is work in progress and currently not part of the official Singular.
Coefficient rings, fields and other domains suitable for Singular polynomials.
static FORCE_INLINE number n_InitMPZ(mpz_t n, const coeffs r)
conversion of a GMP integer to number
#define BIMATELEM(M, I, J)
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
#define IMATELEM(M, I, J)
static FORCE_INLINE void n_MPZ(mpz_t result, number &n, const coeffs r)
conversion of n to a GMP integer; 0 if not possible