EigenvalueVector.h
上传用户:fxromeo
上传日期:2010-04-08
资源大小:89k
文件大小:1k
开发平台:

Visual C++

  1. // EigenvalueVector.h 计算特征值特征向量头文件
  2. // Ver 1.0.0.0
  3. // 版权所有(C) 何渝, 2002
  4. // 最后修改: 2002.8.10
  5. #ifndef _EIGENVALUEVECTOR_H //避免多次编译
  6. #define _EIGENVALUEVECTOR_H
  7. #include "Matrix.h" //矩阵类及相关函数等的定义
  8. #include <comm.h> //公共头文件
  9. #include <math.h> //数学头文件
  10. using namespace std; //名字空间
  11. //约化对称阵为对称三对角阵的豪斯荷尔德变换法
  12. template <class _Ty>
  13. int HouseholderTransform(matrix<_Ty>& a, matrix<_Ty>& q, 
  14. valarray<_Ty>& b, valarray<_Ty>& c);
  15. //实对称三角阵全部特征值及特征向量QR法
  16. template <class _Ty>
  17. int EigenvalueVectorRealTriangleQR(valarray<_Ty>& b, 
  18. valarray<_Ty>& c, matrix<_Ty>& q, _Ty eps, int l);
  19. //约化一般实矩阵为赫申伯格阵的初等相似变换法
  20. //矩阵类型应是浮点型
  21. template <class _Ty>
  22. int HessenbergTransform(matrix<_Ty>& a);
  23. //求赫申伯格阵全部特征值QR法
  24. template <class _Ty>
  25. int EigenvalueVectorHessenbergQR(matrix<_Ty>& a,  
  26. valarray<complex<_Ty> >& uv, _Ty eps, int jt);
  27. //实对称阵特征值及特征向量雅可比法
  28. template <class _Ty>
  29. int EigenvalueVectorRealSymmetryJacobi(matrix<_Ty>& a,  
  30. matrix<_Ty>& v, _Ty eps, int jt);
  31. //实对称阵特征值及特征向量雅可比过关法
  32. template <class _Ty>
  33. int EigenvalueVectorRealSymmetryJacobiB(matrix<_Ty>& a,  
  34. matrix<_Ty>& v, _Ty eps);
  35. #include "EigenvalueVector.inl" //类及相关函数的定义头文件
  36. #endif // _EIGENVALUEVECTOR_H