Hi everyone,
I’m excited to announce the release of TypedMatrices.jl
, a new package designed to extend the Julia matrix ecosystem with a focus on performance and flexibility, leveraging Julia’s powerful type system.
Overview
TypedMatrices.jl
provides a collection of matrix types that integrate seamlessly with Julia’s LinearAlgebra
module. Each matrix type is a subtype of AbstractMatrix
and is designed to be stored and computed efficiently. This package aims to cater to a variety of use cases: any where special matrices with known properties are needed.
Features
-
Matrix Types: Types representing special matrices that can be used for algorithm testing or other computations.
-
Linear Algebra Operations: Operations are fine-tuned to enhance the performance of these matrix types.
-
Matrix Properties (Tags): Users can add properties (tags) to matrices, which can be used for organization or computation.
-
Matrix Grouping: Matrices can be grouped together depending on types or properties, with the flexibility for users to define their own types.
-
Filtering by Properties/Groups: Matrices can be filtered by property or group for more targeted computations.
Why TypedMatrices.jl
?
TypedMatrices.jl is designed to provide a more efficient and type-safe way to work with special matrices, especially in contexts where you need to organize, tag, and optimize matrix operations based on specific properties. Whether you’re working on algorithm development, scientific computing, or custom numerical methods, this package offers a structured and extensible approach.
How to Get Started
To get started with TypedMatrices.jl
, you can check out the official documentation, which includes installation instructions, usage examples, and detailed API references.
The source code is available on the TypedMatrices.jl
GitHub repository. Contributions, issues, and feedback are all welcome!
Acknowledgments
MatrixDepot.jl
: Some matrix generation algorithms are adapted from this package, and so is much of the documentation for the matrices inTypedMatrices.jl
.SpecialMatrices.jl
: The code structure and some matrix manipulation functions were inspired and adapted from this package.- Special thanks to Massimiliano Fasi (@mfasi) for his guidance and working together on this package.