Function

NumCosmoMathlapack_dgeevx

Declaration [src]

gint
ncm_lapack_dgeevx (
  gchar balanc,
  gchar jobvl,
  gchar jobvr,
  gchar sense,
  gint n,
  gdouble* a,
  gint lda,
  gdouble* wr,
  gdouble* wi,
  gdouble* vl,
  gint ldvl,
  gdouble* vr,
  gint ldvr,
  gint* ilo,
  gint* ihi,
  gdouble* scale,
  gdouble* abnrm,
  gdouble* rconde,
  gdouble* rcondv,
  gdouble* work,
  gint lwork,
  gint* iwork
)

Description [src]

This function computes the eigensystem for a real matrix a = A.

Calling this function with lwork == -1 computed the ideal lwork in work[0].

Parameters

balanc

Type: gchar

A char with value ‘N’, ‘P’, ‘S’ or ‘B’.

jobvl

Type: gchar

n left eigenvectors of a are not computed, ‘V’ left eigenvectors of a are computed.

jobvr

Type: gchar

n right eigenvectors of a are not computed, ‘V’ right eigenvectors of a are computed.

sense

Type: gchar

A char with value ‘N’, ‘E’, ‘V’ or ‘B’.

n

Type: gint

The order of the matrix a, n >= 0.

a

Type: gdouble*

Array of doubles with dimension (n, lda).

The data is owned by the caller of the function.
lda

Type: gint

The leading dimension of the array a, lda >= max (1, n).

wr

Type: gdouble*

Contain the real part of the computed eigenvalues.

The data is owned by the caller of the function.
wi

Type: gdouble*

Contain the imaginary part of the computed eigenvalues.

The data is owned by the caller of the function.
vl

Type: gdouble*

If jobvl = ‘V’, the left eigenvectors $u(j)$ are stored one after another in the rows of vl, in the same order as their eigenvalues.

The data is owned by the caller of the function.
ldvl

Type: gint

The leading dimension of the array vl.

vr

Type: gdouble*

If jobvr = ‘V’, the left eigenvectors $v(j)$ are stored one after another in the rows of vr, in the same order as their eigenvalues.

The data is owned by the caller of the function.
ldvr

Type: gint

The leading dimension of the array vr.

ilo

Type: gint*

An integer with the index of the first eigenvalue to be returned.

The data is owned by the caller of the function.
ihi

Type: gint*

An integer with the index of the last eigenvalue to be returned.

The data is owned by the caller of the function.
scale

Type: gdouble*

An array of doubles with dimension n.

The data is owned by the caller of the function.
abnrm

Type: gdouble*

An array of doubles with dimension n.

The data is owned by the caller of the function.
rconde

Type: gdouble*

An array of doubles with dimension n.

The data is owned by the caller of the function.
rcondv

Type: gdouble*

An array of doubles with dimension n.

The data is owned by the caller of the function.
work

Type: gdouble*

Work area, must have lwork allocated doubles.

The data is owned by the caller of the function.
lwork

Type: gint

Work area size.

iwork

Type: gint*

Work area, must have liwork allocated integers.

The data is owned by the caller of the function.

Return value

Type: gint

I = 0: successful exit

     < 0:  -i, the i-th argument had an illegal value

     > 0: the (i,i) element of the factor U
       or L is zero, and the inverse could not be computed.