NAME

PDL::LinearAlgebra::Complex - PDL interface to the lapack linear algebra programming library (complex number)

SYNOPSIS

use PDL;
use PDL::LinearAlgebra::Complex;
$a = random(cdouble, 100, 100);
$s = zeroes(cdouble, 100);
$u = zeroes(cdouble, 100, 100);
$v = zeroes(cdouble, 100, 100);
$info = 0;
$job = 0;
cgesdd($a, $job, $info, $s , $u, $v);

DESCRIPTION

This module provides an interface to parts of the lapack library (complex numbers). These routines accept either float or double ndarrays.

FUNCTIONS

cgtsv

Signature: (complex [io]DL(n);complex  [io]D(n);complex  [io]DU(n);complex  [io]B(n,nrhs); int [o]info())

Solves the equation

A * X = B

where A is an n by n tridiagonal matrix, by Gaussian elimination with partial pivoting, and B is an n by nrhs matrix.

Note that the equation A**T*X = B may be solved by interchanging the order of the arguments DU and DL.

NB This differs from the LINPACK function cgtsl in that DL starts from its first element, while the LINPACK equivalent starts from its second element.

Arguments
=========

DL:   On entry, DL must contain the (n-1) sub-diagonal elements of A.

      On exit, DL is overwritten by the (n-2) elements of the
      second super-diagonal of the upper triangular matrix U from
      the LU factorization of A, in DL(1), ..., DL(n-2).

D:    On entry, D must contain the diagonal elements of A.

      On exit, D is overwritten by the n diagonal elements of U.

DU:   On entry, DU must contain the (n-1) super-diagonal elements of A.

      On exit, DU is overwritten by the (n-1) elements of the
      first super-diagonal of the U.

B:    On entry, the n by nrhs matrix of right hand side matrix B.
      On exit, if info = 0, the n by nrhs solution matrix X.

info:   = 0:  successful exit
        < 0:  if info = -i, the i-th argument had an illegal value
        > 0:  if info = i, U(i,i) is exactly zero, and the solution
              has not been computed.  The factorization has not been
              completed unless i = n.
$dl = random(float, 9) + random(float, 9) * i;
$d = random(float, 10) + random(float, 10) * i;
$du = random(float, 9) + random(float, 9) * i;
$b = random(10,5) + random(10,5) * i;
cgtsv($dl, $d, $du, $b, ($info=null));
print "X is:\n$b" unless $info;

cgtsv ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgesvd

Signature: (complex [io]A(m,n); int jobu(); int jobvt(); [o]s(minmn=CALC(PDLMIN($SIZE(m),$SIZE(n))));complex  [o]U(p,p);complex  [o]VT(s,s); int [o]info(); [t]rwork(rworkn=CALC(5*$SIZE(minmn))))

Complex version of "gesvd" in PDL::LinearAlgebra::Real.

The SVD is written

A = U * SIGMA * ConjugateTranspose(V)

cgesvd ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgesdd

Signature: (complex [io]A(m,n); int jobz(); [o]s(minmn=CALC(PDLMIN($SIZE(m),$SIZE(n))));complex  [o]U(p,p);complex  [o]VT(s,s); int [o]info(); int [t]iwork(iworkn))

Complex version of "gesdd" in PDL::LinearAlgebra::Real.

The SVD is written

A = U * SIGMA * ConjugateTranspose(V)

cgesdd ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cggsvd

Signature: (complex [io]A(m,n); int jobu(); int jobv(); int jobq();complex  [io]B(p,n); int [o]k(); int [o]l();[o]alpha(n);[o]beta(n);complex  [o]U(q,q);complex  [o]V(r,r);complex  [o]Q(s,s); int [o]iwork(n); int [o]info(); [t]rwork(rworkn=CALC(2*$SIZE(n))))

Complex version of "ggsvd" in PDL::LinearAlgebra::Real

cggsvd ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgeev

Signature: (complex [io]A(n,n); int jobvl(); int jobvr();complex  [o]w(n);complex  [o]vl(m,m);complex  [o]vr(p,p); int [o]info(); [t]rwork(rworkn=CALC(2*$SIZE(n))))

Complex version of "geev" in PDL::LinearAlgebra::Real

cgeev ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgeevx

Signature: (complex [io]A(n,n);  int jobvl(); int jobvr(); int balance(); int sense();complex  [o]w(n);complex  [o]vl(m,m);complex  [o]vr(p,p); int [o]ilo(); int [o]ihi(); [o]scale(n); [o]abnrm(); [o]rconde(q); [o]rcondv(r); int [o]info(); [t]rwork(rworkn=CALC(2*$SIZE(n))))

Complex version of "geevx" in PDL::LinearAlgebra::Real

cgeevx ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cggev

Signature: (complex [io]A(n,n); int jobvl();int jobvr();complex [io]B(n,n);complex [o]alpha(n);complex [o]beta(n);complex [o]VL(m,m);complex [o]VR(p,p);int [o]info(); [t]rwork(rworkn=CALC(8*$SIZE(n))))

Complex version of "ggev" in PDL::LinearAlgebra::Real

cggev ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cggevx

Signature: (complex [io]A(n,n);int balanc();int jobvl();int jobvr();int sense();complex [io]B(n,n);complex [o]alpha(n);complex [o]beta(n);complex [o]VL(m,m);complex [o]VR(p,p);int [o]ilo();int [o]ihi();[o]lscale(n);[o]rscale(n);[o]abnrm();[o]bbnrm();[o]rconde(r);[o]rcondv(s);int [o]info(); [t]rwork(rworkn=CALC(6*$SIZE(n))); int [t]bwork(bworkn); int [t]iwork(iworkn))

Complex version of "ggevx" in PDL::LinearAlgebra::Real

cggevx ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgees

Signature: (complex [io]A(n,n);  int jobvs(); int sort();complex  [o]w(n);complex  [o]vs(p,p); int [o]sdim(); int [o]info(); [t]rwork(n); int [t]bwork(bworkn); SV* select_func)

Complex version of "gees" in PDL::LinearAlgebra::Real

select_func:
        If sort = 1, select_func is used to select eigenvalues to sort
        to the top left of the Schur form.
        If sort = 0, select_func is not referenced.
        An complex eigenvalue w is selected if
        select_func(complex(w)) is true;
        Note that a selected complex eigenvalue may no longer
        satisfy select_func(complex(w)) = 1 after ordering, since
        ordering may change the value of complex eigenvalues
        (especially if the eigenvalue is ill-conditioned); in this
        case info is set to N+2.

cgees ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgeesx

Signature: (complex [io]A(n,n);  int jobvs(); int sort(); int sense();complex  [o]w(n);complex [o]vs(p,p); int [o]sdim(); [o]rconde();[o]rcondv(); int [o]info(); [t]rwork(n); int [t]bwork(bworkn); SV* select_func)

Complex version of "geesx" in PDL::LinearAlgebra::Real

select_func:
        If sort = 1, select_func is used to select eigenvalues to sort
        to the top left of the Schur form.
        If sort = 0, select_func is not referenced.
        An complex eigenvalue w is selected if
        select_func(complex(w)) is true;
        Note that a selected complex eigenvalue may no longer
        satisfy select_func(complex(w)) = 1 after ordering, since
        ordering may change the value of complex eigenvalues
        (especially if the eigenvalue is ill-conditioned); in this
        case info is set to N+2.

cgeesx ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgges

Signature: (complex [io]A(n,n); int jobvsl();int jobvsr();int sort();complex [io]B(n,n);complex [o]alpha(n);complex [o]beta(n);complex [o]VSL(m,m);complex [o]VSR(p,p);int [o]sdim();int [o]info(); [t]rwork(rworkn=CALC(8*$SIZE(n))); int [t]bwork(bworkn); SV* select_func)

