Stratax 0.2.0
Loading...
Searching...
No Matches
"Stratax Roadmap"

Stratax Roadmap

Developer notes for planned Stratax features.

Purpose

Tracks the expected build-out of the library from core infrastructure through containers, generic operations, numerical features, bindings, and documentation.

Phases

Phase 1: Core Infrastructure

  • Buffer
  • Shape
  • Strides
  • Slice
  • Types
  • Concepts
  • Exceptions
  • Config
  • Validation

Phase 2: Containers

  • Vector
  • Matrix
  • Tensor
  • Creation helpers
  • Conversion helpers

Phase 3: Generic Operators

  • Comparison
  • Indexing offsets
  • Slicing
  • Logical operators
  • Bitwise operators
  • Broadcasting

Phase 4: Shape Operations

  • reshape
  • flatten
  • ravel
  • squeeze
  • expand_dims
  • transpose
  • swapaxes
  • permute_axes

Phase 5: Linear Algebra

  • Matrix multiplication
  • Dot product
  • Cross product
  • Determinant
  • Inverse
  • Solve
  • LU
  • QR
  • Cholesky
  • SVD
  • Eigenvalues
  • Eigenvectors
  • Norms

Phase 6: Input and Output

  • Stream printing
  • CSV I/O
  • Binary I/O
  • Serialization policy

Phase 7: Python Bindings

  • _core extension module
  • Top-level Shape export
  • Top-level Vector export
  • Top-level Matrix export
  • Top-level Tensor export
  • Creation helpers
  • Conversion helpers
  • Reduction helpers
  • Static typing stubs
  • Bitwise operator bindings
  • Single public Python stub
  • Package import smoke test in CI

Phase 7.5: C++ Public Facade

  • Top-level public aliases for common array types
  • Top-level public aliases for common algorithms
  • Module-style aliases for creation, conversions, reductions, transforms, slicing, arrays, and errors
  • Dedicated future namespaces for linear algebra, random, statistics, FFT, and I/O

Phase 8: Testing and CI

  • C++ unit tests
  • Python unit tests
  • Documentation deploy workflow
  • Documentation check workflow
  • Cross-platform build matrix
  • Release/package smoke test
  • Markdown link check in CI

Phase 9: Documentation and Examples

  • Developer docs for implemented core files
  • Developer docs for implemented containers
  • Developer docs for implemented ops
  • Developer docs for printing
  • User-facing guide
  • Python API reference
  • Example refresh
  • Troubleshooting guide
  • Release checklist
  • Documentation CI check
  • Resolve Doxygen warnings
  • Complete generated C++ API reference coverage
  • README badges

Later Phases

  • Calculus
  • Statistics
  • Random number support
  • Optimization

Validation Notes

  • The roadmap describes intended scope, not guaranteed current behavior.
  • Checked items should have tests before they are treated as complete.
  • Validation is implemented at the core level; broader validation enhancements may still be pending.
  • Placeholder headers are intentionally not marked complete until they expose real behavior.
  • Empty and zero-dimension shape behavior is tested for implemented containers and ops.

Implementation Notes

  • Complete core and container correctness before expanding into larger numerical features.
  • Generic operators should work across all containers before specialized algorithms are added.
  • Shape operations should preserve storage invariants and document ownership behavior where it affects users.
  • Optimization work should come after correctness tests and baseline behavior are stable.
  • Current slicing and reshape APIs return owning results; view types are future work.

Future Work

  • Broadcasting
  • Views and slices
  • Type promotion rules
  • Sparse arrays
  • GPU backend
  • Automatic differentiation
  • FFT
  • Symbolic mathematics