Periodic Eigendecomposition
Periodic Eigendecomposition

Introduction

This package contains the source file of implementing periodic eigendecomposition.

Suppose there are M matrices $J_M, J_{M-1},\cdots, J_1$, each of which has dimension [N, N]. We are interested in the eigenvalues and eigenvectors of their products:

\[ J_M J_{M-1}\cdots J_1\,, \quad, J_1J_M\cdots,J_2\,,\quad J_2J_1J_M\cdots J_3\,,\quad \cdots \]

Note all of these products have same eigenvalues and their eigenvectors are related by similarity transformation. This package is designed to solve this problem.

There is only one class PED which has only member functions, no member variables. For the detailed usage, please go to the documentation of two functions PED::EigVals() and PED::EigVecs().

How to compile

This package is developed under template library Eigen. In order to use this package, make sure you have Eigen3.2 or above, and your C++ compiler support C++11.

For example, the command line compilation in linux is

  g++ ped.cc yourcode.cc -std=c++0x -O3 -I/path/to/eigen/header

Acknowledgment

This is one project for my PhD study. I sincerely thank my adviser Prof. Predrag Cvitanovic for his patient guidance.

 All Classes Files Functions