Loading [MathJax]/jax/output/HTML-CSS/jax.js

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 S2V into V×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×V onto S2V

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 S2V

Kronecker delta on S2V

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 #