package orgeat

  1. Overview
  2. Docs

Parameters

Signature

type t = K.t p
val zero : 'a p
val is_zero : t -> bool
val one : t
val of_scalar : K.t -> t
val to_scalar : t -> K.t
val to_scalar_opt : t -> K.t option
val of_literal : Literal.Class.t -> t
val flatten : t p -> t
val get_support : t -> Literal.Class.t list
val equal : t -> t -> bool
val deg : Literal.Class.t -> t -> int
val add : t -> t -> t
val mul_scalar : K.t -> t -> t
val mul : t -> t -> t
val leading_coef : Literal.Class.t -> t -> t * int
val apply_raw : (module Smol.Algebra.Mul_Monoid_S with type t = 'a) -> (module Smol.Algebra.Semiring_S with type t = 'b) -> (K.t -> 'a -> 'b) -> 'a Stdlib.Map.Make(Orgeat.Literal.Class).t -> t -> 'b p
val apply : (module Smol.Algebra.Semiring_S with type t = 'a) -> (K.t -> 'a -> 'a) -> 'a Stdlib.Map.Make(Orgeat.Literal.Class).t -> t -> 'a p
val eval : K.t Stdlib.Map.Make(Orgeat.Literal.Class).t -> t -> t
val substitution : t Stdlib.Map.Make(Orgeat.Literal.Class).t -> t -> t
val apply_at_0 : t -> K.t
val deriv : Literal.Class.t -> t -> (int * K.t) p
val to_string : t -> string
module Infix : sig ... end
val map : ('a -> K.t) -> 'a p -> t
val mapi : (Smol.Monomial.Make(Literal.Class).t -> 'a -> K.t) -> 'a p -> t
val merge : (Smol.Monomial.Make(Literal.Class).t -> 'a option -> 'b option -> K.t) -> 'a p -> 'b p -> t
val mem : Smol.Monomial.Make(Literal.Class).t -> 'a p -> bool
val set_coef : Smol.Monomial.Make(Literal.Class).t -> K.t -> t -> t
val update : Smol.Monomial.Make(Literal.Class).t -> (K.t -> K.t) -> t -> t
val remove : Smol.Monomial.Make(Literal.Class).t -> 'a p -> 'a p
val union : (Smol.Monomial.Make(Literal.Class).t -> K.t -> K.t -> K.t) -> t -> t -> t
val compare : ('a -> 'a -> int) -> 'a p -> 'a p -> int
val iter : (Smol.Monomial.Make(Literal.Class).t -> 'a -> unit) -> 'a p -> unit
val fold : (Smol.Monomial.Make(Literal.Class).t -> 'a -> 'b -> 'b) -> 'a p -> 'b -> 'b
val for_all : (Smol.Monomial.Make(Literal.Class).t -> 'a -> bool) -> 'a p -> bool
val exists : (Smol.Monomial.Make(Literal.Class).t -> 'a -> bool) -> 'a p -> bool
val filter : (Smol.Monomial.Make(Literal.Class).t -> 'a -> bool) -> 'a p -> 'a p
val partition : (Smol.Monomial.Make(Literal.Class).t -> 'a -> bool) -> 'a p -> 'a p * 'a p
val cardinal : 'a p -> int
val bindings : 'a p -> (Smol.Monomial.Make(Literal.Class).t * 'a) list
val to_seq : 'a p -> (Smol.Monomial.Make(Literal.Class).t * 'a) Stdlib.Seq.t
val add_seq : (Smol.Monomial.Make(Literal.Class).t * K.t) Stdlib.Seq.t -> t -> t
val of_seq : (Smol.Monomial.Make(Literal.Class).t * K.t) Stdlib.Seq.t -> t