safe-tensor-0.2.1.0: 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 \(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 #