My Project
Loading...
Searching...
No Matches
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#include <flint/flint.h>
29
30#include "polys/matpol.h"
31#include "coeffs/bigintmat.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
50int convFlintISingI (fmpz_t f);
51void convSingIFlintI(fmpz_t f, int p);
52void convFlintNSingN (mpz_t z, fmpz_t f);
53void convSingNFlintN(fmpz_t f, mpz_t z);
54void convSingNFlintN(fmpz_t f, number n);
55void convSingNFlintN_QQ(fmpq_t f, number n);
56void convSingNFlintN(fmpq_t f, number n, const coeffs cf);
57void convSingNFlintNN(fmpq_t re, fmpq_t im, number n, const coeffs cf);
58number convFlintNSingN (fmpz_t f);
59number convFlintNSingN (fmpq_t f, const coeffs cf);
60number convFlintNSingN (fmpz_t f, const coeffs cf);
61number convFlintNSingN_QQ(fmpq_t f, const coeffs cf);
62void convSingPFlintP(fmpq_poly_t res, poly p, const ring r);
63void convSingImPFlintP(fmpq_poly_t res, poly p, const ring r);
64poly convFlintPSingP(fmpq_poly_t f, const ring r);
65
68void convSingMFlintNmod_mat(matrix m, nmod_mat_t M, const ring r);
69matrix convFlintNmod_matSingM(nmod_mat_t m, const ring r);
70
72ideal singflint_rref(ideal m, const ring R);
74ideal singflint_kernel(ideal m, const ring R);
75#if __FLINT_RELEASE >= 20500
76void convSingPFlintnmod_poly_t(nmod_poly_t result, const poly p, const ring r);
77void convSingMFlintFq_nmod_mat(matrix m, fq_nmod_mat_t M, const fq_nmod_ctx_t fq_con, const ring r);
78poly convFlintFq_nmodSingP(const fq_nmod_t Fp, const fq_nmod_ctx_t ctx, const ring r);
79matrix 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
int m
Definition cfEzgcd.cc:128
int p
Definition cfModGcd.cc:4086
CanonicalForm cf
Definition cfModGcd.cc:4091
FILE * f
Definition checklibs.c:9
Matrices of numbers.
Definition bigintmat.h:51
return result
CanonicalForm res
Definition facAbsFact.cc:60
fq_nmod_ctx_t fq_con
Definition facHensel.cc:99
void convSingPFlintP(fmpq_poly_t res, poly p, const ring r)
void convSingNFlintN(fmpz_t f, mpz_t z)
matrix convFlintNmod_matSingM(nmod_mat_t m, const ring r)
void convSingNFlintNN(fmpq_t re, fmpq_t im, number n, const coeffs cf)
void convSingIFlintI(fmpz_t f, int p)
matrix singflint_kernel(matrix m, const ring R)
void convSingNFlintN_QQ(fmpq_t f, number n)
void convFlintNSingN(mpz_t z, fmpz_t f)
matrix singflint_rref(matrix m, const ring R)
poly convFlintPSingP(fmpq_poly_t f, const ring r)
void convSingImPFlintP(fmpq_poly_t res, poly p, const ring r)
int convFlintISingI(fmpz_t f)
number convFlintNSingN_QQ(fmpq_t f, const coeffs cf)
bigintmat * singflint_LLL(bigintmat *A, bigintmat *T)
void convSingMFlintNmod_mat(matrix m, nmod_mat_t M, const ring r)
STATIC_VAR jList * T
Definition janet.cc:30
ip_smatrix * matrix
Definition matpol.h:43
The main handler for Singular numbers which are suitable for Singular polynomials.
#define R
Definition sirandom.c:27
#define A
Definition sirandom.c:24
#define M
Definition sirandom.c:25