diff options
author | dos-reis <gdr@axiomatics.org> | 2013-05-15 18:47:34 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2013-05-15 18:47:34 +0000 |
commit | 974674143225554b96178718d83134946c58beb3 (patch) | |
tree | 5dc0f315e4a8bf66c7de20d4448b17a740508823 /src/algebra/matcat.spad.pamphlet | |
parent | 0431131ebcdd17268513169c08fd1803a16d07f6 (diff) | |
download | open-axiom-974674143225554b96178718d83134946c58beb3.tar.gz |
* interp/define.boot (dbClearForCompilation!): New.
(compDefineFunctor1): Use it.
Diffstat (limited to 'src/algebra/matcat.spad.pamphlet')
-rw-r--r-- | src/algebra/matcat.spad.pamphlet | 84 |
1 files changed, 1 insertions, 83 deletions
diff --git a/src/algebra/matcat.spad.pamphlet b/src/algebra/matcat.spad.pamphlet index c895e038..0a74157c 100644 --- a/src/algebra/matcat.spad.pamphlet +++ b/src/algebra/matcat.spad.pamphlet @@ -569,90 +569,8 @@ RectangularMatrixCategory(m,n,R,Row,Col): Category == Definition where Row : DirectProductCategory(n,R) Col : DirectProductCategory(m,R) - Definition ==> Join(BiModule(R,R),HomogeneousAggregate(R)) with - - finiteAggregate - ++ matrices are finite - + Definition == Join(MatrixCategory(R,Row,Col),BiModule(R,R)) with if R has CommutativeRing then Module(R) - ---% Matrix creation - - matrix: List List R -> % - ++ \spad{matrix(l)} converts the list of lists l to a matrix, where the - ++ list of lists is viewed as a list of the rows of the matrix. - ---% Predicates - - square? : % -> Boolean - ++ \spad{square?(m)} returns true if m is a square matrix (i.e. if m - ++ has the same number of rows as columns) and false otherwise. - diagonal?: % -> Boolean - ++ \spad{diagonal?(m)} returns true if the matrix m is square and diagonal - ++ (i.e. all entries of m not on the diagonal are zero) and false - ++ otherwise. - symmetric?: % -> Boolean - ++ \spad{symmetric?(m)} returns true if the matrix m is square and - ++ symmetric (i.e. \spad{m[i,j] = m[j,i]} for all \spad{i} and j) and - ++ false otherwise. - antisymmetric?: % -> Boolean - ++ \spad{antisymmetric?(m)} returns true if the matrix m is square and - ++ antisymmetric (i.e. \spad{m[i,j] = -m[j,i]} for all \spad{i} and j) - ++ and false otherwise. - ---% Size inquiries - - minRowIndex : % -> Integer - ++ \spad{minRowIndex(m)} returns the index of the 'first' row of the - ++ matrix m. - maxRowIndex : % -> Integer - ++ \spad{maxRowIndex(m)} returns the index of the 'last' row of the - ++ matrix m. - minColIndex : % -> Integer - ++ \spad{minColIndex(m)} returns the index of the 'first' column of the - ++ matrix m. - maxColIndex : % -> Integer - ++ \spad{maxColIndex(m)} returns the index of the 'last' column of the - ++ matrix m. - nrows : % -> NonNegativeInteger - ++ \spad{nrows(m)} returns the number of rows in the matrix m. - ncols : % -> NonNegativeInteger - ++ \spad{ncols(m)} returns the number of columns in the matrix m. - ---% Part extractions - - listOfLists: % -> List List R - ++ \spad{listOfLists(m)} returns the rows of the matrix m as a list - ++ of lists. - elt: (%,Integer,Integer) -> R - ++ \spad{elt(m,i,j)} returns the element in the \spad{i}th row and - ++ \spad{j}th column of the matrix m. - ++ Error: if indices are outside the proper - ++ ranges. - qelt: (%,Integer,Integer) -> R - ++ \spad{qelt(m,i,j)} returns the element in the \spad{i}th row and - ++ \spad{j}th column of - ++ the matrix m. Note: there is NO error check to determine if indices are - ++ in the proper ranges. - elt: (%,Integer,Integer,R) -> R - ++ \spad{elt(m,i,j,r)} returns the element in the \spad{i}th row and - ++ \spad{j}th column of the matrix m, if m has an \spad{i}th row and a - ++ \spad{j}th column, and returns r otherwise. - row: (%,Integer) -> Row - ++ \spad{row(m,i)} returns the \spad{i}th row of the matrix m. - ++ Error: if the index is outside the proper range. - column: (%,Integer) -> Col - ++ \spad{column(m,j)} returns the \spad{j}th column of the matrix m. - ++ Error: if the index outside the proper range. - ---% Map and Zip - - map: (R -> R,%) -> % - ++ \spad{map(f,a)} returns b, where \spad{b(i,j) = a(i,j)} for all i, j. - map:((R,R) -> R,%,%) -> % - ++ \spad{map(f,a,b)} returns c, where c is such that - ++ \spad{c(i,j) = f(a(i,j),b(i,j))} for all \spad{i}, j. - --% Arithmetic if R has IntegralDomain then |