7. Working with order 12 invariants

Fully expanded relations for the fourth step of order 12 invariants take up too much memory to be loaded at the same time in a typical PC. We provide two versions of the database for the hardest cases of this step and order:
    - Non expanded: these rules have not been fully `simplified' taking into account all the other relations. As a result, they are both somewhat smaller and slower to use. The corresponding files in the database end in the string `NE'.
    - Expanded: these rules have been fully expanded. They are bigger but faster.
We can control which version to use with the global variable $ExpandedCommuteOrder12Q:

The default value is False, meaning that Invar will load the non expanded version.

In[223]:=

$ExpandedCommuteOrder12Q

Out[223]=

False

For example, let us take this invariant:

In[224]:=

inv = RInv[metric][{0, 3, 3}, 100]

Out[224]=

I_033,100

which is still independent after steps 2 and 3:

In[225]:=

InvSimplify[inv, 3]

Out[225]=

I_033,100

It can be expanded using the NE-rules for step 4:

In[226]:=

InvSimplify[%, 4]

Out[226]=

I_033,28 + I_0013,60 + 2 I_0013,480

but it is still not fully expanded, as this expression changes again under InvSimplify:

In[227]:=

InvSimplify[%, 4]

Out[227]=

I_033,28 + I_0013,22 + 2 I_0013,386

The rules take less than 20 Mbytes:

In[228]:=

ByteCount[RInvRules[4, {0, 3, 3}]]/1000./1024

Out[228]=

19.7127

Now remove the rules

In[229]:=

RemoveRInvRules[4, {0, 3, 3}]

and simplify again the invariant, now using the expanded rules. We get the fully expanded result

In[230]:=

$ExpandedCommuteOrder12Q = True ;

InvSimplify[inv, 4]

Reading InvRules for step 4 and case  {0, 3, 3}

Out[231]=

I_033,28 + I_0013,22 + 2 I_0013,386

but now the rules take more than 80 Mbytes:

In[232]:=

ByteCount[RInvRules[4, {0, 3, 3}]]/1000./1024

Out[232]=

84.0526

Tidy up:

In[233]:=

Clear[inv]


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