sort(SortManagerEpetra self, std::vector< double,std::allocator< double > > & evals, Teuchos::RCP< std::vector< int,std::allocator< int > > > perm=Teuchos::null,
int n=-1)
sort(SortManagerEpetra self, std::vector< double,std::allocator< double > > & r_evals, std::vector< double,std::allocator< double > > & i_evals,
Teuchos::RCP< std::vector< int,std::allocator< int > > > perm=Teuchos::null,
int n=-1)
virtual void
Anasazi::SortManager< MagnitudeType >::sort(std::vector< MagnitudeType
> &r_evals, std::vector< MagnitudeType > &i_evals, Teuchos::RCP<
std::vector< int > > perm=Teuchos::null, int n=-1) const =0
Sort complex eigenvalues, optionally returning the permutation vector.
This routine takes two vectors, one for each part of a complex
eigenvalue. This is helpful for solving real, non-symmetric eigenvalue
problems.
Parameters:
-----------
r_evals: [in/out] Vector of length at least n containing the real
part of the eigenvalues to be sorted. On output, the first n
eigenvalues will be sorted. The rest will be unchanged.
i_evals: [in/out] Vector of length at least n containing the
imaginary part of the eigenvalues to be sorted. On output, the first
n eigenvalues will be sorted. The rest will be unchanged.
perm: [out] Vector of length at least n to store the permutation
index (optional). If specified, on output the first n eigenvalues
will contain the permutation indices, in the range [0,n-1], such that
r_evals_out[i] = r_evals_in[perm[i]] and similarly for i_evals.
n: [in] Number of values in r_evals, i_evals to be sorted. If n ==
-1, all values will be sorted.