00001 #ifndef GLINEAR_HOMO_EQ_H 00002 #define GLINEAR_HOMO_EQ_H 00003 00004 #include "GObject.h" 00005 #include "GMatrix.h" 00006 #include "GLU_Composition.h" 00007 00008 namespace GMathLib{ 00009 00010 00014 class GLinear_Homo_Eq : public GObject 00015 { 00016 public: 00020 GLinear_Homo_Eq(); 00021 00025 ~GLinear_Homo_Eq(); 00026 00041 void S_Gauss_Partial_Pivot(GMatrix& matrix, GVector& vec, GVector& answer_vec); 00042 00058 void S_Gauss_Partial_Pivot(const GMatrix& matrix, const GVector& vec, GVector& answer_vec); 00059 00060 00075 void S_LU_Partial_Pivot(GMatrix& matrix, GVector& vec, GVector& answer_vec, bool do_lu_cmp_flag=true); 00076 00077 00078 private: 00086 bool check_matrix_size(GMatrix& matrix, GVector& vec, GVector& answer_vec); 00087 00088 00089 GMatrix_Util::GLU_Composition* p_lu; /*<< LU 分解法用の GLU_Composition オブジェクトのポインタ */ 00090 }; 00091 00092 } 00093 #endif 00094