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.