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 n
xn
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