Loading [MathJax]/jax/output/HTML-CSS/jax.js
safe-tensor-0.2.1.1: Dependently typed tensor algebra
Copyright(c) Nils Alex 2020
LicenseMIT
Maintainernils.alex@fau.de
Safe HaskellNone
LanguageHaskell2010

Math.Tensor.Basic.Sym2

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 #