circuits-mat
Safe HaskellNone
LanguageGHC2024

Circuit.Mat.Square

Description

Square matrices as a NumHask carrier.

This module adds the missing NumHask ring/field instances for square Harpie.Fixed.Arrays, turning Array '[n,n] a into a lawful Multiplicative carrier. No new wrapper type is introduced: Square is just a type synonym.

Synopsis

Documentation

type Square (n :: Nat) a = Array '[n, n] a Source #

A square matrix of known dimension.

inverse :: forall (n :: Nat) a. (KnownNat n, Subtractive a, Divisive a, Absolute a, Ord a) => Square n a -> Square n a Source #

Inverse of a square matrix.

Orphan instances

(KnownNat n, Additive a, Subtractive a, Multiplicative a, Divisive a, Absolute a, Ord a) => Divisive (Square n a) Source # 
Instance details

Methods

recip :: Square n a -> Square n a #

(/) :: Square n a -> Square n a -> Square n a #

(KnownNat n, Additive a, Multiplicative a) => Multiplicative (Square n a) Source # 
Instance details

Methods

(*) :: Square n a -> Square n a -> Square n a #

one :: Square n a #

(KnownNat n, Additive a, Multiplicative a, FromInteger a) => FromInteger (Square n a) Source # 
Instance details

Methods

fromInteger :: Integer -> Square n a #

(KnownNat n, Additive a, Multiplicative a, FromRational a) => FromRational (Square n a) Source # 
Instance details

Methods

fromRational :: Rational -> Square n a #