pishleback / pishleback/Algebraeon

More efficient factorizations in UFDs

Open
#113 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.