--- trunk/src/math/SquareMatrix.hpp 2012/08/22 02:28:28 1782 +++ trunk/src/math/SquareMatrix.hpp 2013/08/05 21:46:11 1924 @@ -35,7 +35,7 @@ * * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). - * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). + * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). */ @@ -57,8 +57,8 @@ namespace OpenMD { /** * @class SquareMatrix SquareMatrix.hpp "math/SquareMatrix.hpp" * @brief A square matrix class - * @template Real the element type - * @template Dim the dimension of the square matrix + * \tparam Real the element type + * \tparam Dim the dimension of the square matrix */ template class SquareMatrix : public RectMatrix { @@ -125,7 +125,7 @@ namespace OpenMD { Real det; return det; } - + /** Returns the trace of this matrix. */ Real trace() const { Real tmp = 0; @@ -135,26 +135,7 @@ namespace OpenMD { return tmp; } - - /** - * Returns the tensor contraction (double dot product) of two rank 2 - * tensors (or Matrices) - * @param t1 first tensor - * @param t2 second tensor - * @return the tensor contraction (double dot product) of t1 and t2 - */ - Real doubleDot( const SquareMatrix& t1, const SquareMatrix& t2 ) { - Real tmp; - tmp = 0; - - for (unsigned int i = 0; i < Dim; i++) - for (unsigned int j =0; j < Dim; j++) - tmp += t1[i][j] * t2[i][j]; - - return tmp; - } - /** Tests if this matrix is symmetrix. */ bool isSymmetric() const { for (unsigned int i = 0; i < Dim - 1; i++) @@ -232,7 +213,7 @@ namespace OpenMD { * @return true if success, otherwise return false * @param a symmetric matrix whose eigenvectors are to be computed. On return, the matrix is * overwritten - * @param w will contain the eigenvalues of the matrix On return of this function + * @param d will contain the eigenvalues of the matrix On return of this function * @param v the columns of this matrix will contain the eigenvectors. The eigenvectors are * normalized and mutually orthogonal. */ @@ -371,6 +352,10 @@ namespace OpenMD { //// this is NEVER called if ( i >= VTK_MAX_ROTATIONS ) { std::cout << "vtkMath::Jacobi: Error extracting eigenfunctions" << std::endl; + if (n > 4) { + delete[] b; + delete[] z; + } return 0; }