You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add multilinear extension (evaluation form of multilinear polynomial where the domain is boolean hypercube) data structures in ark-poly crate.
create module evaluations, and rename Evaluations as evaluations::univariate::UVEvaluations
add trait MultilinearExtension, and two implemetors DenseMultilinearExtension and SparseMultilinearExtension
Add dependency hashbrown
Add related benchmarks in ark-poly-benches
Add benchmarks for sparse and dense multilinear extensions
closes: #XXXX
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
Targeted PR against correct branch (main)
Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
Wrote unit tests
Updated relevant documentation in the code
Added a relevant changelog entry to the Pending section in CHANGELOG.md
Re-reviewed Files changed in the Github PR explorer
Not sure why, but there's some compilation problem related to serialization after I merged #144 today. e.g.:
error[E0276]: impl has stricter requirements than trait
--> poly\src\domain\radix2.rs:26:64
|
26 | #[derive(Copy, Clone, Hash, Eq, PartialEq, CanonicalSerialize, CanonicalDeserialize)]
| ^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `R: ark_std::io::Read`
and
error[E0277]: the trait bound `W: ark_serialize::Write` is not satisfied
--> poly\src\domain\general.rs:49:63
|
49 | GeneralEvaluationDomain::Radix2(d) => d.serialize(&mut writer),
| ^^^^^^^^^^^ the trait `ark_serialize::Write` is not implemented for `W`
(I have not changed anything in domain folder)
Is there any workaround? @weikengchen
Thanks! I am using ark-std::{UniformRand, test_rng} (which was only available on rand branch yesterday) because ark_ff::test_rng was marked deprecated. I will use ark_std master branch instead.
Hi Ryan, I have added trait MVPolynomialCoefficientForm<F: Field> and MultilinearPolynomialEvaluationForm<F: Field>, and SparsePolynomial implements MVPolynomialCoefficientForm<F: Field>. Does that make sense? @ryanleh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
ark-polycrate.evaluations, and renameEvaluationsasevaluations::univariate::UVEvaluationsMultilinearExtension, and two implemetorsDenseMultilinearExtensionandSparseMultilinearExtensionhashbrownark-poly-benchescloses: #XXXX
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
Pendingsection inCHANGELOG.mdFiles changedin the Github PR explorer