gfqrc.h

Go to the documentation of this file.
00001 // -*-C++-*- 
00002 
00003 // Copyright (C) 2004 
00004 // Christian Stimming <stimming@tuhh.de>
00005 
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public License
00008 // as published by the Free Software Foundation; either version 2, or
00009 // (at your option) any later version.
00010 
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU Lesser General Public License for more details.
00015 
00016 // You should have received a copy of the GNU Lesser General Public License along
00017 // with this library; see the file COPYING.  If not, write to the Free
00018 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
00019 // USA.
00020 
00025 //      LAPACK++ (V. 1.1)
00026 //      (C) 1992-1996 All Rights Reserved.
00027 
00028 
00029 #ifndef _LA_GEN_QRFACT_COMPLEX_H
00030 #define _LA_GEN_QRFACT_COMPLEX_H
00031 
00032 #include "lafnames.h"
00033 #include LA_VECTOR_COMPLEX_H
00034 #include LA_GEN_MAT_COMPLEX_H
00035 
00036 #include "lapack.h"
00037 
00051 class DLLIMPORT LaGenQRFactComplex
00052 {
00053       LaGenMatComplex _matA;
00054       LaVectorComplex _tau;
00055 
00056       mutable LaVectorComplex _work;
00057 
00058       // This assumes that the QR-decomposition is already copied into
00059       // A.
00060       void generateQ_internal(LaGenMatComplex &A) const;
00061 
00062    public:
00063 
00066       LaGenQRFactComplex();
00067 
00071       LaGenQRFactComplex(LaGenMatComplex &A);
00072 
00074       LaGenQRFactComplex(LaGenQRFactComplex &QR);
00075 
00077       ~LaGenQRFactComplex();
00078 
00088       void decomposeQR_IP(LaGenMatComplex& A);
00089 
00096       LaGenMatComplex& generateQ_IP();
00097 
00103       void generateQ(LaGenMatComplex &A) const;
00104 
00130       void Mat_Mult(LaGenMatComplex& C, bool hermitian, 
00131                     bool from_left) const;
00132 };
00133 
00134 
00135 #endif

Generated on Sat Jul 14 11:40:36 2007 for Lapack++ by  doxygen 1.5.0