Complex version of "ggees" in PDL::LinearAlgebra::Real

select_func:
        If sort = 1, select_func is used to select eigenvalues to sort
        to the top left of the Schur form.
        If sort = 0, select_func is not referenced.
        An eigenvalue w = w/beta is selected if
        select_func(complex(w), complex(beta)) is true;
        Note that a selected complex eigenvalue may no longer
        satisfy select_func(complex(w),complex(beta)) = 1 after ordering, since
        ordering may change the value of complex eigenvalues
        (especially if the eigenvalue is ill-conditioned); in this
        case info is set to N+2.

cgges ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cggesx

Signature: (complex [io]A(n,n); int jobvsl();int jobvsr();int sort();int sense();complex [io]B(n,n);complex [o]alpha(n);complex [o]beta(n);complex [o]VSL(m,m);complex [o]VSR(p,p);int [o]sdim();[o]rconde(q=2);[o]rcondv(q=2);int [o]info(); [t]rwork(rworkn=CALC(8*$SIZE(n))); int [t]bwork(bworkn); int [t]iwork(iworkn=CALC($SIZE(n)+2)); SV* select_func)

Complex version of "ggeesx" in PDL::LinearAlgebra::Real

select_func:
        If sort = 1, select_func is used to select eigenvalues to sort
        to the top left of the Schur form.
        If sort = 0, select_func is not referenced.
        An eigenvalue w = w/beta is selected if
        select_func(complex(w), complex(beta)) is true;
        Note that a selected complex eigenvalue may no longer
        satisfy select_func(complex(w),complex(beta)) = 1 after ordering, since
        ordering may change the value of complex eigenvalues
        (especially if the eigenvalue is ill-conditioned); in this
        case info is set to N+3.

cggesx ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cheev

Signature: (complex [io]A(n,n); int jobz(); int uplo(); [o]w(n); int [o]info(); [t]rwork(rworkn=CALC(3*($SIZE(n)-2))))

Complex version of "syev" in PDL::LinearAlgebra::Real for Hermitian matrix

cheev ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cheevd

Signature: (complex [io]A(n,n);  int jobz(); int uplo(); [o]w(n); int [o]info())

Complex version of "syevd" in PDL::LinearAlgebra::Real for Hermitian matrix

cheevd ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cheevx

Signature: (complex [io]A(n,n);  int jobz(); int range(); int uplo(); vl(); vu(); int il(); int iu(); abstol(); int [o]m(); [o]w(n);complex  [o]z(p,p);int [o]ifail(n); int [o]info(); [t]rwork(rworkn=CALC(7*$SIZE(n))); int [t]iwork(iworkn=CALC(5*$SIZE(n))))

Complex version of "syevx" in PDL::LinearAlgebra::Real for Hermitian matrix

cheevx ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cheevr

Signature: (complex [io]A(n,n);  int jobz(); int range(); int uplo(); vl(); vu(); int il(); int iu(); abstol(); int [o]m(); [o]w(n);complex  [o]z(p,q);int [o]isuppz(r); int [o]info())

Complex version of "syevr" in PDL::LinearAlgebra::Real for Hermitian matrix

cheevr ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

chegv

Signature: (complex [io]A(n,n);int itype();int jobz(); int uplo();complex [io]B(n,n);[o]w(n); int [o]info(); [t]rwork(rworkn=CALC(3*($SIZE(n)-2))))

Complex version of "sygv" in PDL::LinearAlgebra::Real for Hermitian matrix

chegv ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

chegvd

Signature: (complex [io]A(n,n);int itype();int jobz(); int uplo();complex [io]B(n,n);[o]w(n); int [o]info())

Complex version of "sygvd" in PDL::LinearAlgebra::Real for Hermitian matrix

chegvd ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

