# Struct ark_poly::DenseMultilinearExtension[−][src]

```pub struct DenseMultilinearExtension<F: Field> {
pub evaluations: Vec<F>,
pub num_vars: usize,
}```
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`

Returns a mutable iterator that iterates over the evaluations over {0,1}^`num_vars`

## Trait Implementations

The resulting type after applying the `+` operator.

Performs the `+` operation. Read more

The resulting type after applying the `+` operator.

Performs the `+` operation. Read more

Performs the `+=` operation. Read more

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 a copy of the value. Read more

Performs copy-assignment from `source`. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Feeds this value into the given `Hasher`. Read more

Feeds a slice of this type into the given `Hasher`. 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.

The returned type after indexing.

Returns the number of variables in `self`

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.

The resulting type after applying the `-` operator.

Performs the unary `-` operation. Read more

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

This method tests for `!=`.

The resulting type after applying the `-` operator.

Performs the `-` operation. Read more

The resulting type after applying the `-` operator.

Performs the `-` operation. Read more

Performs the `-=` operation. Read more

Performs the `-=` operation. Read more

Returns the additive identity element of `Self`, `0`. Read more

Returns `true` if `self` is equal to the additive identity.

Sets `self` to the additive identity element of `Self`, `0`.

## Blanket Implementations

Gets the `TypeId` of `self`. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Should always be `Self`

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (`toowned_clone_into`)