pishleback / pishleback/Algebraeon
More efficient factorizations in UFDs
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 82
- Forks
- 10
- PR merge metrics
- No merged PRs in 30d
Description
UFD factorizations are all stored as unordered vectors of pairs (irreducible : Ring::Set, power : Natural). This leads to slow algorithms for multiplying factorizations are comparing them for equality.
I want to allow a different representation for cases where an ordering on the ring elements is provided. Factorizations will still be represented by vectors of the pairs (irreducible : Ring::Set, power : Natural), but there will be a requirement that they are ordered with respect to the irreducibles and that no powers are zero.
I also want to allow different factorization representations for the same ring. Then a blank slow implementation will work for all rings, while a faster implementation can be used in cerain cases. This will require decoupling the factorization structure from the ring structure.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing UFD factorization representation and how it is coupled to the ring structure. Determine the design needed for ordered and alternative representations, then verify that a generic slow implementation and faster specialized cases can coexist.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100