SheafSystem  0.0.0.0
fiber_spaces Directory Reference

Files

file  any_lite.cc [code]
 Implementation for class any_lite.
 
file  any_lite.h [code]
 Interface for class any_lite.
 
file  at0.cc [code]
 Implementation for class at0.
 
file  at0.h [code]
 Interface for class at0.
 
file  at0.impl.h [code]
 Implementation for at0 facet function templates.
 
file  at1.cc [code]
 Implementation for class at1.
 
file  at1.h [code]
 Interface for class at1.
 
file  at1.impl.h [code]
 Implementation for at1 facet function templates.
 
file  at2.cc [code]
 Implementation for class at2.
 
file  at2.h [code]
 Interface for class at2.
 
file  at2.impl.h [code]
 Implementation for at2 facet function templates.
 
file  at2_e2.cc [code]
 Implementation for class at2_e2.
 
file  at2_e2.h [code]
 Interface for at2_e2 facet function templates.
 
file  at2_e2.impl.h [code]
 Implementation for class at2_e2.
 
file  at2_e3.cc [code]
 Implementation for class at2_e3.
 
file  at2_e3.h [code]
 Interface for class at2_e3.
 
file  at2_e3.impl.h [code]
 Implementation for class at2_e3.
 
file  at3.cc [code]
 Implementation for class at3.
 
file  at3.h [code]
 Interface for class at3.
 
file  at3.impl.h [code]
 Implementation for at3 facet function templates.
 
file  at3_e3.h [code]
 Interface for class at3_e3.
 
file  at3_e3.impl.h [code]
 Implementation for class at3_e3.
 
file  atp.cc [code]
 Implementation for class atp.
 
file  atp.h [code]
 Interface for class atp.
 
file  atp.impl.h [code]
 Implementation for atp facet function templates.
 
file  e1.cc [code]
 Implementation for class e1.
 
file  e1.h [code]
 Interface for class e1.
 
file  e1.impl.h [code]
 Implementation for class e1.
 
file  e2.cc [code]
 Implementation for class e2.
 
file  e2.h [code]
 Interface for class e2.
 
file  e2.impl.h [code]
 Implementation for e2 facet function templates.
 
file  e3.cc [code]
 Implementation for class e3.
 
file  e3.h [code]
 Interface for class e3.
 
file  e3.impl.h [code]
 Implementation for class e3.
 
file  e4.cc [code]
 Implementation for class e4.
 
file  e4.h [code]
 Interface for class e4.
 
file  e4.impl.h [code]
 Implementation for class e4.
 
file  ed.cc [code]
 Implementation for class ed.
 
file  ed.h [code]
 Interface for class ed.
 
file  ed.impl.h [code]
 Implementation for ed facet function templates.
 
file  gl2.cc [code]
 Implementation for class gl2.
 
file  gl2.h [code]
 Interface for class gl2.
 
file  gl2.impl.h [code]
 Implementation for class gl2.
 
file  gl3.cc [code]
 Implementation for class gl3.
 
file  gl3.h [code]
 Interface for class gl3.
 
file  gl3.impl.h [code]
 Implementation for class gl3.
 
file  gln.cc [code]
 Implementation for class gln.
 
file  gln.h [code]
 Interface for class gln.
 
file  gln.impl.h [code]
 Implementation for gln facet function templates.
 
file  gln_table_dofs_type.h [code]
 Interface for class gln_table_dofs_type.
 
file  group.cc [code]
 Implementation for class group.
 
file  group.h [code]
 Interface for abstract class group.
 
file  group.impl.h [code]
 Implementation for group facet function templates.
 
file  jcb.cc [code]
 Implementation for class jcb.
 
file  jcb.h [code]
 Interface for class jcb.
 
file  jcb.impl.h [code]
 Implementation for jcb facet function templates.
 
file  jcb_e13.cc [code]
 Implementation for class jcb_e13.
 
file  jcb_e13.h [code]
 Interface for class jcb_e13.
 
file  jcb_e13.impl.h [code]
 Implementation for class jcb_e13.
 
file  jcb_e23.cc [code]
 Implementation for class jcb_e23.
 
file  jcb_e23.h [code]
 Interface for class jcb_e23.
 
file  jcb_e23.impl.h [code]
 Implementation for class jcb_e23.
 
file  jcb_e33.cc [code]
 Implementation for class jcb_e33.
 
file  jcb_e33.h [code]
 Interface for class jcb_e33.
 
file  jcb_e33.impl.h [code]
 Implementation for class jcb_e33.
 
file  jcb_ed.cc [code]
 Implementation for class jcb_ed.
 
file  jcb_ed.h [code]
 Interface for class jcb_ed.
 
