diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet index 6cd581b..7e5f5ec 100644 --- a/books/bookvol10.2.pamphlet +++ b/books/bookvol10.2.pamphlet @@ -18361,6 +18361,7 @@ These are implemented by this category: listOfLists : % -> List List R pfaffian: % -> R if R has COMRING matrix : List List R -> % + matrix : (NonNegativeInteger, NonNegativeInteger, (Integer,Integer) -> R) -> % scalarMatrix : (NonNegativeInteger,R) -> % setelt : (%,List Integer,List Integer,%) -> % setsubMatrix! : (%,Integer,Integer,%) -> % @@ -18442,7 +18443,7 @@ Col:FiniteLinearAggregate(R): \begin{chunk}{category MATCAT MatrixCategory} )abbrev category MATCAT MatrixCategory -++ Authors: Grabmeier, Gschnitzer, Williamson +++ Authors: Grabmeier, Gschnitzer, Williamson, Gabriel Dos Reis ++ Date Created: 1987 ++ Date Last Updated: July 1990 ++ Basic Operations: @@ -18519,6 +18520,13 @@ MatrixCategory(R,Row,Col): Category == Definition where ++ ++X matrix [[1,2,3],[4,5,6],[7,8,9],[1,1,1]] + matrix: (NonNegativeInteger,NonNegativeInteger,(Integer,Integer)->R) -> % + ++ \spad{matrix(n,m,f)} constructs an \spad{n * m} matrix with + ++ the \spad{(i,j)} entry equal to \spad{f(i,j)} + ++ + ++X f(i:INT,j:INT):INT == i+j + ++X matrix(3,4,f) + scalarMatrix: (NonNegativeInteger,R) -> % ++ \spad{scalarMatrix(n,r)} returns an n-by-n matrix with r's on the ++ diagonal and zeroes elsewhere. @@ -18854,6 +18862,13 @@ MatrixCategory(R,Row,Col): Category == Definition where qsetelt_!(ans,i,j,r) ans + matrix(n,m,f) == + mat := new(n,m,0) + for i in minr mat..maxr mat repeat + for j in minc mat..maxc mat repeat + qsetelt!(mat,i,j,f(i,j)) + mat + scalarMatrix(n,r) == ans := zero(n,n) for i in minr(ans)..maxr(ans) for j in minc(ans)..maxc(ans) repeat diff --git a/changelog b/changelog index 989ab5c..b25eb70 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20130216 gdr src/axiom-website/patches.html 20130216.01.gdr.patch +20130216 gdr books/bookvol10.2 add matrix initializer function 20130214 tpd src/axiom-website/patches.html 20130214.02.tpd.patch 20130214 tpd src/input/Makefile add rsa.input 20130214 tpd src/input/rsa.input added diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index bbdd730..a04ccb0 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -3971,5 +3971,7 @@ books/Makefile, bookvol4 remove noweb buglist add bug 7232 20130214.02.tpd.patch src/input/rsa.input added +20130216.01.gdr.patch +books/bookvol10.2 add matrix initializer function