Index: /trunk/psLib/src/dataManip/psMatrix.c
===================================================================
--- /trunk/psLib/src/dataManip/psMatrix.c	(revision 806)
+++ /trunk/psLib/src/dataManip/psMatrix.c	(revision 807)
@@ -20,6 +20,6 @@
  *  @author Ross Harman, MHPCC
  *   
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-05-28 02:53:18 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-05-28 20:52:41 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -206,4 +206,5 @@
     PS_CHECK_DIMEN_AND_TYPE(inImage, PS_DIMEN_IMAGE, outVector);
     PS_CHECK_SIZE_IMAGE(inImage, outVector);
+    PS_CHECK_ALLOC_VECTOR(outVector, inImage->numRows, inImage->type.type);
     PS_CHECK_NULL_VECTOR(outVector, outVector);
     PS_CHECK_DIMEN_AND_TYPE(outVector, PS_DIMEN_VECTOR, outVector);
Index: /trunk/psLib/src/dataManip/psMatrix.h
===================================================================
--- /trunk/psLib/src/dataManip/psMatrix.h	(revision 806)
+++ /trunk/psLib/src/dataManip/psMatrix.h	(revision 807)
@@ -21,6 +21,6 @@
  *  @author Ross Harman, MHPCC
  *   
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-05-28 02:53:27 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-05-28 20:52:41 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -48,7 +48,8 @@
 /** LU Decomposition of psImage matrix.
  *
- *  Performs a LU decomposition on a psImage matrix and returns the LU matrix. If the user specifies NULL as the 
- *  outImage argument, then the output argument will be created based on input values. The input image must 
- *  be square. This function operates only with the psF32 data type.
+ *  Performs a LU decomposition on a psImage matrix and returns the LU matrix. If the user specifies NULL for 
+ *  the outImage or outPerm arguments, then they will be automatically created. The input image must 
+ *  be square. This function operates only with the psF64 data type. Input and output arguments should not be 
+ *  the same. GSL indexes the top row as the zero row, not the bottom.  
  *
  *  @return  psImage*: Pointer to LU decomposed psImage.
@@ -63,6 +64,7 @@
  *
  *  Solves for and returns the psVector, {x} in the equation [A]{x} = {b}. If the user specifies NULL as the 
- *  outVector argument, then the solution for {x} is done in-place and inVector will hold the modified values.
- *  The input image must be square. This function operates only with psF32 and psF64 data types.
+ *  outVector argument, then it will automatically be created. The input image must be square. This function 
+ *  operates only with the psF64 data type. Input and output arguments should not be the same. GSL indexes 
+ *  the top row as the zero row, not the bottom.  
  *
  *  @return  psVector*: Pointer to psVector solution of matrix equation.
@@ -78,6 +80,7 @@
  *
  *  Inverts a psImage matrix and returns the determinant as an option through the argument list. If the user 
- *  specifies NULL as the outImage argument, then the inversion is done in-place and inImage will hold the 
- *  inverted image. The input image must be square. This function operates only with psF32 and psF64 data types.
+ *  specifies NULL as the outImage argument, then it will automatically be created. The input image must be 
+ *  square. This function operates only with the psF64 data type. Input and output arguments should not be 
+ *  the same. GSL indexes the top row as the zero row, not the bottom.  
  *
  *  @return  psImage*: Pointer to inverted psImage.
@@ -91,6 +94,7 @@
 /** Calculate psImage matrix determinant.
  *
- *  Calculates the determinant of a psImage matrix and returns the floating point determinant. The input
- *  image must be square. This function operates only with psF32 and psF64 data types.
+ *  Calculates the determinant of a psImage matrix and returns the single precision floating point result. The
+ *  input image must be square. This function operates only with the psF64 data type. GSL indexes the top row 
+ *  as the zero row, not the bottom.  
  *
  *  @return  float: Determinant from psImage.
@@ -100,9 +104,9 @@
 );
 
-/** Performs basic psImage matrix operations.
+/** Performs psImage matrix multiplication.
  *
- *  Performs a classical matrix multiplication involving row and column operations. This function assumes both
- *  matrices are the same size. If the user specifies NULL as the outImage argument, then a new psImage will be 
- *  created and returned. This function operates only with the psF64 data type. GSL indexes the top row as the
+ *  Performs a classical matrix multiplication involving row and column operations. Input images must be square 
+ *  and the same size. If the user specifies NULL as the outImage argument, then it will automatically be 
+ *  created. This function operates only with the psF64 data type. GSL indexes the top row as the
  *  zero row, not the bottom.  
  *
@@ -118,6 +122,7 @@
  *
  *  Performs psImage matrix transpose by substituting existing rows for columns. The input image must be 
- *  square. If the user specifies NULL as the outImage argument, then a new psImage will be created
- *  and returned. This function operates only with psF32 and psF64 data types. 
+ *  square. If the user specifies NULL as the outImage argument, then it will automaticallty be created.
+ *  This function operates only with the psF64 data type. GSL indexes the top row as the zero 
+ *  row, not the bottom.  
  *
  *  @return  psImage*: Pointer to transposed psImage.
@@ -130,7 +135,7 @@
 /** Calculate matrix eigenvectors.
  *
- *  Calculates the eigenvectors for a matrix. The input image must be symmetric. If the user specifies NULL as
- *  the outImage argument, then a new psImage will be created and returned. This function operates only with 
- *  the psF64 data type.
+ *  Calculates the eigenvectors for a matrix. The input image must be symmetric and square. If the user 
+ *  specifies NULL as the outImage argument, then it will automatically be created. This function operates 
+ *  only with the psF64 data type. GSL indexes the top row as the zero row, not the bottom.  
  *
  *  @return  psImage*: Pointer to matrix of Eigenvectors.
@@ -143,7 +148,7 @@
 /** Convert matrix to vector.
  *
- *  Converts a 1-d psImage matrix into a vector. If the user specifies NULL as the outVector argument, then a 
- *  new psVector will be created. The input matrix must be a 1-d column matrix. This function operates only with
- *  the psF64 data type
+ *  Converts a 1-d psImage matrix into a vector. If the user specifies NULL as the outVector argument, then it
+ *  will automatically be created. The input matrix must be a 1-d column matrix. This function operates only 
+ *  with the psF64 data type.
  *
  *  @return  psVector*: Pointer to psVector.
@@ -157,5 +162,5 @@
  *
  *  Converts a vector into a 1-d column psImage matrix. If the user specifies NULL as the outImage argument, 
- *  then a new psImage will be created. This function operates only with the psF64 data type.  
+ *  then it will automatically be created. This function operates only with the psF64 data type.  
  *
  *  @return  psVector*: Pointer to psIamge.
Index: /trunk/psLib/src/math/psMatrix.c
===================================================================
--- /trunk/psLib/src/math/psMatrix.c	(revision 806)
+++ /trunk/psLib/src/math/psMatrix.c	(revision 807)
@@ -20,6 +20,6 @@
  *  @author Ross Harman, MHPCC
  *   
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-05-28 02:53:18 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-05-28 20:52:41 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -206,4 +206,5 @@
     PS_CHECK_DIMEN_AND_TYPE(inImage, PS_DIMEN_IMAGE, outVector);
     PS_CHECK_SIZE_IMAGE(inImage, outVector);
+    PS_CHECK_ALLOC_VECTOR(outVector, inImage->numRows, inImage->type.type);
     PS_CHECK_NULL_VECTOR(outVector, outVector);
     PS_CHECK_DIMEN_AND_TYPE(outVector, PS_DIMEN_VECTOR, outVector);
Index: /trunk/psLib/src/math/psMatrix.h
===================================================================
--- /trunk/psLib/src/math/psMatrix.h	(revision 806)
+++ /trunk/psLib/src/math/psMatrix.h	(revision 807)
@@ -21,6 +21,6 @@
  *  @author Ross Harman, MHPCC
  *   
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-05-28 02:53:27 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-05-28 20:52:41 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -48,7 +48,8 @@
 /** LU Decomposition of psImage matrix.
  *
- *  Performs a LU decomposition on a psImage matrix and returns the LU matrix. If the user specifies NULL as the 
- *  outImage argument, then the output argument will be created based on input values. The input image must 
- *  be square. This function operates only with the psF32 data type.
+ *  Performs a LU decomposition on a psImage matrix and returns the LU matrix. If the user specifies NULL for 
+ *  the outImage or outPerm arguments, then they will be automatically created. The input image must 
+ *  be square. This function operates only with the psF64 data type. Input and output arguments should not be 
+ *  the same. GSL indexes the top row as the zero row, not the bottom.  
  *
  *  @return  psImage*: Pointer to LU decomposed psImage.
@@ -63,6 +64,7 @@
  *
  *  Solves for and returns the psVector, {x} in the equation [A]{x} = {b}. If the user specifies NULL as the 
- *  outVector argument, then the solution for {x} is done in-place and inVector will hold the modified values.
- *  The input image must be square. This function operates only with psF32 and psF64 data types.
+ *  outVector argument, then it will automatically be created. The input image must be square. This function 
+ *  operates only with the psF64 data type. Input and output arguments should not be the same. GSL indexes 
+ *  the top row as the zero row, not the bottom.  
  *
  *  @return  psVector*: Pointer to psVector solution of matrix equation.
@@ -78,6 +80,7 @@
  *
  *  Inverts a psImage matrix and returns the determinant as an option through the argument list. If the user 
- *  specifies NULL as the outImage argument, then the inversion is done in-place and inImage will hold the 
- *  inverted image. The input image must be square. This function operates only with psF32 and psF64 data types.
+ *  specifies NULL as the outImage argument, then it will automatically be created. The input image must be 
+ *  square. This function operates only with the psF64 data type. Input and output arguments should not be 
+ *  the same. GSL indexes the top row as the zero row, not the bottom.  
  *
  *  @return  psImage*: Pointer to inverted psImage.
@@ -91,6 +94,7 @@
 /** Calculate psImage matrix determinant.
  *
- *  Calculates the determinant of a psImage matrix and returns the floating point determinant. The input
- *  image must be square. This function operates only with psF32 and psF64 data types.
+ *  Calculates the determinant of a psImage matrix and returns the single precision floating point result. The
+ *  input image must be square. This function operates only with the psF64 data type. GSL indexes the top row 
+ *  as the zero row, not the bottom.  
  *
  *  @return  float: Determinant from psImage.
@@ -100,9 +104,9 @@
 );
 
-/** Performs basic psImage matrix operations.
+/** Performs psImage matrix multiplication.
  *
- *  Performs a classical matrix multiplication involving row and column operations. This function assumes both
- *  matrices are the same size. If the user specifies NULL as the outImage argument, then a new psImage will be 
- *  created and returned. This function operates only with the psF64 data type. GSL indexes the top row as the
+ *  Performs a classical matrix multiplication involving row and column operations. Input images must be square 
+ *  and the same size. If the user specifies NULL as the outImage argument, then it will automatically be 
+ *  created. This function operates only with the psF64 data type. GSL indexes the top row as the
  *  zero row, not the bottom.  
  *
@@ -118,6 +122,7 @@
  *
  *  Performs psImage matrix transpose by substituting existing rows for columns. The input image must be 
- *  square. If the user specifies NULL as the outImage argument, then a new psImage will be created
- *  and returned. This function operates only with psF32 and psF64 data types. 
+ *  square. If the user specifies NULL as the outImage argument, then it will automaticallty be created.
+ *  This function operates only with the psF64 data type. GSL indexes the top row as the zero 
+ *  row, not the bottom.  
  *
  *  @return  psImage*: Pointer to transposed psImage.
@@ -130,7 +135,7 @@
 /** Calculate matrix eigenvectors.
  *
- *  Calculates the eigenvectors for a matrix. The input image must be symmetric. If the user specifies NULL as
- *  the outImage argument, then a new psImage will be created and returned. This function operates only with 
- *  the psF64 data type.
+ *  Calculates the eigenvectors for a matrix. The input image must be symmetric and square. If the user 
+ *  specifies NULL as the outImage argument, then it will automatically be created. This function operates 
+ *  only with the psF64 data type. GSL indexes the top row as the zero row, not the bottom.  
  *
  *  @return  psImage*: Pointer to matrix of Eigenvectors.
@@ -143,7 +148,7 @@
 /** Convert matrix to vector.
  *
- *  Converts a 1-d psImage matrix into a vector. If the user specifies NULL as the outVector argument, then a 
- *  new psVector will be created. The input matrix must be a 1-d column matrix. This function operates only with
- *  the psF64 data type
+ *  Converts a 1-d psImage matrix into a vector. If the user specifies NULL as the outVector argument, then it
+ *  will automatically be created. The input matrix must be a 1-d column matrix. This function operates only 
+ *  with the psF64 data type.
  *
  *  @return  psVector*: Pointer to psVector.
@@ -157,5 +162,5 @@
  *
  *  Converts a vector into a 1-d column psImage matrix. If the user specifies NULL as the outImage argument, 
- *  then a new psImage will be created. This function operates only with the psF64 data type.  
+ *  then it will automatically be created. This function operates only with the psF64 data type.  
  *
  *  @return  psVector*: Pointer to psIamge.
