Struct ark_relations::r1cs::ConstraintMatrices[][src]

pub struct ConstraintMatrices<F: Field> {
    pub num_instance_variables: usize,
    pub num_witness_variables: usize,
    pub num_constraints: usize,
    pub a_num_non_zero: usize,
    pub b_num_non_zero: usize,
    pub c_num_non_zero: usize,
    pub a: Matrix<F>,
    pub b: Matrix<F>,
    pub c: Matrix<F>,
}

The A, B and C matrices of a Rank-One ConstraintSystem. Also contains metadata on the structure of the constraint system and the matrices.

Fields

num_instance_variables: usize

The number of variables that are “public instances” to the constraint system.

num_witness_variables: usize

The number of variables that are “private witnesses” to the constraint system.

num_constraints: usize

The number of constraints in the constraint system.

a_num_non_zero: usize

The number of non_zero entries in the A matrix.

b_num_non_zero: usize

The number of non_zero entries in the B matrix.

c_num_non_zero: usize

The number of non_zero entries in the C matrix.

a: Matrix<F>

The A constraint matrix. This is empty when self.mode == SynthesisMode::Prove { construct_matrices = false }.

b: Matrix<F>

The B constraint matrix. This is empty when self.mode == SynthesisMode::Prove { construct_matrices = false }.

c: Matrix<F>

The C constraint matrix. This is empty when self.mode == SynthesisMode::Prove { construct_matrices = false }.

Trait Implementations

impl<F: Clone + Field> Clone for ConstraintMatrices<F>[src]

impl<F: Debug + Field> Debug for ConstraintMatrices<F>[src]

impl<F: Eq + Field> Eq for ConstraintMatrices<F>[src]

impl<F: PartialEq + Field> PartialEq<ConstraintMatrices<F>> for ConstraintMatrices<F>[src]

impl<F: Field> StructuralEq for ConstraintMatrices<F>[src]

impl<F: Field> StructuralPartialEq for ConstraintMatrices<F>[src]

Auto Trait Implementations

impl<F> Send for ConstraintMatrices<F>

impl<F> Sync for ConstraintMatrices<F>

impl<F> Unpin for ConstraintMatrices<F> where
    F: Unpin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,