20 #ifndef __METRIC_TENSOR_HPP_
21 #define __METRIC_TENSOR_HPP_
24 #include "gsl/gsl_permutation.h"
29 double sign(gsl_permutation* p);
30 vector<int> ind_com(
int i,
int j,
int k,
int l);
31 int metric_tensor_position_array (
const Array<int>& idx,
int ndim);
32 int metric_tensor_position_index (
const Index& idx,
int ndim);
33 Array<int> metric_tensor_indices (
int pos,
int valence,
int ndim);
62 #ifdef TENSOR_MOVE_SEMANTIC
84 inline Metric_tensor::Metric_tensor (
const Space& sp,
int type_descr,
const Base_tensor& bb) :
85 Tensor (sp, 2, type_descr, 6, bb, 3) {
92 inline Metric_tensor::Metric_tensor (
const Metric_tensor& so,
bool copie) :
96 inline Metric_tensor::Metric_tensor (
const Space& sp, FILE* ff) :
Describes the tensorial basis used by the various tensors.
Particular type of Tensor, dedicated to the desription of metrics.
Metric_tensor & operator=(const Metric_tensor &)
Assignment to another Metric_tensor.
void std_base2()
Specialized base setting (for AADS)
Metric_tensor inverse()
Computes the inverse of the current objetc.
The Space class is an ensemble of domains describing the whole space of the computation.
virtual Tensor & operator=(const Tensor &)
Assignment to a Tensor.
int valence
Valence of the tensor (0 = scalar, 1 = vector, etc...)
int(* give_place_index)(const Index &, int)
Pointer on the function that gives the storage location corresponding to a set of indices values....
Array< int > type_indice
1D array of integers of size valence containing the type of each index: COV for a covariant one and C...
Array< int >(* give_indices)(int, int, int)
Pointer on the function that gives the indices corresponding to a give storage location.
int n_comp
Number of stored components, depending on the symmetry.
int(* give_place_array)(const Array< int > &, int)
Pointer on the function that gives the storage location corresponding to a set of indices values....