Copyright | (c) Nils Alex 2020 |
---|---|
License | MIT |
Maintainer | nils.alex@fau.de |
Safe Haskell | None |
Language | Haskell2010 |
Definitions of covariant and contravariant epsilon tensor densities like \(\epsilon_{abc}\).
Synopsis
- epsilon' :: forall (id :: Symbol) (n :: Nat) (is :: NonEmpty Symbol) (r :: Rank) v. (KnownNat n, Num v, EpsilonRank id n is ~ 'Just r, SingI r) => Sing id -> Sing n -> Sing is -> Tensor r v
- someEpsilon :: forall v m. (Num v, MonadError String m) => Demote Symbol -> Demote Nat -> [Demote Symbol] -> m (T v)
- epsilonInv' :: forall (id :: Symbol) (n :: Nat) (is :: NonEmpty Symbol) (r :: Rank) v. (KnownNat n, Num v, EpsilonInvRank id n is ~ 'Just r, SingI r) => Sing id -> Sing n -> Sing is -> Tensor r v
- someEpsilonInv :: forall v m. (Num v, MonadError String m) => Demote Symbol -> Demote Nat -> [Demote Symbol] -> m (T v)
- permSign :: (Num v, Ord a) => [a] -> v
Epsilon tensor densities
epsilon' :: forall (id :: Symbol) (n :: Nat) (is :: NonEmpty Symbol) (r :: Rank) v. (KnownNat n, Num v, EpsilonRank id n is ~ 'Just r, SingI r) => Sing id -> Sing n -> Sing is -> Tensor r v Source #
Totally antisymmetric covariant tensor density of weight -1 such that
\[ \epsilon_{12\dots n} = 1. \]
Vector space label, vector space dimension and index labels are passed as singletons.
someEpsilon :: forall v m. (Num v, MonadError String m) => Demote Symbol -> Demote Nat -> [Demote Symbol] -> m (T v) Source #
Totally antisymmetric covariant tensor density of weight -1 such that
\[ \epsilon_{12\dots n} = 1. \]
Vector space label, vector space dimension and index labels are passed as values. Result is existentially quantified.
epsilonInv' :: forall (id :: Symbol) (n :: Nat) (is :: NonEmpty Symbol) (r :: Rank) v. (KnownNat n, Num v, EpsilonInvRank id n is ~ 'Just r, SingI r) => Sing id -> Sing n -> Sing is -> Tensor r v Source #
Totally antisymmetric contravariant tensor density of weight +1 such that
\[ \epsilon^{12\dots n} = 1. \]
Vector space label, vector space dimension and index labels are passed as singletons.
someEpsilonInv :: forall v m. (Num v, MonadError String m) => Demote Symbol -> Demote Nat -> [Demote Symbol] -> m (T v) Source #
Totally antisymmetric contravariant tensor density of weight +1 such that
\[ \epsilon^{12\dots n} = 1. \]
Vector space label, vector space dimension and index labels are passed as values. Result is existentially quantified.