Module Gsl.Eigen

Real Symmetric Matrices

type symm_ws
val make_symm_ws : int -> symm_ws
external _symm : Vectmat.mat -> Vectmat.vec -> symm_ws -> unit = "ml_gsl_eigen_symm"
val symm : ?⁠protect:bool -> [< `M of Matrix.matrix | `MF of Matrix_flat.matrix | `A of float array * int * int | `AA of float array array ] -> Vector.vector
type symmv_ws
val make_symmv_ws : int -> symmv_ws
external _symmv : Vectmat.mat -> Vectmat.vec -> Vectmat.mat -> symmv_ws -> unit = "ml_gsl_eigen_symmv"
val symmv : ?⁠protect:bool -> [< `M of Matrix.matrix | `MF of Matrix_flat.matrix | `A of float array * int * int | `AA of float array array ] -> Vector.vector * Matrix.matrix
type sort =
| VAL_ASC
| VAL_DESC
| ABS_ASC
| ABS_DESC
external symmv_sort : (Vector.vector * Matrix.matrix) -> sort -> unit = "ml_gsl_eigen_symmv_sort"

Complex Hermitian Matrices

type herm_ws
val make_herm_ws : int -> herm_ws
external _herm : Vectmat.cmat -> Vectmat.vec -> herm_ws -> unit = "ml_gsl_eigen_herm"
val herm : ?⁠protect:bool -> [< `CM of Matrix_complex.matrix | `CMF of Matrix_complex_flat.matrix | `CA of Gsl_complex.complex_array * int * int ] -> Vector.vector
type hermv_ws
val make_hermv_ws : int -> hermv_ws
external _hermv : Vectmat.cmat -> Vectmat.vec -> Vectmat.cmat -> hermv_ws -> unit = "ml_gsl_eigen_hermv"
val hermv : ?⁠protect:bool -> [< `CM of Matrix_complex.matrix | `CMF of Matrix_complex_flat.matrix | `CA of Gsl_complex.complex_array * int * int ] -> Vector.vector * Matrix_complex.matrix
external hermv_sort : (Vector.vector * Matrix_complex.matrix) -> sort -> unit = "ml_gsl_eigen_hermv_sort"

Real Nonsymmetric Matrices

type nonsymm_ws
val make_nonsymm_ws : int -> nonsymm_ws
external _nonsymm : Vectmat.mat -> Vectmat.cvec -> nonsymm_ws -> unit = "ml_gsl_eigen_nonsymm"
external _nonsymm_Z : Vectmat.mat -> Vectmat.cvec -> Vectmat.mat -> nonsymm_ws -> unit = "ml_gsl_eigen_nonsymm_Z"
val nonsymm : ?⁠protect:bool -> [< `M of Matrix.matrix | `MF of Matrix_flat.matrix | `A of float array * int * int | `AA of float array array ] -> Vector_complex.vector
type nonsymmv_ws
val make_nonsymmv_ws : int -> nonsymmv_ws
external _nonsymmv : Vectmat.mat -> Vectmat.cvec -> Vectmat.cmat -> nonsymmv_ws -> unit = "ml_gsl_eigen_nonsymmv"
external _nonsymmv_Z : Vectmat.mat -> Vectmat.cvec -> Vectmat.cmat -> Vectmat.mat -> nonsymmv_ws -> unit = "ml_gsl_eigen_nonsymmv_Z"
val nonsymmv : ?⁠protect:bool -> [< `M of Matrix.matrix | `MF of Matrix_flat.matrix | `A of float array * int * int | `AA of float array array ] -> Vector_complex.vector * Matrix_complex.matrix
external nonsymmv_sort : (Vector_complex.vector * Matrix_complex.matrix) -> sort -> unit = "ml_gsl_eigen_nonsymmv_sort"