LU and LU inverse is done
This commit is contained in:
@@ -7,12 +7,13 @@
|
||||
|
||||
#include <omp.h>
|
||||
|
||||
|
||||
namespace numerics{
|
||||
|
||||
template <typename T>
|
||||
void inverse_gj(utils::Matrix<T>& A){
|
||||
utils::Matrix<T> B(A.rows(),A.cols(), T{0});
|
||||
//utils::Matrix<T> B(A.rows(),A.cols(), T{0});
|
||||
utils::Matrix<T> B;
|
||||
B.eye(A.rows());
|
||||
|
||||
|
||||
uint64_t icol{0}, irow{0}, rows{A.rows()}, cols{A.cols()};
|
||||
@@ -36,6 +37,9 @@ namespace numerics{
|
||||
}
|
||||
}
|
||||
}
|
||||
if (big <= T{1e-14}){
|
||||
throw std::runtime_error("utill:inplace_inverse('Gauss-Jordan' - Singular Matrix");
|
||||
}
|
||||
ipiv[icol]++;
|
||||
if (irow != icol){
|
||||
for (uint64_t l = 0; l < rows; l++){ // SWAP
|
||||
|
||||
Reference in New Issue
Block a user