From c1b0635f993c72fa32de11bc4df73b7dc77509b8 Mon Sep 17 00:00:00 2001 From: Krishna Vedala <7001608+kvedala@users.noreply.github.com> Date: Thu, 25 Jun 2020 15:03:12 -0400 Subject: [PATCH] create and added matrix type --- numerical_methods/lu_decomposition.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/numerical_methods/lu_decomposition.h b/numerical_methods/lu_decomposition.h index 42c29e4f2..22af249a5 100644 --- a/numerical_methods/lu_decomposition.h +++ b/numerical_methods/lu_decomposition.h @@ -7,6 +7,10 @@ #include #endif +/** Define matrix type as a `std::vector` of `std::valarray` */ +template +using matrix = std::vector>; + /** Perform LU decomposition on matrix * \param[in] A matrix to decompose * \param[out] L output L matrix @@ -15,9 +19,7 @@ * \returns negative if error occurred */ template -int lu_decomposition(const std::vector> &A, - std::vector> *L, - std::vector> *U) { +int lu_decomposition(const matrix &A, matrix *L, matrix *U) { int row, col, j; int mat_size = A.size(); @@ -78,11 +80,9 @@ int lu_decomposition(const std::vector> &A, * @return determinant of matrix A */ template -double determinant_lu(const std::vector> &A) { - std::vector> L(A.size(), - std::valarray(A.size())); - std::vector> U(A.size(), - std::valarray(A.size())); +double determinant_lu(const matrix &A) { + matrix L(A.size(), std::valarray(A.size())); + matrix U(A.size(), std::valarray(A.size())); if (lu_decomposition(A, &L, &U) < 0) return 0;