My Project
Toggle main menu visibility
Loading...
Searching...
No Matches
libpolys
polys
flintconv.h
Go to the documentation of this file.
1
// emacs edit mode for this file is -*- C++ -*-
2
#ifndef LIBPOLYS_POLYS_FLINTCONV_H
3
#define LIBPOLYS_POLYS_FLINTCONV_H
4
/****************************************
5
* Computer Algebra System SINGULAR *
6
****************************************/
7
/*
8
* ABSTRACT: convert data between Singular and Flint
9
*/
10
/** @file flintconv.h
11
*
12
* This file is work in progress and currently not part of the official Singular
13
*
14
* @note the code is garded by the version test __FLINT_RELEASE >= 20503 (>=2.5.3)
15
* In its current form it will never become an official part.
16
* (conversion routines may be moved to other files/directories, etc.)
17
*
18
* ABSTRACT: Conversion to/from FLINT, and access to some FLINT-routines
19
*
20
* REQUIREMENTS:
21
* - agreement about the interface to LLL
22
* - FLINT providing LLL
23
* (none of the above is currently true, but all of them is required)
24
*
25
**/
26
27
#ifdef HAVE_FLINT
28
29
#include "
polys/matpol.h
"
30
#include "
coeffs/bigintmat.h
"
31
#include <flint/flint.h>
32
#include <flint/fmpz.h>
33
#include <flint/fmpq.h>
34
#include <flint/fmpq_mat.h>
35
#include <flint/fmpz_poly.h>
36
#include <flint/fmpq_poly.h>
37
#include <flint/fmpz_poly_mat.h>
38
#if __FLINT_RELEASE >= 20500
39
#include <flint/fmpz_lll.h>
40
#include <flint/fq.h>
41
#include <flint/fq_poly.h>
42
#include <flint/fq_nmod.h>
43
#include <flint/fq_nmod_poly.h>
44
#include <flint/fq_nmod_mat.h>
45
#include <flint/nmod_poly.h>
46
#include <flint/nmod_mat.h>
47
#include <flint/fmpz_mat.h>
48
#endif
49
50
int
convFlintISingI
(fmpz_t
f
);
51
void
convSingIFlintI
(fmpz_t
f
,
int
p
);
52
void
convFlintNSingN
(mpz_t z, fmpz_t
f
);
53
void
convSingNFlintN
(fmpz_t
f
, mpz_t z);
54
void
convSingNFlintN
(fmpz_t
f
, number n);
55
void
convSingNFlintN_QQ
(fmpq_t
f
, number n);
56
void
convSingNFlintN
(fmpq_t
f
, number n,
const
coeffs
cf
);
57
void
convSingNFlintNN
(fmpq_t re, fmpq_t im, number n,
const
coeffs
cf
);
58
number
convFlintNSingN
(fmpz_t
f
);
59
number
convFlintNSingN
(fmpq_t
f
,
const
coeffs
cf
);
60
number
convFlintNSingN
(fmpz_t
f
,
const
coeffs
cf
);
61
number
convFlintNSingN_QQ
(fmpq_t
f
,
const
coeffs
cf
);
62
void
convSingPFlintP
(fmpq_poly_t
res
, poly
p
,
const
ring r);
63
void
convSingImPFlintP
(fmpq_poly_t
res
, poly
p
,
const
ring r);
64
poly
convFlintPSingP
(fmpq_poly_t
f
,
const
ring r);
65
66
bigintmat
*
singflint_LLL
(
bigintmat
*
A
,
bigintmat
*
T
);
67
intvec
*
singflint_LLL
(
intvec
*
A
,
intvec
*
T
);
68
void
convSingMFlintNmod_mat
(
matrix
m
, nmod_mat_t
M
,
const
ring r);
69
matrix
convFlintNmod_matSingM
(nmod_mat_t
m
,
const
ring r);
70
71
matrix
singflint_rref
(
matrix
m
,
const
ring
R
);
72
ideal
singflint_rref
(ideal
m
,
const
ring
R
);
73
matrix
singflint_kernel
(
matrix
m
,
const
ring
R
);
74
ideal
singflint_kernel
(ideal
m
,
const
ring
R
);
75
#if __FLINT_RELEASE >= 20500
76
void
convSingPFlintnmod_poly_t(nmod_poly_t
result
,
const
poly
p
,
const
ring r);
77
void
convSingMFlintFq_nmod_mat(
matrix
m
, fq_nmod_mat_t
M
,
const
fq_nmod_ctx_t
fq_con
,
const
ring r);
78
poly convFlintFq_nmodSingP(
const
fq_nmod_t Fp,
const
fq_nmod_ctx_t ctx,
const
ring r);
79
matrix
convFlintFq_nmod_matSingM(fq_nmod_mat_t
m
,
const
fq_nmod_ctx_t
fq_con
,
const
ring r);
80
#endif
81
#endif
82
#endif
83
// LIBPOLYS_POLYS_FLINTCONV_H
bigintmat.h
m
int m
Definition
cfEzgcd.cc:128
p
int p
Definition
cfModGcd.cc:4086
cf
CanonicalForm cf
Definition
cfModGcd.cc:4091
f
FILE * f
Definition
checklibs.c:9
bigintmat
Matrices of numbers.
Definition
bigintmat.h:51
intvec
Definition
intvec.h:24
result
return result
Definition
facAbsBiFact.cc:76
res
CanonicalForm res
Definition
facAbsFact.cc:60
fq_con
fq_nmod_ctx_t fq_con
Definition
facHensel.cc:99
convSingPFlintP
void convSingPFlintP(fmpq_poly_t res, poly p, const ring r)
convSingNFlintN
void convSingNFlintN(fmpz_t f, mpz_t z)
convFlintNmod_matSingM
matrix convFlintNmod_matSingM(nmod_mat_t m, const ring r)
convSingNFlintNN
void convSingNFlintNN(fmpq_t re, fmpq_t im, number n, const coeffs cf)
convSingIFlintI
void convSingIFlintI(fmpz_t f, int p)
singflint_kernel
matrix singflint_kernel(matrix m, const ring R)
convSingNFlintN_QQ
void convSingNFlintN_QQ(fmpq_t f, number n)
convFlintNSingN
void convFlintNSingN(mpz_t z, fmpz_t f)
singflint_rref
matrix singflint_rref(matrix m, const ring R)
convFlintPSingP
poly convFlintPSingP(fmpq_poly_t f, const ring r)
convSingImPFlintP
void convSingImPFlintP(fmpq_poly_t res, poly p, const ring r)
convFlintISingI
int convFlintISingI(fmpz_t f)
convFlintNSingN_QQ
number convFlintNSingN_QQ(fmpq_t f, const coeffs cf)
singflint_LLL
bigintmat * singflint_LLL(bigintmat *A, bigintmat *T)
convSingMFlintNmod_mat
void convSingMFlintNmod_mat(matrix m, nmod_mat_t M, const ring r)
T
STATIC_VAR jList * T
Definition
janet.cc:30
matpol.h
matrix
ip_smatrix * matrix
Definition
matpol.h:43
coeffs
The main handler for Singular numbers which are suitable for Singular polynomials.
R
#define R
Definition
sirandom.c:27
A
#define A
Definition
sirandom.c:24
M
#define M
Definition
sirandom.c:25
Generated on
for My Project by
doxygen 1.17.0
for
Singular