fn_lu.hpp
Go to the documentation of this file.
1 // Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
2 // Copyright (C) 2008-2011 Conrad Sanderson
3 //
4 // This file is part of the Armadillo C++ library.
5 // It is provided without any warranty of fitness
6 // for any purpose. You can redistribute this file
7 // and/or modify it under the terms of the GNU
8 // Lesser General Public License (LGPL) as published
9 // by the Free Software Foundation, either version 3
10 // of the License or (at your option) any later version.
11 // (see http://www.opensource.org/licenses for more info)
12 
13 
16 
17 
18 
20 template<typename T1>
21 inline
22 bool
23 lu
24  (
29  )
30  {
33 
34  arma_debug_check( (&L == &U), "lu(): L and U are the same object");
35 
36  const bool status = auxlib::lu(L, U, X);
37 
38  if(status == false)
39  {
40  L.reset();
41  U.reset();
42  arma_bad("lu(): failed to converge", false);
43  }
44 
45  return status;
46  }
47 
48 
49 
51 template<typename T1>
52 inline
53 bool
54 lu
55  (
61  )
62  {
65 
66  arma_debug_check( ( (&L == &U) || (&L == &P) || (&U == &P) ), "lu(): two or more output objects are the same object");
67 
68  const bool status = auxlib::lu(L, U, P, X);
69 
70  if(status == false)
71  {
72  L.reset();
73  U.reset();
74  P.reset();
75  arma_bad("lu(): failed to converge", false);
76  }
77 
78  return status;
79  }
80 
81 
82 
static bool lu(Mat< eT > &L, Mat< eT > &U, podarray< blas_int > &ipiv, const Base< eT, T1 > &X)
immediate LU decomposition of a matrix using ATLAS or LAPACK
#define arma_debug_check
Definition: debug.hpp:1084
#define arma_ignore(variable)
void reset()
Definition: Mat_meat.hpp:4553
#define arma_extra_debug_sigprint
Definition: debug.hpp:1116
void arma_cold arma_bad(const T1 &x, const bool hurl=true)
print a message to get_stream_err2() and/or throw a run-time error exception
Definition: debug.hpp:150
Dense matrix class.
bool lu(Mat< typename T1::elem_type > &L, Mat< typename T1::elem_type > &U, const Base< typename T1::elem_type, T1 > &X, const typename arma_blas_type_only< typename T1::elem_type >::result *junk=0)
immediate lower upper decomposition, permutation info is embedded into L (similar to Matlab/Octave) ...
Definition: fn_lu.hpp:24


armadillo_matrix
Author(s):
autogenerated on Fri Apr 16 2021 02:31:57