4.7 Operations on elements in an algebra

4.7.1 inv[x]

Aliases: None
Description: Inverse – a ** inv[a]=inv[a] ** a=Id
Arguments: x is a symbol.
Comments / Limitations: Warning: NCAlgebra does not check that inv[x] exists or even that it makes sense (e.g. non-square matrices). This is the responsibility of the user.

4.7.2 invL[x]

Aliases: invL
Description: Left inverse – invL[a] ** a=Id
Arguments: x is a symbol
Comments / Limitations: Warning. NCAlgebra does not check that invL[x] exists. This is the responsibility of the user.

4.7.3 invR[x]

Aliases: invR
Description: invR[x] is the right inverse – a ** invR[a]=Id
Arguments: x is a symbol
Comments / Limitations: Warning. NCAlgebra does not check that invR[x] exists. This is the responsibility of the user.

4.7.4 invQ[x]

Aliases: None
Description: invQ[m] = True forces invR[m] and invL[m] to be rewritten as inv[m]
Arguments: x is an expression.
Comments / Limitations: We never use this command.

4.7.5 ExpandQ[inv]

Aliases: None
Description: If ExpandQ[inv] is set to True, an inverse of a product will be expanded to a product of inverses. If it is set to False, then a product of inverses will be rewritten to be a inverse of a product.
Arguments: inv
Comments / Limitations: None

4.7.6 ExpandQ[tp]

Aliases: None
Description: If ExpandQ[tp] is set to True, a transpose of a product will be expanded to a product of transposes. If it is set to False, then a product of transposes will be rewritten to be a transpose of a product.
Arguments: tp
Comments / Limitations: None

4.7.7 OverrideInverse

Aliases: None
Description: OverrideInverse is a variable which is either True or False.
Arguments: If OverrideInverse is set to True, then the replacement of invL and invR by inv (when x is invertible) is suppressed even if invQ is True. The default is False.
Comments / Limitations: None

4.7.8 aj[expr]

Aliases: None
Description: aj[expr] takes the adjoint of the expression expr. Note that basic laws like aj[a **b] = aj[b] **aj[a] are automatically executed.
Arguments: expr is an algebraic expression
Comments / Limitations: None

4.7.9 tp[expr]

Aliases: None
Description: tp[expr] takes the transpose of expression expr. Note that basic laws like tp[a **b] = tp[b] **tp[a] are automatically executed.
Arguments: expr is an algebraic expression
Comments / Limitations: None

4.7.10 co[expr]

Aliases: None
Description: co[expr] takes the complex conjugate of expr. Note basic laws like
co[a**b]=co[a]**co[b] and co[a]=aj[tp[a]]=tp[aj[a]]
Arguments: expr is an algebraic expression
Comments / Limitations: None