| Copyright | (c) Ross Paterson 2023 |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | [email protected] |
| Stability | provisional |
| Portability | type-level literals |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.YAP.Matrix.Square
Description
An example instance of the algebraic classes: square matrices.
Synopsis
- newtype Matrix (n :: Nat) a = Square (Matrix n n a)
- matrix :: forall (n :: Nat) a. (KnownNat n, AdditiveMonoid a) => [[a]] -> Matrix n a
- diagonal :: forall (n :: Nat) a. (KnownNat n, AdditiveMonoid a) => a -> Matrix n a
- transpose :: forall (n :: Nat) a. KnownNat n => Matrix n a -> Matrix n a
- determinant :: forall (n :: Nat) a. (KnownNat n, Ring a) => Matrix n a -> a
- adjugate :: forall (n :: Nat) a. (KnownNat n, Ring a) => Matrix n a -> Matrix n a
- apply :: forall a (n :: Nat). Semiring a => Matrix n a -> Vector n a -> Vector n a
Documentation
newtype Matrix (n :: Nat) a Source #
Square nxn matrices
Instances
| KnownNat n => Applicative (Matrix n) Source # | |
| Functor (Matrix n) Source # | |
| Show a => Show (Matrix n a) Source # | |
| Eq a => Eq (Matrix n a) Source # | |
| Ord a => Ord (Matrix n a) Source # | |
Defined in Data.YAP.Matrix.Square | |
| (KnownNat n, AbelianGroup a) => AbelianGroup (Matrix n a) Source # | |
| (KnownNat n, AdditiveMonoid a) => AdditiveMonoid (Matrix n a) Source # | |
| (KnownNat n, FromRational a) => FromRational (Matrix n a) Source # | |
Defined in Data.YAP.Matrix.Square Methods fromRational :: Rational -> Matrix n a # | |
| (KnownNat n, Ring a) => Ring (Matrix n a) Source # | |
Defined in Data.YAP.Matrix.Square Methods fromInteger :: Integer -> Matrix n a # | |
| (KnownNat n, Semiring a) => Semiring (Matrix n a) Source # | |
matrix :: forall (n :: Nat) a. (KnownNat n, AdditiveMonoid a) => [[a]] -> Matrix n a Source #
Construct a square matrix from a list of row values.
diagonal :: forall (n :: Nat) a. (KnownNat n, AdditiveMonoid a) => a -> Matrix n a Source #
Square matrix with x's along the diagonal
transpose :: forall (n :: Nat) a. KnownNat n => Matrix n a -> Matrix n a Source #
Transpose of a square matrix
determinant :: forall (n :: Nat) a. (KnownNat n, Ring a) => Matrix n a -> a Source #
Determinant of a square matrix