Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if !defined (octave_FloatComplexSCHUR_h)
00024 #define octave_FloatComplexSCHUR_h 1
00025
00026 #include <iosfwd>
00027 #include <string>
00028
00029 #include "fCMatrix.h"
00030 #include "floatSCHUR.h"
00031
00032 class
00033 OCTAVE_API
00034 FloatComplexSCHUR
00035 {
00036 public:
00037
00038 FloatComplexSCHUR (void) : schur_mat (), unitary_mat (), selector (0) { }
00039
00040 FloatComplexSCHUR (const FloatComplexMatrix& a, const std::string& ord,
00041 bool calc_unitary = true)
00042 : schur_mat (), unitary_mat (), selector (0)
00043 {
00044 init (a, ord, calc_unitary);
00045 }
00046
00047 FloatComplexSCHUR (const FloatComplexMatrix& a, const std::string& ord,
00048 octave_idx_type& info, bool calc_unitary = true)
00049 : schur_mat (), unitary_mat (), selector (0)
00050 {
00051 info = init (a, ord, calc_unitary);
00052 }
00053
00054 FloatComplexSCHUR (const FloatComplexSCHUR& a)
00055 : schur_mat (a.schur_mat), unitary_mat (a.unitary_mat), selector (0)
00056 { }
00057
00058 FloatComplexSCHUR (const FloatComplexMatrix& s, const FloatComplexMatrix& u);
00059
00060 FloatComplexSCHUR (const FloatSCHUR& s);
00061
00062 FloatComplexSCHUR& operator = (const FloatComplexSCHUR& a)
00063 {
00064 if (this != &a)
00065 {
00066 schur_mat = a.schur_mat;
00067 unitary_mat = a.unitary_mat;
00068 }
00069 return *this;
00070 }
00071
00072 ~FloatComplexSCHUR (void) { }
00073
00074 FloatComplexMatrix schur_matrix (void) const { return schur_mat; }
00075
00076 FloatComplexMatrix unitary_matrix (void) const { return unitary_mat; }
00077
00078 friend std::ostream& operator << (std::ostream& os, const FloatComplexSCHUR& a);
00079
00080 typedef octave_idx_type (*select_function) (const FloatComplex&);
00081
00082 private:
00083
00084 FloatComplexMatrix schur_mat;
00085 FloatComplexMatrix unitary_mat;
00086
00087 select_function selector;
00088
00089 octave_idx_type init (const FloatComplexMatrix& a, const std::string& ord, bool calc_unitary);
00090 };
00091
00092 #endif