Update README
This commit is contained in:
parent
7b6b71780a
commit
bc08b4942e
10
README.md
10
README.md
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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]
|
||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in a new issue