pub struct RelaxedInstance<G: CommitmentCurve, I: Instance<G>> {
pub extended_instance: ExtendedInstance<G, I>,
pub u: G::ScalarField,
pub error_commitment: PolyComm<G>,
pub blinder: G::ScalarField,
}
Expand description
A relaxed instance is an instance that has been relaxed by the folding scheme.
It contains the original instance, extended with the columns added by
quadriticization, the scalar u
and a commitment to the
slack/error term.
See page 15 of Nova.
Fields§
§extended_instance: ExtendedInstance<G, I>
The original instance, extended with the columns added by quadriticization
u: G::ScalarField
The scalar u
that is used to homogenize the polynomials
error_commitment: PolyComm<G>
The commitment to the error term, introduced when homogenizing the polynomials
blinder: G::ScalarField
Blinder used for the commitments to the cross terms
Implementations§
Source§impl<G: CommitmentCurve, I: Instance<G>> RelaxedInstance<G, I>
impl<G: CommitmentCurve, I: Instance<G>> RelaxedInstance<G, I>
Sourcepub fn to_absorb(&self) -> (Vec<G::ScalarField>, Vec<G>)
pub fn to_absorb(&self) -> (Vec<G::ScalarField>, Vec<G>)
Returns the elements to be absorbed by the sponge
The scalar elements of the are appended with the scalar u
and the
commitments are appended by the commitment to the error term.
Sourcepub fn get_extended_column_commitment(&self, i: usize) -> Option<&PolyComm<G>>
pub fn get_extended_column_commitment(&self, i: usize) -> Option<&PolyComm<G>>
Provides access to commitments to the extra columns added by quadraticization
Trait Implementations§
Source§impl<G: Clone + CommitmentCurve, I: Clone + Instance<G>> Clone for RelaxedInstance<G, I>where
G::ScalarField: Clone,
impl<G: Clone + CommitmentCurve, I: Clone + Instance<G>> Clone for RelaxedInstance<G, I>where
G::ScalarField: Clone,
Source§fn clone(&self) -> RelaxedInstance<G, I>
fn clone(&self) -> RelaxedInstance<G, I>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<G: CommitmentCurve, I: Instance<G>> Foldable<<G as AffineRepr>::ScalarField> for RelaxedInstance<G, I>
A relaxed instance can be folded.
impl<G: CommitmentCurve, I: Instance<G>> Foldable<<G as AffineRepr>::ScalarField> for RelaxedInstance<G, I>
A relaxed instance can be folded.
Source§impl<G: PartialEq + CommitmentCurve, I: PartialEq + Instance<G>> PartialEq for RelaxedInstance<G, I>where
G::ScalarField: PartialEq,
impl<G: PartialEq + CommitmentCurve, I: PartialEq + Instance<G>> PartialEq for RelaxedInstance<G, I>where
G::ScalarField: PartialEq,
Source§impl<G: CommitmentCurve, I: Instance<G>> RelaxableInstance<G, I> for RelaxedInstance<G, I>
A relaxed instance is trivially relaxable.
impl<G: CommitmentCurve, I: Instance<G>> RelaxableInstance<G, I> for RelaxedInstance<G, I>
A relaxed instance is trivially relaxable.