file  jcb_ed.impl.h [code]
 Implementation for jcb facet function templates.
 
file  jcb_table_dofs_type.h [code]
 Interface for class jcb_table_dofs_type.
 
file  met.cc [code]
 Implementation for class met.
 
file  met.h [code]
 Interface for class met.
 
file  met.impl.h [code]
 Implementation for met facet function templates.
 
file  met_e1.cc [code]
 Implementation for class met_e1.
 
file  met_e1.h [code]
 Interface for class met_e1.
 
file  met_e1.impl.h [code]
 Implementation for class met_e1.
 
file  met_e2.cc [code]
 Implementation for class met_e2.
 
file  met_e2.h [code]
 Interface for class met_e2.
 
file  met_e2.impl.h [code]
 Implementation for class met_e2.
 
file  met_e3.cc [code]
 Implementation for class met_e3.
 
file  met_e3.h [code]
 Interface for class met_e3.
 
file  met_e3.impl.h [code]
 Implementation for class met_e3.
 
file  met_ed.cc [code]
 Implementation for class met_ed.
 
file  met_ed.h [code]
 Interface for class met_ed.
 
file  met_ed.impl.h [code]
 Implementation for met_ed facet function templates.
 
file  st2.cc [code]
 Implementation for class st2.
 
file  st2.h [code]
 Interface for class st2.
 
file  st2.impl.h [code]
 Implementation for st2 facet function templates.
 
file  st2_e2.cc [code]
 Implementation for class st2_e2.
 
file  st2_e2.h [code]
 Interface for class st2_e2.
 
file  st2_e2.impl.h [code]
 Implementation for st2_e2 facet function templates.
 
file  st2_e3.cc [code]
 Implementation for class st2_e3.
 
file  st2_e3.h [code]
 Interface for class st2_e3.
 
file  st2_e3.impl.h [code]
 Implementation for class st2_e3.
 
file  st3.cc [code]
 Implementation for class st3.
 
file  st3.h [code]
 Interface for class st3.
 
file  st3.impl.h [code]
 Implementation for st3 facet function templates.
 
file  st3_e3.h [code]
 Interface for class st3_e3.
 
file  st3_e3.impl.h [code]
 Implementation for class st3_e3.
 
file  st4.cc [code]
 Implementation for class st4.
 
file  st4.h [code]
 Interface for class st4.
 
file  st4_e2.cc [code]
 Implementation for class st4_e2.
 
file  st4_e2.h [code]
 Interface for class st4_e2.
 
file  st4_e2.impl.h [code]
 Implementation for class st4_e2.
 
file  st4_e3.h [code]
 Interface for class st4_e3.
 
file  st4_e3.impl.h [code]
 Implementation for class st4_e3.
 
file  stp.cc [code]
 Implementation for class stp.
 
file  stp.h [code]
 Interface for class stp.
 
file  stp.impl.h [code]
 Implementation for stp facet function templates.
 
file  t2.cc [code]
 Implementation for class t2.
 
file  t2.h [code]
 Interface for class t2.
 
file  t2_e2.cc [code]
 Implementation for class t2_e2.
 
file  t2_e2.h [code]
 Interface for class t2_e2.
 
file  t2_e2.impl.h [code]
 Implementation for t2_e2 facet function templates.
 
file  t2_e3.cc [code]
 Implementation for class t2_e3.
 
file  t2_e3.h [code]
 Interface for class t2_e3.
 
file  t2_e3.impl.h [code]
 Implementation for class t2_e3.
 
file  t3.cc [code]
 Implementation for class t3.
 
file  t3.h [code]
 Interface for class t3.
 
file  t3_e3.cc [code]
 Implementation for class t3_e3.
 
file  t3_e3.h [code]
 Interface for class t3_e3.
 
file  t3_e3.impl.h [code]
 Implementation for class t3_e3.
 
file  t4.cc [code]
 Implementation for class t4.
 
file  t4.h [code]
 Interface for class t4.
 
file  t4_e2.cc [code]
 Implementation for class t4_e2.
 
file  t4_e2.h [code]
 Interface for class t4_e2.
 
file  t4_e2.impl.h [code]
 Implementation for class t4_e2.
 
file  t4_e3.cc [code]
 Implementation for class t4_e3.
 
file  t4_e3.h [code]
 Interface for class t4_e3.
 
file  t4_e3.impl.h [code]
 Implementation for class t4_e3.
 
file  tensor_variance.cc [code]
 Implementation for class tensor_variance.
 
file  tensor_variance.h [code]
 Interface for class tensor_variance.
 
file  tp.cc [code]
 Implementation for class tp.
 
file  tp.h [code]
 Interface for class tp.
 
