SparseCmplxCHOL.h

Go to the documentation of this file.
00001 /*
00002 
00003 Copyright (C) 2005-2012 David Bateman
00004 Copyright (C) 1998-2005 Andy Adler
00005 
00006 This file is part of Octave.
00007 
00008 Octave is free software; you can redistribute it and/or modify it
00009 under the terms of the GNU General Public License as published by the
00010 Free Software Foundation; either version 3 of the License, or (at your
00011 option) any later version.
00012 
00013 Octave is distributed in the hope that it will be useful, but WITHOUT
00014 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00015 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00016 for more details.
00017 
00018 You should have received a copy of the GNU General Public License
00019 along with Octave; see the file COPYING.  If not, see
00020 <http://www.gnu.org/licenses/>.
00021 
00022 */
00023 
00024 #if !defined (octave_sparse_complex_CHOL_h)
00025 #define octave_sparse_complex_CHOL_h 1
00026 
00027 #include "sparse-base-chol.h"
00028 #include "dSparse.h"
00029 #include "CSparse.h"
00030 
00031 class
00032 OCTAVE_API
00033 SparseComplexCHOL :
00034   public sparse_base_chol <SparseComplexMatrix, Complex, SparseMatrix>
00035 {
00036 public:
00037 
00038   SparseComplexCHOL (void) :
00039     sparse_base_chol<SparseComplexMatrix, Complex, SparseMatrix> () { }
00040 
00041   SparseComplexCHOL (const SparseComplexMatrix& a, bool natural = true) :
00042     sparse_base_chol<SparseComplexMatrix, Complex, SparseMatrix>
00043   (a, natural) { }
00044 
00045   SparseComplexCHOL (const SparseComplexMatrix& a, octave_idx_type& info,
00046                      bool natural = true) :
00047     sparse_base_chol<SparseComplexMatrix, Complex, SparseMatrix>
00048   (a, info, natural) { }
00049 
00050   SparseComplexCHOL (const SparseComplexCHOL& a) :
00051     sparse_base_chol<SparseComplexMatrix, Complex, SparseMatrix> (a) { }
00052 
00053   ~SparseComplexCHOL (void) { }
00054 
00055   SparseComplexCHOL& operator = (const SparseComplexCHOL& a)
00056     {
00057       if (this != &a)
00058         sparse_base_chol <SparseComplexMatrix, Complex, SparseMatrix> ::
00059           operator = (a);
00060 
00061       return *this;
00062     }
00063 
00064   SparseComplexMatrix chol_matrix (void) const { return R(); }
00065 
00066   SparseComplexMatrix L (void) const
00067     { return sparse_base_chol<SparseComplexMatrix, Complex,
00068         SparseMatrix>:: L (); }
00069 
00070   SparseComplexMatrix R (void) const
00071     { return sparse_base_chol<SparseComplexMatrix, Complex,
00072         SparseMatrix>:: R (); }
00073 
00074   octave_idx_type P (void) const
00075    { return sparse_base_chol<SparseComplexMatrix, Complex,
00076         SparseMatrix>:: P (); }
00077 
00078   ColumnVector perm (void) const
00079     { return sparse_base_chol<SparseComplexMatrix, Complex,
00080         SparseMatrix>:: perm (); }
00081 
00082   SparseMatrix Q (void) const
00083     { return sparse_base_chol<SparseComplexMatrix, Complex,
00084         SparseMatrix>:: Q (); }
00085 
00086   double rcond (void) const
00087     { return sparse_base_chol<SparseComplexMatrix, Complex,
00088         SparseMatrix>:: rcond (); }
00089 
00090   // Compute the inverse of a matrix using the Cholesky factorization.
00091   SparseComplexMatrix inverse (void) const
00092     { return sparse_base_chol<SparseComplexMatrix, Complex,
00093         SparseMatrix>:: inverse (); }
00094 };
00095 
00096 SparseComplexMatrix OCTAVE_API chol2inv (const SparseComplexMatrix& r);
00097 
00098 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines