Index: trunk/SophyaLib/TArray/basarr.cc
===================================================================
--- trunk/SophyaLib/TArray/basarr.cc	(revision 2266)
+++ trunk/SophyaLib/TArray/basarr.cc	(revision 2267)
@@ -11,8 +11,11 @@
   \class SOPHYA::BaseArray
   \ingroup TArray
-  Base class for template arrays
-  No data are connected to this class.
-
+  Base class for template arrays with number of dimensions up to 
+  \ref BASEARRAY_MAXNDIMS "BASEARRAY_MAXNDIMS".
+  This class is an abstract class and has no data connected to it.
+  
   Define base methods, enum and defaults for TArray , TMatrix and TVector.
+  BaseArray objects can be used in particular for performing operations on 
+  arrays with unknown data types, or between arrays with different data types.
 */
 
Index: trunk/SophyaLib/TArray/basarr.h
===================================================================
--- trunk/SophyaLib/TArray/basarr.h	(revision 2266)
+++ trunk/SophyaLib/TArray/basarr.h	(revision 2267)
@@ -152,4 +152,10 @@
   virtual string InfoString() const;
 
+  // Lecture,Ecriture sur fichier ASCII
+  //! Reads an array from an ASCII stream
+  virtual sa_size_t ReadASCII(istream& is, sa_size_t & nr, sa_size_t & nc) = 0;
+  //! Writes an array to an ASCII stream
+  virtual void   WriteASCII(ostream& os) const = 0;
+
   // DVList info Object
   DVList& Info();
Index: trunk/SophyaLib/TArray/tarray.cc
===================================================================
--- trunk/SophyaLib/TArray/tarray.cc	(revision 2266)
+++ trunk/SophyaLib/TArray/tarray.cc	(revision 2267)
@@ -12,8 +12,36 @@
   \class SOPHYA::TArray
   \ingroup TArray
-  Class for template arrays
-
-  This class implements arrays of dimensions up to
+  Class for template arrays with numerical data types (int, float, complex).
+
+  This class implements arrays with number of dimensions up to
   \ref BASEARRAY_MAXNDIMS "BASEARRAY_MAXNDIMS"
+
+  Standard arithmetic operations on numerical arrays are implemented,
+  as well as sub-array manipulation services.
+  \b Array is a typedef for double precision floating point arrays ( TArray<r_8> )
+  \sa SOPHYA::Range
+  \sa SOPHYA::Sequence
+  \sa SOPHYA::MathArray
+
+  \code
+  #include "array.h"
+  // ...
+  // Creating and initialising a 1-D array of integers
+  TArray<int> ia(5);
+  EnumeratedSequence es;
+  es = 24, 35, 46, 57, 68;
+  ia = es;
+  cout << "Array<int> ia = " << ia;
+  // 2-D array of floats 
+  TArray<r_4> b(6,4), c(6,4);
+  // Initializing b with a constant
+  b = 2.71828;
+  // Filling c with random numbers  
+  c = RandomSequence(); 
+  // Arithmetic operations
+  TArray<r_4> d = b+0.3f*c;
+  cout << "Array<float> d = " << d;  
+  \endcode
+
 */
 
Index: trunk/SophyaLib/TArray/tmatrix.cc
===================================================================
--- trunk/SophyaLib/TArray/tmatrix.cc	(revision 2266)
+++ trunk/SophyaLib/TArray/tmatrix.cc	(revision 2267)
@@ -1,3 +1,3 @@
-// $Id: tmatrix.cc,v 1.22 2001-08-06 22:48:43 cmv Exp $
+// $Id: tmatrix.cc,v 1.23 2002-11-15 09:35:44 ansari Exp $
 //                         C.Magneville          04/99
 #include "machdefs.h"
@@ -10,6 +10,35 @@
   \class SOPHYA::TMatrix
   \ingroup TArray
-  Class of matrixes
-  \sa TArray
+  
+  The TMatrix class specializes the TArray class for representing
+  two dimensional arrays as matrices. Matrix and vector operations,
+  such as matrix multiplication or transposition is implemented.
+  \b Matrix is a typedef for double precision floating point matrix ( TMatrix<r_8> ).
+
+  \sa SOPHYA::TArray  SOPHYA::TVector
+  \sa SOPHYA::Range  \sa SOPHYA::Sequence
+  \sa SOPHYA::MathArray  \sa SOPHYA::SimpleMatrixOperation
+
+  The following sample code illustrates vector-matrix multiplication 
+  and matrix inversion, using simple gauss inversion.
+  \code
+  #include "array.h"
+  // ....
+  int n = 5;      // Size of matrix and vectors here
+  Matrix a(n,n);  
+  a = RandomSequence(RandomSequence::Gaussian, 0., 2.5);
+  Vector x(n);
+  x = RegularSequence(1.,3.);
+  Vector b = a*x;
+  cout << " ----- Vector x = \n " << x << endl;
+  cout << " ----- Vector b = a*x = \n " << b << endl;
+  SimpleMatrixOperation<r_8> smo;
+  Matrix inva = smo.Inverse(a);
+  cout << " ----- Matrix Inverse(a) = \n " << inva << endl;
+  cout << " ----- Matrix a*Inverse(a) = \n " << inva*a << endl;
+  cout << " ----- Matrix Inverse(a)*b (=Inv(a)*a*x) = \n " << inva*b << endl;
+  cout << " ----- Matrix x-Inverse(a)*b = (=0 ?)\n " << x-inva*b << endl;  
+  \endcode
+  
  */
 
Index: trunk/SophyaLib/TArray/tvector.cc
===================================================================
--- trunk/SophyaLib/TArray/tvector.cc	(revision 2266)
+++ trunk/SophyaLib/TArray/tvector.cc	(revision 2267)
@@ -1,3 +1,3 @@
-// $Id: tvector.cc,v 1.14 2001-08-06 22:48:43 cmv Exp $
+// $Id: tvector.cc,v 1.15 2002-11-15 09:35:44 ansari Exp $
 //                         C.Magneville          04/99
 #include "machdefs.h"
@@ -9,7 +9,30 @@
   \class SOPHYA::TVector
   \ingroup TArray
-  Class of vector (line or column)
-  \sa TMatrix TArray
-  */
+
+  The TVector class specializes the TMatrix class for representing 
+  row or column vectors.
+
+  \b Vector is a typedef for double precision floating point vectors ( TVector<r_8> ).
+
+  \sa SOPHYA::TArray SOPHYA::TMatrix
+  \sa SOPHYA::Range SOPHYA::Sequence
+  \sa SOPHYA::MathArray
+
+  The following sample code illustrates sub-vector manipulation:
+  \code
+  #include "array.h"
+  // ...
+  // Input Vector containing a noisy periodic signal
+  Vector in(1024), out(1024);
+  in = RandomSequence(RandomSequence::Gaussian, 0., 1.);
+  for(int kk=0; kk<in.Size(); kk++)
+    in(kk) += 2*sin(kk*0.05);
+  // Compute the output vector by a simple low pass filter
+  Vector out(1024);
+  int w = 2;
+  for(int k=w; k<in.Size()-w; k++)
+    out(k) = in(Range(k-w, k+w).Sum()/(2.*w+1.);
+  \endcode
+*/
 
 ////////////////////////////////////////////////////////////////
