Christoffel Symbols Module

This module contains the class for obtaining Christoffel Symbols related to a Metric belonging to any arbitrary space-time symbolically:

class einsteinpy.symbolic.christoffel.ChristoffelSymbols(arr, syms, config='ull', parent_metric=None)

Class for defining christoffel symbols

Constructor and Initializer

Parameters
  • arr (ImmutableDenseNDimArray or list) – Sympy Array or multi-dimensional list containing Sympy Expressions

  • syms (tuple or list) – Tuple of crucial symbols dentoting time-axis, 1st, 2nd, and 3rd axis (t,x1,x2,x3)

  • config (str) – Configuration of contravariant and covariant indices in tensor. ‘u’ for upper and ‘l’ for lower indices. Defaults to ‘ull’.

  • parent_metric (MetricTensor) – Metric Tensor from which Christoffel symbol is calculated. Defaults to None.

Raises
  • TypeError – Raised when arr is not a list or sympy Array

  • TypeError – syms is not a list or tuple

  • ValueError – config has more or less than 3 indices

property parent_metric

Returns the Metric from which Christoffel Symbol was derived, if available.

classmethod from_metric(metric)

Get Christoffel symbols calculated from a metric tensor

Parameters

metric (MetricTensor) – Space-time Metric from which Christoffel Symbols are to be calculated

change_config(newconfig='lll', metric=None)

Changes the index configuration(contravariant/covariant)

Parameters
  • newconfig (str) – Specify the new configuration. Defaults to ‘lll’

  • metric (MetricTensor or None) – Parent metric tensor for changing indices. Already assumes the value of the metric tensor from which it was initialized if passed with None. Compulsory if not initialized with ‘from_metric’. Defaults to None.

Returns

New tensor with new configuration. Defaults to ‘lll’

Return type

ChristoffelSymbols

Raises

Exception – Raised when a parent metric could not be found.

symbols()

Returns the symbols used for defining the time & spacial axis

Returns

tuple containing (t,x1,x2,x3)

Return type

tuple