chegvx

  Signature: (complex [io]A(n,n);int itype();int jobz();int range();
	  int uplo();complex [io]B(n,n);vl();vu();int il();
	  int iu();abstol();int [o]m();[o]w(n);complex 
	  [o]Z(p,p);int [o]ifail(n);int [o]info(); [t]rwork(rworkn=CALC(7*$SIZE(n))); int [t]iwork(iworkn=CALC(5*$SIZE(n)));
	)

Complex version of "sygvx" in PDL::LinearAlgebra::Real for Hermitian matrix

chegvx ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgesv

Signature: (complex [io]A(n,n);complex   [io]B(n,m); int [o]ipiv(n); int [o]info())

Complex version of "gesv" in PDL::LinearAlgebra::Real

cgesv ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgesvx

Signature: (complex [io]A(n,n); int trans(); int fact();complex  [io]B(n,m);complex  [io]af(n,n); int [io]ipiv(n); int [io]equed(); [o]r(p); [o]c(q);complex  [o]X(n,m); [o]rcond(); [o]ferr(m); [o]berr(m); [o]rpvgrw(); int [o]info(); [t]rwork(rworkn=CALC(4*$SIZE(n))); [t]work(rworkn))

Complex version of "gesvx" in PDL::LinearAlgebra::Real.

trans:  Specifies the form of the system of equations:
        = 0:  A * X = B     (No transpose)
        = 1:  A' * X = B  (Transpose)
        = 2:  A**H * X = B  (Conjugate transpose)

cgesvx ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

csysv

Signature: (complex [io]A(n,n);  int uplo();complex  [io]B(n,m); int [o]ipiv(n); int [o]info())

Complex version of "sysv" in PDL::LinearAlgebra::Real

csysv ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

csysvx

Signature: (complex A(n,n); int uplo(); int fact();complex  B(n,m);complex  [io]af(n,n); int [io]ipiv(n);complex  [o]X(n,m); [o]rcond(); [o]ferr(m); [o]berr(m); int [o]info(); [t]rwork(n))

Complex version of "sysvx" in PDL::LinearAlgebra::Real

csysvx ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

chesv

Signature: (complex [io]A(n,n);  int uplo();complex  [io]B(n,m); int [o]ipiv(n); int [o]info())

Complex version of "sysv" in PDL::LinearAlgebra::Real for Hermitian matrix

chesv ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

chesvx

Signature: (complex A(n,n); int uplo(); int fact();complex  B(n,m);complex  [io]af(n,n); int [io]ipiv(n);complex  [o]X(n,m); [o]rcond(); [o]ferr(m); [o]berr(m); int [o]info(); [t]rwork(n))

Complex version of "sysvx" in PDL::LinearAlgebra::Real for Hermitian matrix

chesvx ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cposv

Signature: (complex [io]A(n,n);  int uplo();complex  [io]B(n,m); int [o]info())

Complex version of "posv" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix

cposv ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cposvx

Signature: (complex [io]A(n,n); int uplo(); int fact();complex  [io]B(n,m);complex  [io]af(n,n); int [io]equed(); [o]s(p);complex  [o]X(n,m); [o]rcond(); [o]ferr(m); [o]berr(m); int [o]info(); [t]rwork(rworkn=CALC(2*$SIZE(n))); [t]work(workn=CALC(4*$SIZE(n))))

Complex version of "posvx" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix

cposvx ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgels

Signature: (complex [io]A(m,n); int trans();complex  [io]B(p,q);int [o]info())

Solves overdetermined or underdetermined complex linear systems involving an M-by-N matrix A, or its conjugate-transpose. Complex version of "gels" in PDL::LinearAlgebra::Real.

trans:  = 0: the linear system involves A;
        = 1: the linear system involves A**H.

cgels ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgelsy

Signature: (complex [io]A(m,n);complex  [io]B(p,q); rcond(); int [io]jpvt(n); int [o]rank();int [o]info(); [t]rwork(rworkn=CALC(2*$SIZE(n))))

Complex version of "gelsy" in PDL::LinearAlgebra::Real

cgelsy ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgelss

