diff options
Diffstat (limited to 'plugins/groebner/polynom.mli')
-rw-r--r-- | plugins/groebner/polynom.mli | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/plugins/groebner/polynom.mli b/plugins/groebner/polynom.mli new file mode 100644 index 000000000..99c1701b8 --- /dev/null +++ b/plugins/groebner/polynom.mli @@ -0,0 +1,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 |