Struct ark_poly::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: usize
Number 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 = F
The 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 = T
Should always be Self
pub fn vzip(self) -> V