Signature: (complex [io]A(m,n);complex  [io]B(p,q); rcond(); [o]s(r); int [o]rank();int [o]info(); [t]rwork(rworkn=CALC(5*PDLMIN($SIZE(m),$SIZE(n)))))

Complex version of "gelss" in PDL::LinearAlgebra::Real

cgelss ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgelsd

Signature: (complex [io]A(m,n);complex  [io]B(p,q); rcond(); [o]s(minmn=CALC(PDLMAX(1,PDLMIN($SIZE(m),$SIZE(n))))); int [o]rank();int [o]info(); int [t]iwork(iworkn); [t]rwork(rworkn))

Complex version of "gelsd" in PDL::LinearAlgebra::Real

cgelsd ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgglse

Signature: (complex [io]A(m,n);complex  [io]B(p,n);complex [io]c(m);complex [io]d(p);complex [o]x(n);int [o]info())

Complex version of "gglse" in PDL::LinearAlgebra::Real

cgglse ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cggglm

Signature: (complex [io]A(n,m);complex  [io]B(n,p);complex [io]d(n);complex [o]x(m);complex [o]y(p);int [o]info())

Complex version of "ggglm" in PDL::LinearAlgebra::Real

cggglm ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgetrf

Signature: (complex [io]A(m,n); int [o]ipiv(p=CALC(PDLMIN($SIZE(m),$SIZE(n)))); int [o]info())

Complex version of "getrf" in PDL::LinearAlgebra::Real

cgetrf ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgetf2

Signature: (complex [io]A(m,n); int [o]ipiv(p=CALC(PDLMIN($SIZE(m),$SIZE(n)))); int [o]info())

Complex version of "getf2" in PDL::LinearAlgebra::Real

cgetf2 ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

csytrf

Signature: (complex [io]A(n,n); int uplo(); int [o]ipiv(n); int [o]info())

Complex version of "sytrf" in PDL::LinearAlgebra::Real

csytrf ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

csytf2

Signature: (complex [io]A(n,n); int uplo(); int [o]ipiv(n); int [o]info())

Complex version of "sytf2" in PDL::LinearAlgebra::Real

csytf2 ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cchetrf

Signature: (complex [io]A(n,n); int uplo(); int [o]ipiv(n); int [o]info(); [t]work(workn))

Complex version of "sytrf" in PDL::LinearAlgebra::Real for Hermitian matrix

cchetrf ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

chetf2

Signature: (complex [io]A(n,n); int uplo(); int [o]ipiv(n); int [o]info())

Complex version of "sytf2" in PDL::LinearAlgebra::Real for Hermitian matrix

chetf2 ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cpotrf

Signature: (complex [io]A(n,n); int uplo(); int [o]info())

Complex version of "potrf" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix

cpotrf ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cpotf2

Signature: (complex [io]A(n,n); int uplo(); int [o]info())

Complex version of "potf2" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix

cpotf2 ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgetri

Signature: (complex [io]A(n,n); int ipiv(n); int [o]info())

Complex version of "getri" in PDL::LinearAlgebra::Real

cgetri ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

csytri

Signature: (complex [io]A(n,n); int uplo(); int ipiv(n); int [o]info(); [t]work(workn=CALC(2*$SIZE(n))))

Complex version of "sytri" in PDL::LinearAlgebra::Real

csytri ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

chetri

Signature: (complex [io]A(n,n); int uplo(); int ipiv(n); int [o]info(); [t]work(workn=CALC(2*$SIZE(n))))

Complex version of "sytri" in PDL::LinearAlgebra::Real for Hermitian matrix

chetri ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cpotri

Signature: (complex [io]A(n,n); int uplo(); int [o]info())

Complex version of "potri" in PDL::LinearAlgebra::Real

cpotri ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

ctrtri

Signature: (complex [io]A(n,n); int uplo(); int diag(); int [o]info())

Complex version of "trtri" in PDL::LinearAlgebra::Real

ctrtri ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

ctrti2

