Index: trunk/psLib/src/math/psSparse.h
===================================================================
--- trunk/psLib/src/math/psSparse.h	(revision 7551)
+++ trunk/psLib/src/math/psSparse.h	(revision 9991)
@@ -65,3 +65,34 @@
                        );
 
+# if (0)
+    // The border elements of a sparse matrix equation:
+    // A = |S B| where Q is a low-rank square matrix (N<20)
+    //     |B Q| and B is a rectangular band (technically this is B and B^T)
+    typedef struct
+    {
+        psImage *Bij;                      // Aij contains the populated elements of the matrix
+        psImage *Qii;                      // Bfj contains the elements of the vector Bf
+        int Nelem;                         // Number of elements (long dimension of Bij, 0-j)
+        int Nrows;                         // Number of rows (size of Qii)
+    }
+psSparseBorder;
+
+
+// allocate a sparse matrix structure
+psSparse *psSparseBorderAlloc(int Nrows, int Nelem);
+
+// add a new matrix element
+// user should only add elements above the diagonal
+bool psSparseBorderMatrixElement(psSparse *sparse, // Matrix to which to add
+                                 int i, int j, // Matrix indices at which to add
+                                 float value  // Value to add
+                                );
+
+// define a new sparse matrix equation vector element
+void psSparseBorderVectorElement(psSparse *sparse, // Matrix to which to add
+                                 int i, int j, // Index to add
+                                 float value // Value to add
+                                );
+# endif /* gene's dev work */
+
 #endif /* PS_SPARSE_H */
