atlas[Domain] - declaration of a manifold or its domain 

Calling Sequence: 

    Domain(manifold)
    Domain()
 

Parameters: 

    manifold - string - a manifold name or a name of a manifold domain  

Description: 

The Domain procedure allows one to declare different manifolds (or domains of a manifold) in one session; each manifold (domain) can have its own dimension, coframe, frame, metric tensor field etc. Mapping between manifolds (domains) can be declared by the procedure Mapping. (see atlas[Mapping]). 

The Domain procedure can be used in three ways: 

  • Domain(NewName) - declares a manifold (or a domain of a manifold) named NewName and puts NewName as current (working) domain.
 

  • Domain(OldName) - makes a manifold (or a domain of a manifold) named OldName (declared later) as current (working) domain.
 

  • Domain() - returns the name of the current domain.
 

If the user does not going to work with different manifolds in the one session then there is no need to use the Domain procedure. 

Examples: 

> restart:
with(atlas):
 

Declare domain named `*`(`^`(S, 3)):  

> Domain(S^3);
 

`*`(`^`(S, 3))(2.1)
 

Declare domain named `*`(`^`(T, 2)): 

> Domain(T^2);
 

`*`(`^`(T, 2))(2.2)
 

Show current domain: 

> Domain();
 

`*`(`^`(T, 2))(2.3)
 

Return to the previous domain: 

> Domain(S^3);
 

`*`(`^`(S, 3))(2.4)
 

Show current domain: 

> Domain();
 

`*`(`^`(S, 3))(2.5)
 

Let's see "who is who":
Who(); 

piecewise(Domains, {`*`(`^`(S, 3)), `*`(`^`(T, 2))}, Mappings, {}, Tensors, {}, Forms, {}, Constants, {`+`(`-`(I)), I, Pi, _Z, Catalan}, Functions, {})(2.6)
 

>
 

See Also:  

atlas, atlas[Mapping], atlas[`&/`], atlas[Who] .