linalg5 http://www.openmath.org/cd/linalg5.ocd 2003-04-01 1999-07-15 2 0 experimental alg1 arith1 linalg1 nums1 logic1 relation1 This CD contains symbols which represent a number of special types of matrix. identity This symbol denotes a unary function which is used to construct an (nxn) identity matrix where n is the single positive integral argument. for all M | identity(rowcount M) * M = M * identity(columncount M) = M A representation of the 2x2 identity matrix [[1,0],[0,1]] 2 zero This symbol denotes a function with two integral arguments m,n which is used to construct an (mxn) zero matrix. for all M | M + zero(rowcount M,columncount M) = zero(rowcount M,columncount M) for all M | zero(rowcount M,rowcount M) * M = M * zero(columncount M,columncount M) = zero(rowcount M,columncount M) A representation of the 2x2 zero matrix [[0,0],[0,0]] 2 2 diagonal_matrix This symbol denotes an n_ary function which is used to construct an (nxn) diagonal matrix, that is a matrix where every non-diagonal element is zero, the diagonal elements are equal to the n arguments. given a diagonal matrix, it is equal to its transpose The diagonal matrix with diagonal elements [1,2,3] 1 2 3 scalar This symbol represents a matrix which is a scalar constant times the identity matrix. It should take three arguments, the first and second specify the number of rows and columns int he matrix respectively and the third specifies the scalar multiplier. the scalar matrix of size n, where the scalar multiple is s = s * identity(n) constant This symbol represents a matrix which has all entries of the same value. It takes two arguments, the first is the size of the matrix, the second is the constant which determines every element. the rank of a non-zero constant matrix = 1 banded This symbol represents a (p,q) banded matrix, it takes one argument. A (p,q) banded matrix should always be square. The lower non-zero subdiagonal is the first element of the argument, whilst the highest non-zero super-diagonal is given by the last element of the argument. The argument determines the band of possibly non-zero entries which are positioned around the diagonal. It should be a vector of vectors, we note that they will not all be the same length, however the length of the vectors determine p and q. The longest element specifies the diagonal of the matrix and hence the size of the matrix. Every element not in the band is zero. A specification of the (2,1) banded matrix: [ [1 2 3 0 0] [4 5 6 7 0] [0 8 9 10 11] [0 0 12 13 14] [0 0 0 15 16]] 4 8 12 15 1 5 9 13 16 2 6 10 14 3 7 11 symmetric This symbol represents a symmetric matrix, it takes one argument. The argument should be a vector of vectors of elements of the matrix. For j>=i the ij'th element of the matrix is the (j-i+1)'th element of the i'th element of the argument. This determines the upper triangle of the matrix, the lower triangle is specified by the rule M = transpose M. the sum of a symmetric matrix and its transpose is symmetric for a symmetric matrix M, M = transpose M the dimension of a symmetric matrix = the length of the vector which defines it An example to represent the symmetric matrix: [[1,2,3,4] [2,5,6,7] [3,6,8,9] [4,7,9,10]] 1 2 3 4 5 6 7 8 9 10 skew-symmetric This symbol represents a skew-symmetric matrix, it takes one argument. The argument should be a vector of vectors of elements of the matrix. For j>i the ij'th element of the matrix is the (j-i+1)'th element of the i'th element of the argument. This determines the elements above the diagonal of the matrix, the elements below the diagonal of the matrix must conform to the rule M = - transpose M. This rule implies that the elements on the diagonal must be equal to 0, therefore we do not include these in the argument. The elements on the diagonal of a skew-symmetric matrix are zero for a skew-symmetric matrix M, M = - transpose M An example to represent the skew-symmetric matrix: [[ 0, 2, 3, 4] [-2, 0, 6, 7] [-3,-6, 0, 9] [-4,-7,-9, 0]] 2 3 4 6 7 9 Hermitian This symbol represents a Hermitian matrix, it takes one argument. The argument should be a vector of vectors of values which determine the upper triangle of the matrix. The lower triangle of the matrix is specified by the following relation: M^* = transpose(M), were M^* denotes the matrix consisting of all the complex conjugates of M. The complex conjugate of a Hermitian matrix equals its transpose The diagonal elements of a Hermitian matrix will be real An example to describe the Hermitian matrix: [[1+i , 2+2i] [2-2i, 3+3i]] 1 1 2 2 3 3 anti-Hermitian This symbol represents an anti-Hermitian matrix, it takes one argument. The argument should be a vector of vectors of values which determine the upper triangle of the matrix. The lower triangle of the matrix is specified by the following relation: - M^* = transpose(M), were M^* denotes the matrix consisting of all the complex conjugates of M. This rules implies that the main diagonal is zero, therefore the argument should not include it. The complex conjugate of an anti-Hermitian matrix equals minus its transpose an anti-hermitian matrix will have zero on the diagonal An example to describe the anti-Hermitian matrix: [[0 , 1+i] [-1+i , 0 ]] 1 1 upper-triangular This symbol represents an upper-triangular matrix, it takes one argument. The argument should be a vector of vectors of elements of the matrix. the product of two upper-triangular matrices is upper-triangular An example to describe the upper triangular matrix: [[1,2,3] [0,4,5] [0,0,6]] 1 2 3 4 5 6 lower-triangular This symbol represents a lower-triangular matrix, it takes one argument. The argument should be a vector of vectors of elements of the matrix. the product of two lower-triangular matrices is lower-triangular An example to describe the lower triangular matrix: [[1,0,0] [2,3,0] [4,5,6]] 1 2 3 4 5 6 upper-Hessenberg This symbol represents an upper-Hessenberg matrix, it takes one argument, the argument is a vector of vectors representing the non-zero elements. The first element of the argument specifies the value of the first subdiagonal, the subsequent elements specify the value of the diagonal and subsequent super-diagonals, all other elements are zero. A specification of an upper-Hessenberg matrix of dimension 5: [[1 2 3 0 0] [4 5 6 7 0] [0 8 9 10 11] [0 0 12 13 14] [0 0 0 15 16]] 4 8 12 15 1 5 9 13 16 2 6 10 14 3 7 11 the transpose of an upper-Hessenberg matrix is lower-Hessenberg lower-Hessenberg This symbol represents a lower-Hessenberg matrix, it takes one argument, the argument is a vector of vectors representing the non-zero elements. The first element of the argument specifies the value of the first super-diagonal, the subsequent elements specify the value of the diagonal and subsequent subdiagonals, all other elements are zero. A specification of a lower-Hessenberg matrix of dimension 5: [[1 2 0 0 0] [3 4 5 0 0] [6 7 8 9 0] [0 10 11 12 13] [0 0 14 15 16]] 2 5 9 13 1 4 8 12 16 3 7 11 15 6 10 14 the transpose of a lower-Hessenberg matrix is upper-Hessenberg tridiagonal This symbol represents a tridiagonal matrix, it takes one argument which should be a vector of vectors which should have three elements. These should be vectors representing the sub-diagonal, the diagonal and the super-diagonal in that order. a tridiagonal matrix is a (1,1) banded matrix 3 2 1 1 The product of two tridiagonal matrices is tridiagonal