Description: This command allows the user to easily generate certain lists of polynomials which
can be used as input to NCMakeRules. We begin with some examples and then explain the
command in the third paragraph of this subsection. Suppose that z1, z2, z3 and z4 have
been set to be noncommutative (if not, just type SetNonCommutative[z1,z2,z3,z4]). If one
types
then this function returns the list
NCMakeRelations takes any number of arguments and each of its arguments is a List. For
each list, the first word describes the type of relations and the other elements
can be either simple expressions (like x, y, 1 - y **x, 1 - x **y, etc.) or square
matrices with symbolic entries (such as in the example above) or any mixture of
these two types of data. We now list the allowed types of relations. Some of the
relations are stated in terms of the hereditary functional calculus of Jim Agler (see
HereditaryCalculus.m).
Isometry (i.e., T such that T*T - 1 = 0 )
CoIsometry (i.e., T such that TT*- 1 = 0 )
SelfAdjoint (i.e., T such that T*- T = 0)
Projection (i.e., T such that T2- T = 0)
InvL (i.e., T such that InvL[T] **T = 1)
InvR (i.e., T such that T **InvR[T] = 1)
Inv (i.e., T such that Inv[T] **T = 1 and T **Inv[T] = 1)
Rt (i.e., T such that Rt[T]2= T)
Pinv (i.e., T such that T **Pinv[T] **T = T, Pinv[T] **T **Pinv[T] = Pinv[T],tp[T **Pinv[T]] = T **Pinv[T], tp[Pinv[T] **T] = Pinv[T] **T)
PerpL (i.e., T such that PerpL[T] **T = 0)
PerpR (i.e., T such that T **PerpR[T] = 0)
PerpL2 (i.e., T such that 1-T**Pinv[T] = PerpL2[T] and tp[PerpL2[T]] = PerpL2[T])
PerpR2 (i.e., T such that 1 - Pinv[T] * *T = PerpR2[T] and tp[PerpR2[T]] =PerpR2[T])
Isometry[aInteger] (where aInteger is a natural number) (i.e., T such that (yx -1)aInteger(T) = 0)
Symmetry[aInteger] (where aInteger is a natural number) (i.e., T such that (y -x)aInteger(T) = 0)
Isosymmetry (i.e., T such that (yx - 1)(y - x)(T) = 0 or equivalently T*2T - T*T2-T*+ T = 0). These extremely important operators were the subject of Mark Stankusincredible thesis.
Arguments: aSpecialList is a list whose first element is one of the allowed types above and
the rest of whose elements are either simple expressions or square matrices.
Comments / Limitations: Not available before NCAlgebra 1.2
22.1 Output notation for pseudoinverse and perp’s
22.1.1 NCAddTranspose[aListOfExpressions]
Aliases:
Description: One can save time when working in an algebra with transposes or adjoints
by using the command NCAddTranspose[ ]. These commands “symmetrize” a set of
relations by applying tp[ ] 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].
Arguments: aListOfExpressions is a list of expressions
Comments / Limitations:
22.1.2 NCAddAdjoint[aListOfExpressions]
Aliases:
Description: One can save time when working in an algebra with transposes or adjoints by
using the command NCAddAdjoint[ ]. These commands “symmetrize” a set of relations
by applying 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 aj[a] = aj[b].
Arguments: aListOfExpressions is a list of expressions
Comments / Limitations:
22.1.3 Pulling important equations into your session from an NCProcess output - See
GetCategories in §23.0.5.
22.1.4 Help in typing Monomial Orders - See NCAutomaticOrder Section 18.4.6