src/dense_cpu.c
int dense_seev ( int N, float* A, int LDMAT, int NEV, float* eigenvalues, float* eigenvectors, double* timing_data_10, int* int_data_10 )
{
    checkpoint t0;
    int result = 0;

    // Initialise the data structure that is passed to the ARPACK routines.
    data_struct DATA;
    init_data( &DATA, A, LDMAT );

    t0 = tic();
    // Call a C wrapper function that allows for the calculation of the NEV largest eigenvalues.
    calculate_eigen_values ( N, &DATA, NEV, eigenvalues, eigenvectors, "LM" );
    timing_data_10[ARPACK_CALL] = toc( t0 );

    timing_data_10[SGEMV] = DATA.sgemv_time;
    int_data_10[SGEMV] = DATA.sgemv_calls;
    return result;
}
//!
//! Solve the standard eigensystem Ax = lx.eigen
//! \param[in] N The number of columns in the matrix A
//! \param[in] A The matrix representing the eigensystem to be solved.
//! \param[in] NEV The number of eigenvalues to calculate.
//! \param[out] eigenvalues A vector of the NEV eigenvalues. Note that the eigenvectors are complex.
//! \param[out] eigenvectors An NxNEV matrix with the eigenvectors as columns.
//! \param[out] timing_data_10 A 10-vector representing the timing data for various phases of the process.
//! \param[out] int_data_10 A 10-vector containing some run information.
//! \return A non-zero error code if an error occured.
Solve the standard eigensystem Ax = lx.eigen
\param[in] N The number of columns in the matrix A
\param[in] A The matrix representing the eigensystem to be solved.
\param[in] NEV The number of eigenvalues to calculate.
\param[out] eigenvalues A vector of the NEV eigenvalues. Note that the eigenvectors are complex.
\param[out] eigenvectors An NxNEV matrix with the eigenvectors as columns.
\param[out] timing_data_10 A 10-vector representing the timing data for various phases of the process.
\param[out] int_data_10 A 10-vector containing some run information.
\return A non-zero error code if an error occured.
Solve the standard eigensystem Ax = lx . eigen \ param [ in ] N The number of columns in the matrix A \ param [ in ] A The matrix representing the eigensystem to be solved . \ param [ in ] NEV The number of eigenvalues to calculate . \ param [ out ] eigenvalues A vector of the NEV eigenvalues . Note that the eigenvectors are complex . \ param [ out ] eigenvectors An NxNEV matrix with the eigenvectors as columns . \ param [ out ] timing_data_10 A 10 - vector representing the timing data for various phases of the process . \ param [ out ] int_data_10 A 10 - vector containing some run information . \ return A non - zero error code if an error occured .
int dense_seev ( int N, float* A, int LDMAT, int NEV, float* eigenvalues, float* eigenvectors, double* timing_data_10, int* int_data_10 )
{
    checkpoint t0;
    int result = 0;
    data_struct DATA;
    init_data( &DATA, A, LDMAT );
    t0 = tic();
    calculate_eigen_values ( N, &DATA, NEV, eigenvalues, eigenvectors, "LM" );
    timing_data_10[ARPACK_CALL] = toc( t0 );
    timing_data_10[SGEMV] = DATA.sgemv_time;
    int_data_10[SGEMV] = DATA.sgemv_calls;
    return result;
}
int dense_seev ( int N , float * A , int LDMAT , int NEV , float * eigenvalues , float * eigenvectors , double * timing_data_10 , int * int_data_10 ) { checkpoint t0 ; int result = 0 ; data_struct DATA ; init_data ( & DATA , A , LDMAT ) ; t0 = tic ( ) ; calculate_eigen_values ( N , & DATA , NEV , eigenvalues , eigenvectors , " " ) ; timing_data_10 [ ARPACK_CALL ] = toc ( t0 ) ; timing_data_10 [ SGEMV ] = DATA . sgemv_time ; int_data_10 [ SGEMV ] = DATA . sgemv_calls ; return result ; }
Solve the standard eigensystem Ax = lx.eigen
\param[in] N The number of columns in the matrix A
\param[in] A The matrix representing the eigensystem to be solved.
Solve the standard eigensystem Ax = lx . eigen \ param [ in ] N The number of columns in the matrix A \ param [ in ] A The matrix representing the eigensystem to be solved .
// Initialise the data structure that is passed to the ARPACK routines. // Call a C wrapper function that allows for the calculation of the NEV largest eigenvalues.