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

Development roadmap for AbstractAlgebra.jl #64

Open
wbhart opened this issue Mar 23, 2018 · 0 comments
Open

Development roadmap for AbstractAlgebra.jl #64

wbhart opened this issue Mar 23, 2018 · 0 comments

Comments

@wbhart
Copy link
Contributor

wbhart commented Mar 23, 2018

AbstractAlgebra.jl intends to provide a generic implementation of finitely presented groups, rings, fields, modules, ideals, in Julia with no C dependencies.

Here is an approximate roadmap for future development:

Basic rings

  • Julia integers
  • Julia rationals
  • Julia floats
  • Prime fields GF(p)
  • Finite fields (Conway polynomials)
  • Number fields (arithmetic only)
  • Padic field

Fraction fields

  • Basic arithmetic

Residue rings R/(Rf)

  • Basic arithmetic

Univariate polynomials

  • Basic arithmetic
  • Gcd
  • Extended gcd
  • Resultant (Ducos)
  • Evaluation
  • Composition
  • Substitution
  • Interpolation (over integral domain)
  • Signature
  • Half GCD
  • Multimodular GCD over Euclidean domain
  • Resultant over non-integral domain

Laurent polynomials

  • Basic arithmetic

Relative power series

  • Basic arithmetic
  • Composition
  • Reversion

Laurent series

  • Basic arithmetic
  • Division over a ring
  • Composition
  • Reversion

Puiseux series

  • Basic arithmetic
  • Composition
  • Reversion

Lazy power series

  • Basic arithmetic
  • Composition
  • Reversion

Multivariate polynomials

  • Reverse order of terms and exponents to match Flint
  • Basic arithmetic
  • Gcd (psr)
  • Resultant (Ducos)
  • Evaluation at all variables
  • [] Evaluation at one variable
  • Composition
  • Substitution

Multivariate power series

  • Basic arithmetic

Multivariate Laurent series

  • Basic arithmetic

Multivariate Puiseux series

  • Basic arithmetic

Matrices (dense)

  • Basic arithmetic
  • Solving
  • Inverse
  • Determinant
  • Rank
  • Reduced row echelon form
  • LU decomposition
  • QR decomposition
  • Gram matrix
  • Hessenberg form
  • Hermite normal form
  • Smith normal form
  • Popov form
  • Frobenius form
  • Jordan canonical form
  • Rational canonical form
  • Kronecker product
  • Characteristic polynomial
  • Minimal polynomial

Matrices (sparse)

  • Basic arithmetic
  • Solving
  • Inverse
  • Determinant
  • Rank
  • Reduced row echelon form
  • LU decomposition
  • QR decomposition
  • Gram matrix
  • Hessenberg form
  • Hermite normal form
  • Smith normal form
  • Popov form
  • Frobenius form
  • Jordan canonical form
  • Rational canonical form
  • Kronecker product
  • Characteristic polynomial
  • Minimal polynomial

Groups

  • Permutation groups
  • Characters of S_n
  • Young tableaux

Function fields

  • Rational function fields
  • Finite extensions

Maps and morphisms

  • Composition
  • Inverse
  • Identity
  • Functional maps
  • Linear morphisms
  • Partial maps

Modules

  • Free modules
  • Direct products

Finitely presented modules over euclidean domains

  • Element arithmetic
  • Submodules
  • Quotient modules
  • Intersection
  • Homomorphisms
  • kernels
  • Images
  • Module structural decomposition

Modules over Dedekind domains

  • Element arithmetic
  • Homomorphisms

Ideals

  • Element arithmetic
  • Quotient rings?
  • Colon module [M:I]

Polynomials over non-commutative ring

  • Basic arithmetic

Matrix algebras

  • Basic arithmetic
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

No branches or pull requests

1 participant