Struct ark_poly::evaluations::multivariate::multilinear::DenseMultilinearExtension [−][src]
Expand description
Stores a multilinear polynomial in dense evaluation form.
Fields
evaluations: Vec<F>The evaluation over {0,1}^num_vars
num_vars: usizeNumber of variables
Implementations
Construct a new polynomial from a list of evaluations where the index
represents a point in {0,1}^num_vars in little endian form. For example, 0b1011 represents P(1,1,0,1)
Construct a new polynomial from a list of evaluations where the index
represents a point in {0,1}^num_vars in little endian form. For example, 0b1011 represents P(1,1,0,1)
Relabel the point inplace by switching k scalars from position a to position b, and from position b to position a in vector.
This function turns P(x_1,...,x_a,...,x_{a+k - 1},...,x_b,...,x_{b+k - 1},...,x_n)
to P(x_1,...,x_b,...,x_{b+k - 1},...,x_a,...,x_{a+k - 1},...,x_n)
Returns an iterator that iterates over the evaluations over {0,1}^num_vars
Trait Implementations
impl<'a, 'b, F: Field> Add<&'a DenseMultilinearExtension<F>> for &'b DenseMultilinearExtension<F>[src]
impl<'a, 'b, F: Field> Add<&'a DenseMultilinearExtension<F>> for &'b DenseMultilinearExtension<F>[src]type Output = DenseMultilinearExtension<F>
type Output = DenseMultilinearExtension<F>The resulting type after applying the + operator.
Performs the + operation. Read more
type Output = DenseMultilinearExtension<F>
type Output = DenseMultilinearExtension<F>The resulting type after applying the + operator.
Performs the + operation. Read more
impl<'a, 'b, F: Field> AddAssign<&'a DenseMultilinearExtension<F>> for DenseMultilinearExtension<F>[src]
impl<'a, 'b, F: Field> AddAssign<&'a DenseMultilinearExtension<F>> for DenseMultilinearExtension<F>[src]Performs the += operation. Read more
impl<'a, 'b, F: Field> AddAssign<(F, &'a DenseMultilinearExtension<F>)> for DenseMultilinearExtension<F>[src]
impl<'a, 'b, F: Field> AddAssign<(F, &'a DenseMultilinearExtension<F>)> for DenseMultilinearExtension<F>[src]Performs the += operation. Read more
Performs the += operation. Read more
Reads Self from reader.
Reads Self from reader without compression.
Reads self from reader without compression, and without performing
validity checks. Should be used only when the input is trusted. Read more
Serializes self into writer.
It is left up to a particular type for how it strikes the
serialization efficiency vs compression tradeoff.
For standard types (e.g. bool, lengths, etc.) typically an uncompressed
form is used, whereas for algebraic types compressed forms are used. Read more
Serializes self into writer without compression.
Serializes self into writer without compression, and without
performing validity checks. Should be used only when there is no
danger of adversarial manipulation of the output. Read more
Returns the “default value” for a type. Read more
Returns the evaluation of the polynomial at a point represented by index.
Index represents a vector in {0,1}^num_vars in little endian form. For example, 0b1011 represents P(1,1,0,1)
For dense multilinear polynomial, index takes constant time.
type Output = F
type Output = FThe returned type after indexing.
Evaluates self at the given the vector point in slice.
If the number of variables does not match, return None. Read more
Outputs an l-variate multilinear extension where value of evaluations are sampled uniformly at random.
Relabel the point by swapping k scalars from positions a..a+k to positions b..b+k,
and from position b..b+k to position a..a+k in vector. Read more
Reduce the number of variables of self by fixing the partial_point.len() variables at partial_point.
Returns a list of evaluations over the domain, which is the boolean hypercube.
impl<F: PartialEq + Field> PartialEq<DenseMultilinearExtension<F>> for DenseMultilinearExtension<F>[src]
impl<F: PartialEq + Field> PartialEq<DenseMultilinearExtension<F>> for DenseMultilinearExtension<F>[src]This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
impl<'a, 'b, F: Field> Sub<&'a DenseMultilinearExtension<F>> for &'b DenseMultilinearExtension<F>[src]
impl<'a, 'b, F: Field> Sub<&'a DenseMultilinearExtension<F>> for &'b DenseMultilinearExtension<F>[src]type Output = DenseMultilinearExtension<F>
type Output = DenseMultilinearExtension<F>The resulting type after applying the - operator.
Performs the - operation. Read more
type Output = DenseMultilinearExtension<F>
type Output = DenseMultilinearExtension<F>The resulting type after applying the - operator.
Performs the - operation. Read more
impl<'a, 'b, F: Field> SubAssign<&'a DenseMultilinearExtension<F>> for DenseMultilinearExtension<F>[src]
impl<'a, 'b, F: Field> SubAssign<&'a DenseMultilinearExtension<F>> for DenseMultilinearExtension<F>[src]Performs the -= operation. Read more
Performs the -= operation. Read more
Auto Trait Implementations
impl<F> Send for DenseMultilinearExtension<F>impl<F> Sync for DenseMultilinearExtension<F>impl<F> Unpin for DenseMultilinearExtension<F> where
F: Unpin, Blanket Implementations
Mutably borrows from an owned value. Read more
pub default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64 where
B: BuildHasher,
H: Hash + ?Sized, fn hash_uncompressed<H>(&self) -> GenericArray<u8, <H as Digest>::OutputSize> where
H: Digest, [src]type Output = T
type Output = TShould always be Self
pub fn vzip(self) -> V