eigenvalue.cpp

// ////////////////////////////////////////////////////////////////
// 対称行列の固有値と固有ベクトルを求める
// ////////////////////////////////////////////////////////////////
#include <iostream>

#include <tnt_array2d.h>
#include <tnt_array2d_utils.h>
#include <jama_eig.h>

int
main(int, char *[])
{
  TNT::Array2D<double> A(4, 4);
  A[0][0] = 4.0; A[0][1] = 5.0; A[0][2] = 8.0; A[0][3] = 6.0;
  A[1][0] = 5.0; A[1][1] = 3.0; A[1][2] = 8.0; A[1][3] = 9.0;
  A[2][0] = 8.0; A[2][1] = 8.0; A[2][2] = 8.0; A[2][3] = 9.0;
  A[3][0] = 6.0; A[3][1] = 9.0; A[3][2] = 9.0; A[3][3] = 5.0;
  std::cout << "A: " << std::endl;
  std::cout << A << std::endl;

  JAMA::Eigenvalue<double> eig(A);

  TNT::Array2D<double> V;
  eig.getV(V);
  std::cout << "V: " << std::endl;
  std::cout << V << std::endl;

  TNT::Array2D<double> D;
  eig.getD(D);
  std::cout << "D: " << std::endl;
  std::cout << D << std::endl;

  return 0;
}

TNTに対してThu Nov 13 00:45:17 2008に生成されました。  doxygen 1.5.7.1