Skip to content

Proposal: Add Missing Matrix Operations to ml_linalg #183

@frankvp11

Description

@frankvp11

Hi, I’ve been using ml_linalg (v13.12.6) and noticed a few missing matrix operations that would enhance its utility for numerical computing and data science. I’ve implemented some of these and am happy to contribute via pull requests or collaboration.

Proposed Functions

  1. QR Decomposition: For solving linear systems and eigenvalue computation.
  2. Cholesky Decomposition: For symmetric positive definite matrices, useful in optimization.
  3. Full Eigenvalue Computation: To compute all eigenvalues, extending eigen.
  4. Determinant: For matrix invertibility and geometric applications.
  5. Trace: For optimization and matrix analysis.
  6. Condition Number: To assess numerical stability.
  7. Matrix Rank: For dimensionality analysis.
  8. Singular Value Decomposition (SVD): For PCA and data compression (noted in prior community requests).
  9. Zero Matrix: To initialize zero-filled matrices, like Vector.fromList.
  10. Simplex Method: For linear programming optimization.

Notes
These functions complement existing Matrix methods (e.g., decompose, solve).
Simple functions (e.g., trace, determinant) are straightforward; others (e.g., SVD) may need FFI for performance.
I can provide prototypes (e.g., QR, eigenvalues, simplex) and follow your coding standards.
Questions
Which functions are highest priority?
Any preferences for implementation or integration (e.g., extending decompose)?
Thanks for considering! I’m eager to help make ml_linalg even better (than vector_math).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions