# \[ANN\] TypedMatrices.jl – An Extensible Julia Matrix Collection Utilizing Type System

**URL:** <https://discourse.julialang.org/t/ann-typedmatrices-jl-an-extensible-julia-matrix-collection-utilizing-type-system/119668>\
**Category:** Package Announcements\
**Tags:** package, announcement, linearalgebra, matrices\
**Created:** [September 21, 2024, 9:31am UTC](https://discourse.julialang.org/t/ann-typedmatrices-jl-an-extensible-julia-matrix-collection-utilizing-type-system/119668 "2024-09-21T09:31:02Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andy\_Zhang](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/andy_zhang/32/210182_2.png) [@Andy\_Zhang](https://discourse.julialang.org/u/Andy_Zhang)\
**Post date:** [September 21, 2024, 9:31am UTC](https://discourse.julialang.org/t/ann-typedmatrices-jl-an-extensible-julia-matrix-collection-utilizing-type-system/119668/1 "2024-09-21T09:31:02Z")

</div>

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](https://typedmatrices.github.io/TypedMatrices.jl/stable/), which includes installation instructions, usage examples, and detailed API references.

The source code is available on the `TypedMatrices.jl` [GitHub repository](https://github.com/TypedMatrices/TypedMatrices.jl). 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 in `TypedMatrices.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.
