aboutsummaryrefslogtreecommitdiffhomepage
path: root/contrib/groebner/polynom.mli
blob: 99c1701b8fa0b3f102b241c96bdba79766d03226 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
type coef (*= Entiers.entiers*)
val coef_of_num : Num.num -> coef
val num_of_coef : coef -> Num.num
val eq_coef : coef -> coef -> bool
val lt_coef : coef -> coef -> bool
val le_coef : coef -> coef -> bool
val abs_coef : coef -> coef
val plus_coef : coef -> coef -> coef
val mult_coef : coef -> coef -> coef
val sub_coef : coef -> coef -> coef
val opp_coef : coef -> coef
val div_coef : coef -> coef -> coef
val mod_coef : coef -> coef -> coef
val coef0 : coef
val coef1 : coef
val string_of_coef : coef -> string
val int_of_coef : coef -> int
val hash_coef : coef -> int
val puis_coef : coef -> int -> coef
val pgcd : coef -> coef -> coef
val pgcd2 : coef -> coef -> coef

type variable = int
type poly = Pint of coef | Prec of variable * poly array

val cf : int -> poly
val cf0 : poly
val cf1 : poly
val x : variable -> poly
val max_var_pol : poly -> variable
val max_var_pol2 : poly -> variable
val max_var : poly array -> variable
val eqP : poly -> poly -> bool
val norm : poly -> poly
val deg : variable -> poly -> int
val deg_total : poly -> int
val copyP : poly -> poly
val coef : variable -> int -> poly -> poly
val plusP : poly -> poly -> poly
val content : poly -> coef
val div_int : poly -> coef -> poly
val vire_contenu : poly -> poly
val vars : poly -> variable list
val int_of_Pint : poly -> coef
val multx : int -> variable -> poly -> poly
val multP : poly -> poly -> poly
val deriv : variable -> poly -> poly
val oppP : poly -> poly
val moinsP : poly -> poly -> poly
val puisP : poly -> int -> poly
val ( @@ ) : poly -> poly -> poly
val ( -- ) : poly -> poly -> poly
val ( ^^ ) : poly -> int -> poly
val coefDom : variable -> poly -> poly
val coefConst : variable -> poly -> poly
val remP : variable -> poly -> poly
val coef_int_tete : poly -> coef
val normc : poly -> poly
val is_constantP : poly -> bool
val is_zero : poly -> bool
val monome : variable -> int -> poly
val coef_constant : poly -> coef
val univ : bool ref
val string_of_var : int -> string
val nsP : int ref
val string_of_Pcut : poly -> string
val string_of_P : poly -> string
val printP : poly -> unit
val print_tpoly : poly array -> unit
val print_lpoly : poly list -> unit
val quo_rem_pol : poly -> poly -> variable -> poly * poly
val div_pol : poly -> poly -> variable -> poly
val divP : poly -> poly -> poly
val div_pol_rat : poly -> poly -> bool
val pseudo_div : poly -> poly -> variable -> poly * poly * int * poly
val pgcdP : poly -> poly -> poly
val pgcd_pol : poly -> poly -> variable -> poly
val content_pol : poly -> variable -> poly
val pgcd_coef_pol : poly -> poly -> variable -> poly
val pgcd_pol_rec : poly -> poly -> variable -> poly
val gcd_sub_res : poly -> poly -> variable -> poly
val gcd_sub_res_rec : poly -> poly -> poly -> poly -> int -> variable -> poly
val lazard_power : poly -> poly -> int -> variable -> poly
val sans_carre : poly -> variable -> poly
val facteurs : poly -> variable -> poly list
val facteurs_impairs : poly -> variable -> poly list
val hcontentP : (string, poly) Hashtbl.t
val prcontentP : unit -> unit
val contentP : poly * variable -> poly
val hashP : poly -> int
module Hashpol : Hashtbl.S with type key=poly
val memoP :
  string -> 'a Hashpol.t -> (poly -> 'a) -> poly -> 'a
val hfactorise : poly list list Hashpol.t
val prfactorise : unit -> unit
val factorise : poly -> poly list list
val facteurs2 : poly -> poly list
val pol_de_factorisation : poly list list -> poly
val set_of_array_facteurs : poly list array -> poly list
val factorise_tableauP2 :
  poly array ->
  poly list array -> poly array * (poly * int list) array
val factorise_tableauP :
  poly array -> poly array * (poly * int list) array
val is_positif : poly -> bool
val is_negatif : poly -> bool
val pseudo_euclide :
  poly list -> poly -> poly -> variable ->
  poly * poly * int * poly * poly * (poly * int) list * (poly * int) list
val implique_non_nul : poly list -> poly -> bool
val ajoute_non_nul : poly -> poly list -> poly list