Signature: (complex [io]A(n,n); int uplo(); int diag(); int [o]info())

Complex version of "trti2" in PDL::LinearAlgebra::Real

ctrti2 ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgetrs

Signature: (complex A(n,n); int trans();complex  [io]B(n,m); int ipiv(n); int [o]info())

Complex version of "getrs" in PDL::LinearAlgebra::Real

    Arguments
    =========
	trans:   = 0:  No transpose;
		 = 1:  Transpose;
		 = 2:  Conjugate transpose;

cgetrs ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

csytrs

Signature: (complex A(n,n); int uplo();complex [io]B(n,m); int ipiv(n); int [o]info())

Complex version of "sytrs" in PDL::LinearAlgebra::Real

csytrs ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

chetrs

Signature: (complex A(n,n); int uplo();complex [io]B(n,m); int ipiv(n); int [o]info())

Complex version of "sytrs" in PDL::LinearAlgebra::Real for Hermitian matrix

chetrs ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cpotrs

Signature: (complex A(n,n); int uplo();complex  [io]B(n,m); int [o]info())

Complex version of "potrs" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix

cpotrs ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

ctrtrs

Signature: (complex A(n,n); int uplo(); int trans(); int diag();complex [io]B(n,m); int [o]info())

Complex version of "trtrs" in PDL::LinearAlgebra::Real

    Arguments
    =========
	trans:   = 0:  No transpose;
		 = 1:  Transpose;
		 = 2:  Conjugate transpose;

ctrtrs ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

clatrs

Signature: (complex A(n,n); int uplo(); int trans(); int diag(); int normin();complex [io]x(n); [o]scale();[io]cnorm(n);int [o]info())

Complex version of "latrs" in PDL::LinearAlgebra::Real

    Arguments
    =========
	trans:   = 0:  No transpose;
		 = 1:  Transpose;
		 = 2:  Conjugate transpose;

clatrs ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgecon

Signature: (complex A(n,n); int norm(); anorm(); [o]rcond();int [o]info(); [t]rwork(rworkn=CALC(2*$SIZE(n))); [t]work(workn=CALC(4*$SIZE(n))))

Complex version of "gecon" in PDL::LinearAlgebra::Real

cgecon ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

csycon

Signature: (complex A(n,n); int uplo(); int ipiv(n); anorm(); [o]rcond();int [o]info(); [t]work(workn=CALC(4*$SIZE(n))))

Complex version of "sycon" in PDL::LinearAlgebra::Real

csycon ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

checon

Signature: (complex A(n,n); int uplo(); int ipiv(n); anorm(); [o]rcond();int [o]info(); [t]work(workn=CALC(4*$SIZE(n))))

Complex version of "sycon" in PDL::LinearAlgebra::Real for Hermitian matrix

checon ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cpocon

Signature: (complex A(n,n); int uplo(); anorm(); [o]rcond();int [o]info(); [t]work(workn=CALC(4*$SIZE(n))); [t]rwork(n))

Complex version of "pocon" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix

cpocon ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

ctrcon

Signature: (complex A(n,n); int norm();int uplo();int diag(); [o]rcond();int [o]info(); [t]work(workn=CALC(4*$SIZE(n))); [t]rwork(n))

Complex version of "trcon" in PDL::LinearAlgebra::Real

ctrcon ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgeqp3

Signature: (complex [io]A(m,n); int [io]jpvt(n);complex  [o]tau(k); int [o]info(); [t]rwork(rworkn=CALC(2*$SIZE(n))))

Complex version of "geqp3" in PDL::LinearAlgebra::Real

cgeqp3 ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgeqrf

Signature: (complex [io]A(m,n);complex  [o]tau(k); int [o]info())

Complex version of "geqrf" in PDL::LinearAlgebra::Real

cgeqrf ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cungqr

Signature: (complex [io]A(m,n);complex  tau(k); int [o]info())

Complex version of "orgqr" in PDL::LinearAlgebra::Real