file  tp.impl.h [code]
 Implementation for tp facet function templates.
 
file  tp_table_dofs_type.h [code]
 Interface for class tp_table_dofs_type.
 
file  tuple.cc [code]
 Implementation for class tuple.
 
file  tuple.h [code]
 Interface for class tuple.
 
file  tuple.impl.h [code]
 Implementation for tuple facet function templates.
 
file  tuple_table_dofs_type.h [code]
 Interface for class tuple_table_dofs_type.
 
file  vd.cc [code]
 Implementation for class vd.
 
file  vd.h [code]
 Interface for class vd.
 
file  vd.impl.h [code]
 Implementation for vd facet function templates.
 
file  vd_table_dofs_type.h [code]
 Interface for class vd_table_dofs_type.
 

Detailed Description

Fiber Algebra

The classes in the fiber_spaces cluster provide the various algebraic types used in theoretical physics to describe the properties of particles and systems. Each of these algebraic types has an associated set of operations, an algebra. In this overview we summarize the operations associated with each type. See the class documentation for a complete descriptiuon of the operations and the numerous signatures supported for each operation.

Abstract vectors (vector algebra)

Class vd and its descendants support the operations of vector algebra (linear algebra). The main(int xargc, char* xargv[]) operations are:

add Add two vectors.
subtract Subtract one vector from another.
multiply Multiply a vector by a scalar.
divide Divide a vector by a scalar.
min Find the minimum component of a vector.
max Find the maximum component of a vector.
contract Contract a vector with a covector.

Euclidean vectors (Euclidean vector algebra)

dot The Euclidean scalar product of two vectors.
length The length of a vector.
put_length Sets the length of a vector.
normalize Sets the length of a vector to 1.
cross The vector ("cross") product of an e3 vector with another.

General tensors

Class tp and its descendants support general tensor algebra. The main(int xargc, char* xargv[]) operations are:

tensor The tensor product of one tensor with another.
alt The antisymmetric ("alternating") part of a tensor.
sym The symmetric part of a tensor.
contract Contract a tensor on one contravariant and one covariant index.

Antisymmetric tensors (exterior algebra)

Class atp and its descendants support exterior algebra. the main(int xargc, char* xargv[]) operations are:

wedge The exterior ("wedge") product of two antisymmetric tensors.
hook The interior ("hook") product of an antisymmetric tensor and a vector.
star The Hodge star ("dual") of an antisymmetric tensor.

Symmetric tensors (symmetric algebra)

symmetric_product The symmetric product of one symmetric tensor with another.
trace The trace of a degree 2 symmetric tensor.
determinant The determinant of a degree 2 symmetric tensor.
to_principal_axes Diagonalizes a degree 2 symmetric tensor.

Metric tensors

raise Make a given index of a tensor contravariant.
lower Make a given index of a tensor covariant.

Jacobians

push Push a vector from the domain(int xargc, char* xargv[]) to the range of a Jacobian.
pull Pull a covector from the range to the domain(int xargc, char* xargv[]) of a Jacobian.

Transformation groups

inverse The inverse of a linear transformation
transform_basis_by Transform the basis and components of a tensor

Multiple signatures

Each of the above operations is represented by a family of functions implementing multiple signatures for the operation. Typically each operation is provided for both regular fiber types and the associated lite fiber types. In addition, auto-allocated, pre-allocated and self-allocated variants are provided. Finally, whenver it makes sense, operator variants are provided. As an example, the full set of functions for the add operation is as follows:

///
/// x0 add x1 (auto-allocated version for lite types).
///

template <typename T> T* add(const T& x0, const T&amp x1);

///
/// x0 add x1 (pre-allocated version for regular types).
///

void add(const vd& x0, const vd& x1, vd& xresult, bool xauto_access);

///
/// x0 add x1 (pre-allocated version for lite types).
///

void add(const vd_lite& x0, const vd_lite& x1, vd_lite& xresult);

///
/// x0 add_equal x1 (self-allocated version for regular types);
/// synonym for add(xresult, xother, xresult, xauto_access).
///

void add_equal(vd& xresult, const vd& xother, bool xauto_access);

///
/// x0 add_equal x1 (self-allocated version for lite types).
///

template <typename T> void add_equal(T& xresult, const T& xother);

///
/// x0 + x1 (auto-allocated for lite types);
/// synonym for add(x0, x1).
///

template <typename T> T* operator+(const T& x0, const T& x1);

///
/// x0 += x1 (self-allocated for lite types);
/// synonym for add_equal(x0, x1).
///

template <typename T> T& operator+=(T& xresult, const T& xother);

The full fiber algebra consists of all the various signatures for all the various operations and thus contains approximately 100 functions.