Update README

This commit is contained in:
Kiana Sheibani 2023-03-16 09:17:14 -04:00
parent 7b6b71780a
commit bc08b4942e
Signed by: toki
GPG key ID: 6CB106C25E86A9F7
3 changed files with 9 additions and 5 deletions

View file

@ -2,8 +2,7 @@
NumIdr is a linear algebra and data manipulation library for Idris 2. It features NumIdr is a linear algebra and data manipulation library for Idris 2. It features
an efficient, type-safe array data structure, as well as utilities for working with an efficient, type-safe array data structure, as well as utilities for working with
vector spaces and matrices. It borrows concepts heavily from Python's [NumPy](https://numpy.org/), vector spaces and matrices.
as well as Rust's [nalgebra](https://www.nalgebra.org/).
The name is pronounced like "num-idge". The name is pronounced like "num-idge".
@ -19,9 +18,12 @@ The name is pronounced like "num-idge".
- Transform types for working with rotations, reflections, isometries, and other - Transform types for working with rotations, reflections, isometries, and other
types of affine maps. types of affine maps.
## Planned Features ## Inspiration
- An IO-based mutable array type, useful for writing more efficient code. NumIdr is inspired by many different data science and linear algebra libraries,
including Python's [NumPy](https://numpy.org/), Rust's [nalgebra](https://www.nalgebra.org/),
and Haskell's [massiv](https://hackage.haskell.org/package/massiv). It aims to
combine the most useful features of each library.
## Documentation ## Documentation

View file

@ -92,6 +92,7 @@ public export
interface MultMonoid a => MultGroup a where interface MultMonoid a => MultGroup a where
constructor MkMultGroup constructor MkMultGroup
||| Calculate the inverse of the matrix or transformation. ||| Calculate the inverse of the matrix or transformation.
|||
||| WARNING: This function will not check if an inverse exists for the given ||| WARNING: This function will not check if an inverse exists for the given
||| input, and will happily divide by zero or return results containing NaN. ||| input, and will happily divide by zero or return results containing NaN.
||| To avoid this, use `tryInverse` instead. ||| To avoid this, use `tryInverse` instead.

View file

@ -6,6 +6,7 @@ import Data.Permutation
import Data.NumIdr.Interfaces import Data.NumIdr.Interfaces
import public Data.NumIdr.Array import public Data.NumIdr.Array
import Data.NumIdr.Vector import Data.NumIdr.Vector
import Data.NumIdr.LArray
%default total %default total
@ -20,7 +21,7 @@ Matrix m n = Array [m,n]
||| A synonym for a square matrix with dimensions of length `n`. ||| A synonym for a square matrix with dimensions of length `n`.
public export public export
Matrix' : Nat -> Type -> Type Matrix' : Nat -> Type -> Type
Matrix' n = Matrix n n Matrix' n = Array [n,n]
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------