Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ivc): protogalaxy::AssignedUnivariatePoly::eval #379

Merged
merged 2 commits into from
Nov 5, 2024

Conversation

cyphersnake
Copy link
Collaborator

@cyphersnake cyphersnake commented Oct 29, 2024

Motivaion
To compute e in the framework of #361, we need to be able to compute proof.poly_{F,K} for the on-circuit version

Overview

  • Due to the two multiplications within main_gate, the polynomial calculation was split into chunks=2
  • Since powers of the same values powers will be used in multiple places, its computation has been delegated to a separate struct. This calculation can be optimized (again due to the two multiplications, but it is simpler for speed).
  • In other tests in ivc::protogalaxy module we test only on-circuit calculations, since ready-made gadgets are used, here we test everything, including correctness of constraint system

@cyphersnake cyphersnake requested a review from chaosma October 29, 2024 14:20
@cyphersnake cyphersnake self-assigned this Oct 29, 2024
@cyphersnake cyphersnake force-pushed the 361-feat-protogalaxy-verify-circuit-4 branch from 9b26271 to 8dd43eb Compare October 29, 2024 14:39

while self.powers.len() <= index {
let value = self.value();
let last = self.powers.last().unwrap();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should each time double the last value instead of multiply by first element? i.e.

{delta, delta^2, delta^4,...}

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is not related to delta, this is just a cache for x^0, x^1, x^2,....

Doc updated for this method\struct

@cyphersnake cyphersnake force-pushed the 361-feat-protogalaxy-verify-circuit-3 branch from ef81448 to cfa85ad Compare November 4, 2024 11:56
@cyphersnake cyphersnake force-pushed the 361-feat-protogalaxy-verify-circuit-4 branch from 8dd43eb to dc5d940 Compare November 4, 2024 12:00
@cyphersnake cyphersnake requested a review from chaosma November 4, 2024 12:00
Base automatically changed from 361-feat-protogalaxy-verify-circuit-3 to main November 5, 2024 11:56
**Motivaion**
To compute `e` in the framework of #361, we need to be able to compute proof.poly_{F,K} for the on-circuit version

**Overview**
- Due to the two multiplications within `main_gate`, the polynomial calculation was split into chunks=2
- Since powers of the same values powers will be used in multiple places, its computation has been delegated to a separate struct. This calculation can be optimized (again due to the two multiplications, but it is simpler for speed).
- In other tests we test only calculations, since ready-made gadgets are used, here we test everything, since calculations are made directly
@cyphersnake cyphersnake force-pushed the 361-feat-protogalaxy-verify-circuit-4 branch from dc5d940 to 454f486 Compare November 5, 2024 12:01
@cyphersnake cyphersnake merged commit 6d14858 into main Nov 5, 2024
1 check passed
@cyphersnake cyphersnake deleted the 361-feat-protogalaxy-verify-circuit-4 branch November 5, 2024 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants