safe-tensor-0.2.0.0: Dependently typed tensor algebra

Copyright(c) Nils Alex 2020
LicenseMIT
Maintainernils.alex@fau.de
Safe HaskellNone
LanguageHaskell2010

Math.Tensor.Basic.Sym2

Contents

Description

Definitions of symmetric tensors.

Synopsis

Flat positive-definite metric

gamma :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (r :: Rank) v. ('['(VSpace id n, Cov (a :| '[b]))] ~ r, (a < b) ~ True, SingI n, Num v) => Tensor r v Source #

gamma' :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (r :: Rank) v. ('['(VSpace id n, Cov (a :| '[b]))] ~ r, (a < b) ~ True, SingI n, Num v) => Sing id -> Sing n -> Sing a -> Sing b -> Tensor r v Source #

gammaInv :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (r :: Rank) v. ('['(VSpace id n, Con (a :| '[b]))] ~ r, (a < b) ~ True, SingI n, Num v) => Tensor r v Source #

gammaInv' :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (r :: Rank) v. ('['(VSpace id n, Con (a :| '[b]))] ~ r, (a < b) ~ True, SingI n, Num v) => Sing id -> Sing n -> Sing a -> Sing b -> Tensor r v Source #

Flat Lorentzian metric

eta :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (r :: Rank) v. ('['(VSpace id n, Cov (a :| '[b]))] ~ r, (a < b) ~ True, SingI n, Num v) => Tensor r v Source #

eta' :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (r :: Rank) v. ('['(VSpace id n, Cov (a :| '[b]))] ~ r, (a < b) ~ True, SingI n, Num v) => Sing id -> Sing n -> Sing a -> Sing b -> Tensor r v Source #

etaInv :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (r :: Rank) v. ('['(VSpace id n, Con (a :| '[b]))] ~ r, (a < b) ~ True, SingI n, Num v) => Tensor r v Source #

etaInv' :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (r :: Rank) v. ('['(VSpace id n, Con (a :| '[b]))] ~ r, (a < b) ~ True, SingI n, Num v) => Sing id -> Sing n -> Sing a -> Sing b -> Tensor r v Source #

Injections from \(S^2V\) into \(V\times V\)

injSym2Con' :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (i :: Symbol) (r :: Rank) v. (InjSym2ConRank id n a b i ~ Just r, SingI r, Num v) => Sing id -> Sing n -> Sing a -> Sing b -> Sing i -> Tensor r v Source #

injSym2Cov' :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (i :: Symbol) (r :: Rank) v. (InjSym2CovRank id n a b i ~ Just r, SingI r, Num v) => Sing id -> Sing n -> Sing a -> Sing b -> Sing i -> Tensor r v Source #

Surjections from \(V\times V\) onto \(S^2V\)

surjSym2Con' :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (i :: Symbol) (r :: Rank) v. (SurjSym2ConRank id n a b i ~ Just r, SingI r, Fractional v) => Sing id -> Sing n -> Sing a -> Sing b -> Sing i -> Tensor r v Source #

surjSym2Cov' :: forall (id :: Symbol) (n :: Nat) (a :: Symbol) (b :: Symbol) (i :: Symbol) (r :: Rank) v. (SurjSym2CovRank id n a b i ~ Just r, SingI r, Fractional v) => Sing id -> Sing n -> Sing a -> Sing b -> Sing i -> Tensor r v Source #

Vertical coefficients for functions on \(S^2V\)

Kronecker delta on \(S^2V\)

Internals

trianMapSym2 :: forall a. Integral a => a -> Map (Vec (S (S Z)) Int) Int Source #

facMapSym2 :: forall a b. (Integral a, Num b) => a -> Map (Vec (S (S Z)) Int) b Source #

sym2Assocs :: forall (n :: Nat) v. Num v => Sing n -> [(Vec (S (S (S Z))) Int, v)] Source #

sym2AssocsFac :: forall (n :: Nat) v. Fractional v => Sing n -> [(Vec (S (S (S Z))) Int, v)] Source #