{-# LANGUAGE TypeFamilies #-}
module Numeric.LAPACK.Matrix.Hermitian (
module Numeric.LAPACK.Matrix.Hermitian.Basic,
module Numeric.LAPACK.Matrix.Hermitian.Linear,
eigenvalues,
eigensystem,
) where
import qualified Numeric.LAPACK.Matrix.Hermitian.Eigen as Eigen
import Numeric.LAPACK.Matrix.Hermitian.Basic
import Numeric.LAPACK.Matrix.Hermitian.Linear
import Numeric.LAPACK.Matrix.Private (Square)
import Numeric.LAPACK.Vector (Vector)
import Numeric.LAPACK.Scalar (RealOf)
import qualified Numeric.Netlib.Class as Class
import qualified Data.Array.Comfort.Shape as Shape
eigenvalues ::
(Shape.C sh, Class.Floating a) =>
Hermitian sh a -> Vector sh (RealOf a)
eigenvalues = Eigen.values
eigensystem ::
(Shape.C sh, Class.Floating a) =>
Hermitian sh a -> (Square sh a, Vector sh (RealOf a))
eigensystem = Eigen.decompose