Digi Area Group - Math Tools for Professionals
   Maple and Mathematica packages - math tools for professionals

atlas™ - modern differential geometry for Maple™

> Features List & Examples
> Template Worksheets
> Screenshots
> Documentation & Downloads
> License & Pricing
> Buy Online

 
 
 
 
Google

Features List & Examples  |  Introduction  |  Dimension  |  Indexing  |  Forms  |  Metric  |  atlasWizard - Maplet™

Atlas package simplification routine

Description:

  • The size of  computations involving mappings, tensors, p-forms  can grow quite rapidly. Thus some simplification must be done during the computations. But the type of simplification depends on the particular computation, the coframe and the metric of the geometry involved. This is why the simplification routine `atlas/simp`  is presented. By redefining the simplification routine the user can customize the way simplification is done at each step of computation.
  • It should be pointed out that in the atlas  package there is no need to use separate simplification routine for each computation routine . It is just because the tensor quantities in the atlas  package are linear combinations of tensors, vectors and p-forms declared.
  • The simplification routine must take a single algebraic argument and return something (presumably a simpler version of the argument) of an algebraic type.
  • Once the user has customized the simplification routine for a particular problem, it can be written to a file (see save ) so that it is easily retrievable in subsequent sessions.

Examples:
with(atlas):
interface(verboseproc=2):

To what is the simplifier initialized?
eval(`atlas/simp`);

proc (a) option `Copyright (c) 2002 by A. Shklyaev. All rights reserved.`; normal(a) end proc

Now suppose that we wish to change the simplifier so that it use Maple™ "simplify" function instead of "normal". We can accomplish this easily:
`atlas/simp`:=proc(x) simplify(x) end;

`atlas/simp` := proc (x) simplify(x) end proc

Now suppose that we wish to simplify each component of a tensor quantity, make the substitution cos(theta)^2 = 1 - sin(theta)^2, and then factor the result. We can do this by re-defining the `atlas/simp` procedure:

`atlas/simp`:=proc(x)
    simplify(x);
    subs(cos(theta)^2 = 1 - sin(theta)^2, %);
    factor(%);
 end;

`atlas/simp` := proc (x) simplify(x); subs(cos(theta)^2 = 1-sin(theta)^2,%); factor(%) end proc

See Also:

atlas , atlas[`&/`]   , atlas[examples]