One can save time in inputting various types of starting relations easily by using the command NCMakeRelations.
In[12]:= <<NCMakeRelations.m
In[13]:= NCMakeRelations[{Inv,y,1-y}] Out[13]= { y ** Inv[y] == 1, Inv[y] ** y == 1, (1 - y) ** Inv[1 - y] == 1, Inv[1 - y] ** (1 - y) == 1} |
WARNING
It is traditional in mathematics to use only single characters for indeterminates (e.g., x, y and α). However, we allow these indeterminate names as well as more complicated constructs such as
Besides Inv many more functions are facilitated by NCMakeRelations, see Section 22.0.1.
One can save time when working in an algebra with transposes or adjoints by using the command NCAddTranpose[ ] or NCAddAdjoint[ ]. These commands “symmetrize” a set of relations by applying tp[ ] or aj[ ] to the relations and returning a list with the new expressions appended to the old ones. This saves the user the trouble of typing both a = b and tp[a] = tp[b].
NCAddTranspose[ { a + b , tp[b] == c + a } ]
|
returns
{ a + b , tp[b] == c + a, b == tp[c] + tp[a], tp[a] + tp[b] }
|
One can save time in setting the monomial order by not including all of the indeterminants found in a set of relations, only the variables which they are made of. NCAutomaticOrder[aMonomialOrder, aListOfPolynomials] inserts all of the indeterminants found in aListOfPolynomials into aMonomialOrder and sets this order. NCAutomaticOrder[ aListOfPolynomials] inserts all of the indeterminants found in aListOfPolynomials into the ambient monomial order. If x is an indeterminant found in aMonomialOrder then any indeterminant whose symbolic representation is a function of x will appear next to x.
NCAutomaticOrder[{{a},{b}}, { a**Inv[a]**tp[a] + tp[b]}]
|
would set the order to be a < tp[a] < Inv[a] ≪ b < tp[b].