DefVBundle

DefVBundle[vbundle, manifold, dimF, {a, b, c, ...}] defines vbundle to be a vector bundle with base manifold, with a vectorial fiber of dimension dimF and tensor abstract indices a, b, c, ...
DefVBundle[vbundle, manifold, {B1, ..., Bm}, {a, b, c, ...}] defines vbundle to be the direct sum vector bundle of previously defined vector bundles B1, ..., Bm over the base product manifold.

• Currently vbundle must be a valid Mathematica symbol, not in use in the present session with any other meaning. In the future a pattern will also be valid to allow for "indexed names".
• The list of all currently defined vector bundles is stored in the global variable $VBundles. All of them have associated upvalues True for the function VBundleQ. They have type VBundle.
• The base manifold of the vbundle is stored as an upvalue for the function BaseOfVBundle.
• The dimension dimF is that of the fiber vector space, and is not necessarily related to the dimension of the base manifold. The fiber dimension is stored as an upvalue of vbundle for the function DimOfVBundle. It can be any positive integer (not 0) or a constant symbol.
The (nonempty) list {a, b, c, ...} is stored as the first element of two in the list IndicesOfVBundle. The second element will be the list of indices internally generated when the number of registered indices is not enough. See the function NewIndexIn. Indices can be added to the first list (AddIndices) or removed from it (RemoveIndices), even though the latter is very dangerous. We can get any number of abstract indices using the function GetIndicesOfVBundle. Unique dummy (dollar) indices can be obtained using DummyIn.
• A vector bundle can have subvbundles (see SubvbundlesOfVBundle) and can be contained in other vbundles, due to the possibility of defining direct-sum vector bundles. The function SubvbundleQ checks that a first vbundle contains a second vbundle.
• When a direct-sum vbundle is defined, we check that the product manifold actually contains all needed base manifolds for the subvbundles B1, ..., Bm.
• A vbundle is defined as real by default (perhaps later complexified) but can also be defined as complex using the option Dagger -> Complex.
• Any manifold with non-zero dimension has an associated real vbundle called its tangent bundle, with the same dimension. The name is formed by joining the symbol Tangent with the name of the manifold, and it is stored as an upvalue for the function TangentBundleOfManifold.
• When a complex vbundle is defined its complex conjugate vbundle is also defined. The name of the latter is formed by appending the symbol $DaggerCharacter to the name of the vbundle.
• A vundle can have one or several metrics, stored as an upvalue list for the function MetricsOfVBundle. When the vbundle has at least one metric then the function MetricEndowedQ returns True on that vbundle.
• Options:
Info                {"vbundle", ""}        information on the vbundle
Master            Null                master symbol for the vbundle
PrintAs            Identity            string or function of symbol for output
ProtectNewSymbol    $ProtectNewSymbols    whether to protect new symbol or not
Dagger            Real                behaviour of the vbundle under complex conjugation
• See: Section 4.3.
• See also: UndefVBundle, DefManifold.
• New in version 0.
• Last update: 15-V-2008 for version 0.9.5 of xTensor`.

Further Examples


Created by Mathematica  (May 16, 2008) Valid XHTML 1.1!