Trait ark_poly::polynomial::MVPolynomial[][src]

pub trait MVPolynomial<F: Field>: Polynomial<F> {
    type Term: Term;
    fn from_coefficients_vec(
        num_vars: usize,
        terms: Vec<(F, Self::Term)>
    ) -> Self;
fn terms(&self) -> &[(F, Self::Term)];
fn num_vars(&self) -> usize;
fn rand<R: Rng>(d: usize, num_vars: usize, rng: &mut R) -> Self; fn from_coefficients_slice(
        num_vars: usize,
        terms: &[(F, Self::Term)]
    ) -> Self { ... } }
Expand description

Describes the interface for multivariate polynomials

Associated Types

The type of the terms of self

Required methods

Constructs a new polynomial from a list of tuples of the form (Self::Term, coeff)

Returns the terms of a self as a list of tuples of the form (Self::Term, coeff)

Returns the number of variables in self

Outputs an l-variate polynomial which is the sum of l d-degree univariate polynomials where each coefficient is sampled uniformly at random.

Provided methods

Constructs a new polynomial from a list of tuples of the form (Self::Term, coeff)

Implementors

Returns the number of variables in self

Outputs an l-variate polynomial which is the sum of l d-degree univariate polynomials where each coefficient is sampled uniformly at random.

Constructs a new polynomial from a list of tuples of the form (coeff, Self::Term)

Returns the terms of a self as a list of tuples of the form (coeff, Self::Term)