| 
| template<typename T , size_t nRow, size_t nCol>  | 
| array2D< T, nRow, nCol >  | operator+ (const array2D< T, nRow, nCol > &arr1, const array2D< T, nRow, nCol > &arr2) | 
|   | 
| template<typename T , size_t nRow, size_t nCol>  | 
| array2D< T, nRow, nCol >  | operator- (const array2D< T, nRow, nCol > &arr1, const array2D< T, nRow, nCol > &arr2) | 
|   | 
| template<typename T , size_t nRow, size_t nCol>  | 
| array2D< T, nRow, nCol >  | operator* (const array2D< T, nRow, nCol > &arr1, const array2D< T, nRow, nCol > &arr2) | 
|   | 
| template<typename T , size_t nRow, size_t nCol>  | 
| array2D< T, nRow, nCol >  | operator* (const T &s, const array2D< T, nRow, nCol > &arr2) | 
|   | 
| template<typename T , size_t nRow, size_t nCol>  | 
| array2D< T, nRow, nCol >  | operator/ (const array2D< T, nRow, nCol > &arr1, const array2D< T, nRow, nCol > &arr2) | 
|   | 
| template<typename T , size_t nRow, size_t nCol>  | 
| array2D< T, nRow, nCol >  | operator/ (const T &val, const array2D< T, nRow, nCol > &arr2) | 
|   | 
| template<typename T , size_t nRow, size_t nInner, size_t nCol>  | 
| array2D< T, nRow, nCol >  | MatMul (const array2D< T, nRow, nInner > &A, const array2D< T, nInner, nCol > &B) | 
|   | 
| template<typename T , size_t nRow, size_t nCol>  | 
| array2D< T, nCol, nRow >  | transpose (const array2D< T, nRow, nCol > &arr) | 
|   | 
| template<typename T , size_t nRow, size_t nCol>  | 
| iOstream &  | operator<< (iOstream &os, const array2D< T, nRow, nCol > &arr) | 
|   |