> The manual says that, in the computation of the function " int > gsl_eigen_symm (gsl matrix * A, gsl vector * eval, gsl_eigen_symm_workspace > * w)", "The diagonal and lower triangular part of A are destroyed during the > computation, but the strict upper triangular part is not referenced". > > Suppose I use gsl_eigen_symm to compute the eigenvalues, and then I want to > modify (gsl matrix*)A and compute the eigenvalues again. After the 1st > calculation, do I have to use gsl_matrix_alloc for the matrix A again before > I do the 2nd calculation?
By "destroyed" I believe the manual means "overwritten with undefined contents". There should be no need to again use gsl_matrix_alloc your matrix A. You should be able to re-populate matrix A's lower triangular part (and likely the upper triangular part too) and again call gsl_eigen_symm. - Rhys
