Copyright | (c) Artem Chirkin |
---|---|
License | MIT |
Maintainer | chirkin@arch.ethz.ch |
Safe Haskell | None |
Language | Haskell2010 |
Documentation
class Dimensions ds where Source #
Dimensions ([] Nat) Source # | |
(KnownNat d, Dimensions ds) => Dimensions ((:) Nat d ds) Source # | |
printCrazy :: Dimensions d => Dim d -> String Source #
contraDimsType :: Tensor t n m -> Dim n Source #
coDimsType :: Tensor t n m -> Dim m Source #
contraDims :: Dimensions n => Tensor t n m -> [Int] Source #
class TensorCalculus t ns ms Source #
TensorCalculus t ([] Nat) ([] Nat) Source # | |
TensorCalculus t ([] Nat) ((:) Nat m1 ((:) Nat m2 ((:) Nat m3 ms))) Source # | |
TensorCalculus t ([] Nat) ((:) Nat m1 ((:) Nat m2 ([] Nat))) Source # | |
TensorCalculus t ([] Nat) ((:) Nat m ([] Nat)) Source # | |
TensorCalculus t ((:) Nat n1 ((:) Nat n2 ((:) Nat n3 ns))) ([] Nat) Source # | |
TensorCalculus t ((:) Nat n1 ((:) Nat n2 ([] Nat))) ([] Nat) Source # | |
TensorCalculus t ((:) Nat n ([] Nat)) ([] Nat) Source # | |
TensorCalculus t ((:) Nat n1 ((:) Nat n2 ((:) Nat n3 ns))) ((:) Nat m1 ((:) Nat m2 ((:) Nat m3 ms))) Source # | |
TensorCalculus t ((:) Nat n1 ((:) Nat n2 ([] Nat))) ((:) Nat m1 ((:) Nat m2 ((:) Nat m3 ms))) Source # | |
TensorCalculus t ((:) Nat n1 ([] Nat)) ((:) Nat m1 ((:) Nat m2 ((:) Nat m3 ms))) Source # | |
TensorCalculus t ((:) Nat n1 ((:) Nat n2 ((:) Nat n3 ns))) ((:) Nat m0 ((:) Nat m1 ([] Nat))) Source # | |
TensorCalculus t ((:) Nat n1 ((:) Nat n2 ((:) Nat n3 ns))) ((:) Nat m0 ([] Nat)) Source # | |
TensorCalculus t ((:) Nat n ([] Nat)) ((:) Nat m ([] Nat)) Source # | |
Num t => Plus (Vector4 t) Source # | |
Num t => Plus (Vector3 t) Source # | |
Num t => Plus (Vector2 t) Source # | |
Num t => Plus (Vector1 t) Source # | |
Num t => Plus (VectorN t n) Source # | |
Plus (SomeVector t m) => Plus (Tensor t ([] Nat) ((:) Nat m ([] Nat))) Source # | |
Plus (SomeVector t n) => Plus (Tensor t ((:) Nat n ([] Nat)) ([] Nat)) Source # | |
Vector1 t |
Vector2 t t |
Vector3 t t t |
Vector4 t t t t |
VectorN [t] |
type family SomeVector t (n :: Nat) = v | v -> t n where ... Source #
SomeVector t 1 = Vector1 t | |
SomeVector t 2 = Vector2 t | |
SomeVector t 3 = Vector3 t | |
SomeVector t 4 = Vector4 t | |
SomeVector t n = VectorN t n |
type family SomeMatrix t (n :: Nat) (m :: Nat) = v | v -> t n m where ... Source #
SomeMatrix t 1 1 = Matrix1x1 t | |
SomeMatrix t 2 2 = Matrix2x2 t | |
SomeMatrix t n m = MatrixNxM t n m |