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
 <a href="patches/20130214.02.tpd.patch">20130214.02.tpd.patch</a>
 src/input/rsa.input added
+<a href="patches/20130216.01.gdr.patch">20130216.01.gdr.patch</a>
+books/bookvol10.2 add matrix initializer function
  </body>
 </html>