cungqr ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cunmqr

Signature: (complex A(p,k); int side(); int trans();complex  tau(k);complex  [io]C(m,n);int [o]info())

Complex version of "ormqr" in PDL::LinearAlgebra::Real. Here trans = 1 means conjugate transpose.

cunmqr ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgelqf

Signature: (complex [io]A(m,n);complex  [o]tau(k); int [o]info())

Complex version of "gelqf" in PDL::LinearAlgebra::Real

cgelqf ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cunglq

Signature: (complex [io]A(m,n);complex  tau(k); int [o]info())

Complex version of "orglq" in PDL::LinearAlgebra::Real

cunglq ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cunmlq

Signature: (complex A(k,p); int side(); int trans();complex  tau(k);complex  [io]C(m,n);int [o]info())

Complex version of "ormlq" in PDL::LinearAlgebra::Real. Here trans = 1 means conjugate transpose.

cunmlq ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgeqlf

Signature: (complex [io]A(m,n);complex  [o]tau(k); int [o]info())

Complex version of "geqlf" in PDL::LinearAlgebra::Real

cgeqlf ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cungql

Signature: (complex [io]A(m,n);complex  tau(k); int [o]info())

cungql ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cunmql

Signature: (complex A(p,k); int side(); int trans();complex  tau(k);complex  [io]C(m,n);int [o]info())

Complex version of "ormql" in PDL::LinearAlgebra::Real. Here trans = 1 means conjugate transpose.

cunmql ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgerqf

Signature: (complex [io]A(m,n);complex  [o]tau(k); int [o]info())

Complex version of "gerqf" in PDL::LinearAlgebra::Real

cgerqf ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cungrq

Signature: (complex [io]A(m,n);complex  tau(k); int [o]info())

Complex version of "orgrq" in PDL::LinearAlgebra::Real.

cungrq ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cunmrq

Signature: (complex A(k,p); int side(); int trans();complex  tau(k);complex  [io]C(m,n);int [o]info())

Complex version of "ormrq" in PDL::LinearAlgebra::Real. Here trans = 1 means conjugate transpose.

cunmrq ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

ctzrzf

Signature: (complex [io]A(m,n);complex  [o]tau(k); int [o]info())

Complex version of "tzrzf" in PDL::LinearAlgebra::Real

ctzrzf ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cunmrz

Signature: (complex A(k,p); int side(); int trans();complex  tau(k);complex  [io]C(m,n);int [o]info())

Complex version of "ormrz" in PDL::LinearAlgebra::Real. Here trans = 1 means conjugate transpose.

cunmrz ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgehrd

Signature: (complex [io]A(n,n); int ilo();int ihi();complex [o]tau(k); int [o]info())

Complex version of "gehrd" in PDL::LinearAlgebra::Real

cgehrd ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cunghr

Signature: (complex [io]A(n,n); int ilo();int ihi();complex tau(k); int [o]info())

Complex version of "orghr" in PDL::LinearAlgebra::Real

cunghr ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

chseqr

Signature: (complex [io]H(n,n); int job();int compz();int ilo();int ihi();complex [o]w(n);complex  [o]Z(m,m); int [o]info())

Complex version of "hseqr" in PDL::LinearAlgebra::Real

chseqr ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

ctrevc

Signature: (complex T(n,n); int side();int howmny();int select(q);complex [o]VL(m,m);complex  [o]VR(p,p);int [o]m(); int [o]info(); [t]work(workn=CALC(5*$SIZE(n))))

Complex version of "trevc" in PDL::LinearAlgebra::Real

ctrevc ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

ctgevc

Signature: (complex A(n,n); int side();int howmny();complex  B(n,n);int select(q);complex [o]VL(m,m);complex  [o]VR(p,p);int [o]m(); int [o]info(); [t]work(workn=CALC(6*$SIZE(n))))

Complex version of "tgevc" in PDL::LinearAlgebra::Real

ctgevc ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgebal

