pub trait MultilinearExtension<C: SemiringConfig>:
Sized
+ Clone
+ Debug
+ PartialEq
+ Eq {
// Required methods
fn fix_variables(&mut self, cfg: &C, partial_point: &[C::Element]);
fn fixed_variables(&self, cfg: &C, partial_point: &[C::Element]) -> Self;
}Expand description
This trait describes an interface for the multilinear extension
of an array.
The latter is a multilinear polynomial represented in terms of its
evaluations over the domain {0,1}^num_vars (i.e. the Boolean hypercube).
Index represents a point, which is a vector in {0,1}^num_vars in little
endian form. For example, 0b1011 represents P(1,1,0,1)
Required Methods§
Sourcefn fix_variables(&mut self, cfg: &C, partial_point: &[C::Element])
fn fix_variables(&mut self, cfg: &C, partial_point: &[C::Element])
Reduce the number of variables of self by fixing the
partial_point.len() variables at partial_point.
Sourcefn fixed_variables(&self, cfg: &C, partial_point: &[C::Element]) -> Self
fn fixed_variables(&self, cfg: &C, partial_point: &[C::Element]) -> Self
Creates a new object with the number of variables of self reduced by
fixing the partial_point.len() variables at partial_point.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.