Next: The Most Basic NCAlgebra
Up: NCAlgebra
Previous: NCAlgebra
  Contents
  Index
ReleaseNotes NCAlgebra3.7 Sept. 2002
RandomMatrix[m,n,min,max,options]
RandomMatrix allows you to create random matrices of size
with entries
between min and max. The options allow the user to create matrices with integer or real
entries. They also allow the creation of diagonal or symmetric matrices. Note: This is
a utility that is not connected with noncommutative algebra.
Convexity
We changed some defaults and fixed some bugs in NCConvexityRegion and NCMatrixOfQuadratic.
Now it runs quickly on fairly big problems.
Path Setting
Paths were set to make NCAlgebra more path independent.
CSP
Our support for Control System Professional was updated to accomodate the second (2002) version of CSP.
ReleaseNotes NCAlgebra3.5
Sept. 2001
Basic Changes
You no longer have to set every variable to be noncommutative. We
have a command NCGuts which has an option called NCSetNC.
When set to True, all letters are automatically noncommutative
unless SetCommutative makes them commutative.
A further option of NCGuts allows one to use ``**'' to multiply
matrices with noncommutative entries - the more cumbersome MatMult
command is no longer needed. While this option seems dangerous to
Bill, it makes many computations prettier and easier to type. If you
don't trust the answer, then don't use the option.
Commands For Matricies With Noncommuting Entries
We now have an LDU decomposition for matricies with noncommuting
entries. Also, there is a command for computing the inverse of such
matrices (however this only works under strong assumptions).
NCMatrixOfQuadratic gives a vector matrix factorization
of a symmetric quadratic noncommutative function.
A Second Derivative Command
NCHessian computes the Hessian of a function with noncommuting variables and
coefficents.
Computing The Region Where A Noncommutative Function
is Convex
NCConvexityRegion is a command used to determine
the region of formal noncommutative inequalities where a given
noncommutative function is convex.
Basic Changes
- NCGuts:
NCGuts holds set of options geared for simplifying
transposing, finding the inverse, and multiplying matrices conaining
noncommuting variables.
NCStrongProduct1
False is the first option of NCGuts.
When True, ** serves to multiply matrices with noncommutative entries
as well as maintaining its original function.
In addition, tp[ ] and tpMat are the same.
The default setting is True.
NCStrongProduct2
False is the second option of NCGuts.
When set to True, if
is a matrix with
noncommutative entries, inv[M] returns a formula
expression for the inverse of
.
NCStrongProduct2 forces NCStrongProduct1.
NCSetNC
False is the last option of NCGuts.
When set to True, all letters are automatically noncommutative
unless SetCommutative makes them commutative. This replaces the
need for repeated calls to SetNonCommutative.
Commands For Matricies With Noncommuting Entries
- NCLDUDecomposition:
Given a square matrix
with noncommutative entries,
this command finds the LDU decomposition of
.
It returns a list of four elements, namely
, and
such that
. The first element is the lower triangular matrix
,
the second element is the diagonal matrix
, the third element is the
upper triangular matrix
, and the fourth is the permutation matrix
(the identity is returned if no permutation is needed).
As an option, it may also return a list of the permutations used at each
step of the LDU factorization as a fifth element.
- NCAllPermutationLDU:
NCAllPermutationLDU returns the LDU decomposition
of a matrix after all possible column permutations are applied.
The code cycles through all possible permutations and calls NCLDUDecomposition
for each one. As an option, the permutations used for each LDU decomposition
can also be returned.
- NCMatrixOfQuadratic:
NCMatrixOfQuadratic gives a vector matrix factorization
of a symmetric quadratic noncommutative function. A three
element list is the output. The first element is the left border vector,
the second element is a symmetric coefficent matrix, and the third is the
right border vector. The border vectors contain the variables in the given
quadratic function and their transposes.
- NCIndependenceCheck:
NCIndependenceCheck verifies whether or not a given set of polynomials
are independent or not. It analyzes each
list of polynomials separately.
There are three possible types of outputs for each list.
Two of them correspond to NCIndependenceCheck
successfully determining whether or not the list of polynomials is
independent. The third type of output corresponds to an unsuccessful
attempt at determining dependence or independence.
- NCBorderVectorGather:
NCBorderVectorGather can be used to gather
the polynomial coefficents preceeding the elements given in a list
of variables whenever they occur.
- NCPermutationMatrix:
NCPermutationMatrix returns the permutation matrix
associated with the list of the first n integers.
It gives the identity matrix with its columns re-ordered.
- NCMatrixToPermutation:
NCMatrixToPermutation returns the permutation associated with the permutation matrix, aMatrix. It is the inverse
of NCPermutationMatrix.
- NCInverse:
NCInverse gives a symbolic inverse of a matrix with noncommutative entries.
A Second Derivative Command
- NCHessian:
NCHessian
computes the Hessian of a function with noncommuting variables and
coefficents. This is a second directional derivative which can be
thought of as the second order term in the noncommutative Taylor
expansion. Output will be a symmetric quadratic function with
respect to the directions of differentiation.
Computing The Region Where A Noncommutative Function
is Convex
- NCConvexityRegion:
This command is used to determine
the region of formal noncommutative inequalities where a given
noncommutative function is convex. NCConvexityRegion preforms three main
operations. Given a noncommutative function
, the Hessian of
is
computed with NCHessian. Then, using NCMatrixOfQuadratic, the Hessian is
factored into vector matrix vector form. Finally, NCAllPermutationLDU
finds the LDU decomposition of the symmetric coefficent matrix.
The diagonal elements in the diagonal matrix in the LDU decomposition
is returned.
ReleaseNotes NCAlgebra3.0
NCAlgebra 3.0 has several added functions.
- LDU decomposition for block matices, to include a block
Cholesky decompsition.
- Formulas for inverses of block matrices.
- A command which differentiates functions of the form
- Support for the Mathematica toolbox Control System Professional.
It gives CSP the ability to handle non-commuting objects.
- A function which represents elements of an algebra as
matrices with commuting symbolic entries,
or with inegers.
-
Online Help - While we have not set up help browsers at this time in the Mma style,
one can get searchable online help by viewing NCBIGDOCUMENT.html
with Netscape, etc. When you are in an NCAlgebra session
just keep a web browser open with NCBIGDOCUMENT.html loaded in.
The powerfulsearch features of these browsers
allow you to look up things in the document.
An X in commands, e.g. NCXetc., always means that this command is
experimental and we reserve the right to change it.
Next: The Most Basic NCAlgebra
Up: NCAlgebra
Previous: NCAlgebra
  Contents
  Index
NCAlgebra Project
2002-09-09