Signature: (complex [io]A(n,n); int job(); int [o]ilo();int [o]ihi();[o]scale(n); int [o]info())

Complex version of "gebal" in PDL::LinearAlgebra::Real

cgebal ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

clange

Signature: (complex A(n,m); int norm(); [o]b(); [t]work(workn))

Complex version of "lange" in PDL::LinearAlgebra::Real

clange ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

clansy

Signature: (complex A(n,n); int uplo(); int norm(); [o]b(); [t]work(workn))

Complex version of "lansy" in PDL::LinearAlgebra::Real

clansy ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

clantr

Signature: (complex A(m,n); int uplo(); int norm();int diag(); [o]b(); [t]work(workn))

Complex version of "lantr" in PDL::LinearAlgebra::Real

clantr ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cgemm

Signature: (complex A(m,n); int transa(); int transb();complex  B(p,q);complex alpha();complex  beta();complex  [io]C(r,s))

Complex version of "gemm" in PDL::LinearAlgebra::Real.

    Arguments
    =========
	transa:  = 0:  No transpose;
		 = 1:  Transpose;
		 = 2:  Conjugate transpose;

	transb:  = 0:  No transpose;
		 = 1:  Transpose;
		 = 2:  Conjugate transpose;

cgemm ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cmmult

Signature: (complex A(m,n);complex  B(p,m);complex  [o]C(p,n))

Complex version of "mmult" in PDL::LinearAlgebra::Real

cmmult ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

ccrossprod

Signature: (complex A(n,m);complex  B(p,m);complex  [o]C(p,n))

Complex version of "crossprod" in PDL::LinearAlgebra::Real

ccrossprod ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

csyrk

Signature: (complex A(m,n); int uplo(); int trans();complex  alpha();complex  beta();complex  [io]C(p,p))

Complex version of "syrk" in PDL::LinearAlgebra::Real

csyrk ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cdot

Signature: (complex a(n);complex b(n);complex [o]c())

Complex version of "dot" in PDL::LinearAlgebra::Real

cdot ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cdotc

Signature: (complex a(n);complex b(n);complex [o]c())

Forms the dot product of two vectors, conjugating the first vector.

cdotc ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

caxpy

Signature: (complex a(n);complex  alpha();complex [io]b(n))

Complex version of "axpy" in PDL::LinearAlgebra::Real

caxpy ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cnrm2

Signature: (complex a(n);[o]b())

Complex version of "nrm2" in PDL::LinearAlgebra::Real

cnrm2 ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

casum

Signature: (complex a(n);[o]b())

Complex version of "asum" in PDL::LinearAlgebra::Real

casum ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

cscal

Signature: (complex [io]a(n);complex scale())

Complex version of "scal" in PDL::LinearAlgebra::Real

cscal ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

csscal

Signature: (complex [io]a(n);scale())

Scales a complex vector by a real constant.

csscal ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

crotg

Signature: (complex [io]a();complex b();[o]c();complex  [o]s())

Complex version of "rotg" in PDL::LinearAlgebra::Real

crotg ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

clacpy

Signature: (complex A(m,n); int uplo();complex  [o]B(p,n))

Complex version of "lacpy" in PDL::LinearAlgebra::Real

clacpy ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

claswp

Signature: (complex [io]A(m,n); int k1(); int k2(); int ipiv(p))

Complex version of "laswp" in PDL::LinearAlgebra::Real

claswp ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

ccharpol

Signature: (A(c=2,n,n);[o]Y(c=2,n,n);[o]out(c=2,p=CALC($SIZE(n)+1)); [t]rwork(rworkn=CALC(2*$SIZE(n)*$SIZE(n))))

Complex version of "charpol" in PDL::LinearAlgebra::Real

ccharpol does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

AUTHOR

Copyright (C) Gr�gory Vanuxem 2005-2018.

This library is free software; you can redistribute it and/or modify it under the terms of the Perl Artistic License as in the file Artistic_2 in this distribution.