9 #ifndef _COMPADRE_LINEAR_ALGEBRA_DECLARATIONS_HPP_ 
   10 #define _COMPADRE_LINEAR_ALGEBRA_DECLARATIONS_HPP_ 
   12 #include "Compadre_Config.h" 
   18 namespace GMLS_LinearAlgebra {
 
   26     KOKKOS_INLINE_FUNCTION
 
   55     template <
typename A_layout=layout_right, 
typename B_layout=layout_right, 
typename X_layout=layout_right>
 
   56     void batchQRPivotingSolve(ParallelManager pm, 
double *A, 
int lda, 
int nda, 
double *B, 
int ldb, 
int ndb, 
int M, 
int N, 
int NRHS, 
const int num_matrices, 
const bool implicit_RHS = 
true);
 
team_policy::member_type member_type
 
KOKKOS_INLINE_FUNCTION void largestTwoEigenvectorsThreeByThreeSymmetric(const member_type &teamMember, scratch_matrix_right_type V, scratch_matrix_right_type PtP, const int dimensions, pool_type &random_number_pool)
Calculates two eigenvectors corresponding to two dominant eigenvalues. 
 
Kokkos::Random_XorShift64_Pool pool_type
 
Kokkos::View< double **, layout_right, Kokkos::MemoryTraits< Kokkos::Unmanaged > > scratch_matrix_right_type
 
void batchQRPivotingSolve(ParallelManager pm, double *A, int lda, int nda, double *B, int ldb, int ndb, int M, int N, int NRHS, const int num_matrices, const bool implicit_RHS)
Solves a batch of problems with QR+Pivoting.