linear-accelerate-0.7.0.0: Lifting linear vector spaces into Accelerate

Copyright2014 Edward Kmett
[2015..2020] Trevor L. McDonell
LicenseBSD-style (see the file LICENSE)
MaintainerTrevor L. McDonell <trevor.mcdonell@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Array.Accelerate.Linear.Trace

Description

Simple matrix operations for low-dimensional primitives

Documentation

class Trace m => Trace m where Source #

Minimal complete definition

Nothing

Methods

trace :: (Num a, Box2 m m a) => Exp (m (m a)) -> Exp a Source #

Compute the trace of a matrix

diagonal :: Box2 m m a => Exp (m (m a)) -> Exp (m a) Source #

Compute the diagonal of a matrix

Instances
Trace Complex Source # 
Instance details

Defined in Data.Array.Accelerate.Linear.Trace

Trace Plucker Source # 
Instance details

Defined in Data.Array.Accelerate.Linear.Trace

Trace Quaternion Source # 
Instance details

Defined in Data.Array.Accelerate.Linear.Trace

Trace V0 Source # 
Instance details

Defined in Data.Array.Accelerate.Linear.Trace

Methods

trace :: (Num a, Box2 V0 V0 a) => Exp (V0 (V0 a)) -> Exp a Source #

diagonal :: Box2 V0 V0 a => Exp (V0 (V0 a)) -> Exp (V0 a) Source #

Trace V4 Source # 
Instance details

Defined in Data.Array.Accelerate.Linear.Trace

Methods

trace :: (Num a, Box2 V4 V4 a) => Exp (V4 (V4 a)) -> Exp a Source #

diagonal :: Box2 V4 V4 a => Exp (V4 (V4 a)) -> Exp (V4 a) Source #

Trace V3 Source # 
Instance details

Defined in Data.Array.Accelerate.Linear.Trace

Methods

trace :: (Num a, Box2 V3 V3 a) => Exp (V3 (V3 a)) -> Exp a Source #

diagonal :: Box2 V3 V3 a => Exp (V3 (V3 a)) -> Exp (V3 a) Source #

Trace V2 Source # 
Instance details

Defined in Data.Array.Accelerate.Linear.Trace

Methods

trace :: (Num a, Box2 V2 V2 a) => Exp (V2 (V2 a)) -> Exp a Source #

diagonal :: Box2 V2 V2 a => Exp (V2 (V2 a)) -> Exp (V2 a) Source #

Trace V1 Source # 
Instance details

Defined in Data.Array.Accelerate.Linear.Trace

Methods

trace :: (Num a, Box2 V1 V1 a) => Exp (V1 (V1 a)) -> Exp a Source #

diagonal :: Box2 V1 V1 a => Exp (V1 (V1 a)) -> Exp (V1 a) Source #