Function

NumCosmoMathlapack_dgeev

Declaration [src]

gint
ncm_lapack_dgeev (
  gchar jobvl,
  gchar jobvr,
  gint n,
  gdouble* a,
  gint lda,
  gdouble* wr,
  gdouble* wi,
  gdouble* vl,
  gint ldvl,
  gdouble* vr,
  gint ldvr,
  gdouble* work,
  gint lwork
)

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

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.

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.

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.

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.