Skip to content

4 math matrix - #12

Merged
nettrash merged 4 commits into
v0.1from
4-math-matrix
Nov 3, 2026
Merged

nettrash merged 4 commits into
v0.1from
4-math-matrix

Conversation

@nettrash

@nettrash nettrash commented Nov 3, 2026

Copy link
Copy Markdown
Owner

closes #4

@nettrash nettrash added this to the v0.1 milestone Nov 3, 2026
@nettrash nettrash self-assigned this Nov 3, 2026
Copilot AI balanced review requested due to automatic review settings November 3, 2026 17:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Unresolved overflow and scaling defects in complex arithmetic and matrix routines produce incorrect results or NaNs for finite inputs and can cause SVD rescaling to panic.

5 open issues
What changed in this PR

Adds matrix and complex-number support to the mathematics library, addressing issue #4 with arithmetic, decompositions, matrix properties, and matrix functions.

Changes:

  • Introduces public matrix and complex-number APIs, including floating-point and exact-integer operations.
  • Adds numerical algorithms and optimized multiplication, Cholesky, and triangular-solve kernels.
  • Adds extensive tests, documentation, and package metadata updates.
File Description
lib/​tests/​math/​matrix/​svd.rs Tests SVD, norms, rank, null spaces, and characteristic polynomials.
lib/​tests/​math/​matrix/​product.rs Checks matrix products across shapes and block boundaries.
lib/​tests/​math/​matrix/​nonsymmetric.rs Tests large and difficult nonsymmetric eigenproblems.
lib/​tests/​math/​matrix/​mod.rs Registers matrix test modules.
lib/​tests/​math/​matrix/​factor.rs Tests factorizations, solves, inverses, and determinants.
lib/​tests/​math/​matrix/​factor_paths.rs Exercises factorization thresholds and numerical edge cases.
lib/​tests/​math/​matrix/​exact.rs Tests exact-integer matrix algorithms.
lib/​tests/​math/​matrix/​eigen.rs Tests Schur and eigendecompositions.
lib/​tests/​math/​matrix/​common.rs Provides shared generators and numerical assertions.
lib/​tests/​math/​matrix/​basic.rs Tests construction, arithmetic, access, and formatting.
lib/​tests/​math/​main.rs Registers complex and matrix test suites.
lib/​tests/​math/​complex/​mod.rs Tests complex arithmetic, functions, and extreme values.
lib/​src/​math/​mod.rs Exports and documents the new math modules.
lib/​src/​math/​matrix/​svd/​secular.rs Implements the secular-equation SVD merge step.
lib/​src/​math/​matrix/​svd/​qr.rs Implements bidiagonal QR iteration and rotations.
lib/​src/​math/​matrix/​svd.rs Exposes SVD and coordinates scaling and decomposition.
lib/​src/​math/​matrix/​properties.rs Adds norms, condition numbers, rank, and related properties.
lib/​src/​math/​matrix/​ops.rs Implements matrix arithmetic operators.
lib/​src/​math/​matrix/​mod.rs Defines matrix storage, constructors, access, and formatting.
lib/​src/​math/​matrix/​householder.rs Provides shared Householder reflection routines.
lib/​src/​math/​matrix/​gemm/​portable.rs Adds portable matrix multiplication kernels.
lib/​src/​math/​matrix/​exact.rs Implements exact-integer matrix calculations.
lib/​src/​math/​matrix/​eigen.rs Exposes general and Hermitian eigendecompositions.
lib/​src/​math/​matrix/​cholesky/​aarch64.rs Adds NEON Cholesky kernels.
lib/​src/​math/​matrix/​blas/​trsm/​aarch64.rs Adds NEON triangular-solve kernels.
lib/​src/​math/​matrix/​blas.rs Provides shared product, solve, and scratch-memory interfaces.
lib/​src/​math/​matrix/​basic.rs Adds transposes, row and column operations, trace, and powers.
lib/​src/​math/​complex/​ops.rs Implements complex arithmetic operators.
lib/​src/​math/​complex/​mod.rs Defines complex numbers and their mathematical functions.
lib/​src/​math/​complex/​float.rs Supplies the shared floating-point trait.
lib/​src/​docs.rs Includes complex and matrix guides in documentation tests.
lib/​docs/​math/​complex.md Documents complex-number APIs and implementation details.
lib/​Cargo.toml Updates version and package metadata for the expanded library.
lib/​Cargo.lock Synchronizes the package version.

Review effort: Balanced

Comment thread lib/src/math/complex/mod.rs Resolved
Comment thread lib/src/math/complex/ops.rs Resolved
Comment thread lib/src/math/matrix/householder.rs Resolved
Comment thread lib/src/math/matrix/householder.rs Resolved
Comment thread lib/src/math/matrix/svd.rs Resolved
@nettrash
nettrash merged commit 4a4f80d into v0.1 Nov 3, 2026
4 checks passed
@nettrash
nettrash deleted the 4-math-matrix branch November 4, 2026 07:43
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

Successfully merging this pull request may close these issues.

2 participants