//#####################################################################
// Copyright 2024, Craig Schroeder.
// This file is part of PhysBAM whose distribution is governed by the license contained in the accompanying file PHYSBAM_COPYRIGHT.txt.
//#####################################################################
#ifndef __Eigenvalues__
#define __Eigenvalues__
#include <utility>
namespace PhysBAM{

template<class T,int d> class DIAGONAL_MATRIX;
template<class T,int d> class SYMMETRIC_MATRIX;
template<class T,int m,int n> class MATRIX;

template<class T,int d>
DIAGONAL_MATRIX<T,d>
Eigenvalues(const SYMMETRIC_MATRIX<T,d>& m);

template<class T,int d>
std::pair<DIAGONAL_MATRIX<T,d>,MATRIX<T,d,d>>
Eigenvalue_Decomposition(const SYMMETRIC_MATRIX<T,d>& m);
}
#endif
