package tezos-bls12-381-polynomial

  1. Overview
  2. Docs
type t = int StringMap.t

Monomials are represented as mapping from variables to their exponent All monomials created here have non-negative exponents This is to ensure the unicity of the writting of polynomials.

val encoding : t Data_encoding.t
val one : t

The unit monomial

val singleton : variable -> t

The "variable" monomial

val get_support : t -> variable list

Returns the sorted list of variables occuring in the object

val compare : t -> t -> int

Comparison bewteen monomials Uses the lexicographical ordering on monomials, with lexicographical ordering on the variables. The ordering on the variables should not matter. What matters is that the constant monomial is the minimum for this order.

val equal : t -> t -> bool

Equality, which assumes no zero exponents

val deg : t -> variable -> int

Returns the degree of the given variable in the given monomial

val mul : t -> t -> t

Multiplies two monomials

val apply : t -> spec -> (scalar * t) option

Partial application in a monomial. Returns None if the result of the application would be 0 Otherwise, returns a non-zero coefficient and the rest of the monomial.

val to_ascii : t -> string option

Conversion to printable strings. None is for one

val pp : Stdlib.Format.formatter -> t -> unit
val add_prefix : string -> t -> t
module MonomialOperators : sig ... end

Infix operators