Complex(3pm)
π NAME π
PDL::LinearAlgebra::Complex β it's the PDL interface to the lapack linear algebra programming library, but make it complex numbers π
(yep, this is the Complex(3pm) page, bestie, and it's a whole series so buckle up).
β¨ 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 π¦
Okay so, this module is an interface to parts of the lapack library β specifically the complex-number side of things. πΈ
These routines will happily accept either float or double ndarrays. No gatekeeping. π
π FUNCTIONS π
π cgtsv π
Signature: (complex [phys]DL(n);complex [phys]D(n);complex [phys]DU(n);complex [io,phys]B(n,nrhs); int [o,phys]info())
It solves the equation
A * X = B
where A is an "n" by "n" tridiagonal matrix, using Gaussian elimination with partial pivoting, and B is an "n" by "nrhs" matrix. π§
Lowkey important: the equationA**T*X = Bcan also be solved β you just swap the order of the argumentsDUandDL. iykyk. π
NB This differs from the LINPACK function cgtsl because here DL starts from its first element, while the LINPACK equivalent starts from its second element. Not me warning you twice. π
π«Ά Arguments π«Ά
DLβ On entry,DLmust 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,Dmust contain the diagonal elements of A.
On exit, D is overwritten by the n diagonal elements of U.
DUβ On entry,DUmust 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, ifinfo = 0, the n by nrhs solution matrix X.infoβ= 0: successful exit β¨< 0: ifinfo = -i, the i-th argument had an illegal value π> 0: ifinfo = i,U(i,i)is exactly zero, and the solution has not been computed. The factorization has not been completed unlessi = 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;
πΈ cgesvd πΈ
Signature: (complex [io]A(m,n); int jobu(); int jobvt(); [o]s(minmn);complex [o]U(p,p);complex [o]VT(s,s); int [o]info(); [t]rwork(rworkn))
It's the complex version of gesvd in PDL::LinearAlgebra::Real. π
The SVD is written
A = U * SIGMA * ConjugateTranspose(V)
β cgesdd β
Signature: (complex [io]A(m,n); int jobz(); [o]s(minmn);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)
π 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))
Complex version of ggsvd in PDL::LinearAlgebra::Real
π§ cgeev π§
Signature: (complex 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))
Complex version of geev in PDL::LinearAlgebra::Real
π 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))
Complex version of geevx in PDL::LinearAlgebra::Real
π₯ cggev π₯
Signature: (complex A(n,n); int [phys]jobvl();int [phys]jobvr();complex 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))
Complex version of ggev in PDL::LinearAlgebra::Real
π cggevx π
Signature: (complex [io,phys]A(n,n);int balanc();int jobvl();int jobvr();int sense();complex [io,phys]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); int [t]bwork(bworkn); int [t]iwork(iworkn))
Complex version of ggevx in PDL::LinearAlgebra::Real
π 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_funcis used to select eigenvalues to sort to the top left of the Schur form. - If
sort = 0,select_funcis not referenced. - An complex eigenvalue w is selected if
select_func(PDL::Complex(w))is true.
Heads up bestie: a selected complex eigenvalue may no longer satisfyselect_func(PDL::Complex(w)) = 1after ordering, since ordering may change the value of complex eigenvalues (especially if the eigenvalue is ill-conditioned); in this caseinfois set to N+2. π
β 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_funcis used to select eigenvalues to sort to the top left of the Schur form. - If
sort = 0,select_funcis not referenced. - An complex eigenvalue w is selected if
select_func(PDL::Complex(w))is true.
Heads up bestie: a selected complex eigenvalue may no longer satisfyselect_func(PDL::Complex(w)) = 1after ordering, since ordering may change the value of complex eigenvalues (especially if the eigenvalue is ill-conditioned); in this caseinfois set to N+2. π
π¦ 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); int [t]bwork(bworkn);SV* select_func)
Complex version of ggees in PDL::LinearAlgebra::Real
π select_func π
- If
sort = 1,select_funcis used to select eigenvalues to sort to the top left of the Schur form. - If
sort = 0,select_funcis not referenced. - An eigenvalue w = w/beta is selected if
select_func(PDL::Complex(w), PDL::Complex(beta))is true.
Heads up bestie: a selected complex eigenvalue may no longer satisfyselect_func(PDL::Complex(w),PDL::Complex(beta)) = 1after ordering, since ordering may change the value of complex eigenvalues (especially if the eigenvalue is ill-conditioned); in this caseinfois set to N+2. π
π 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); int [t]bwork(bworkn); int [t]iwork(iworkn);SV* select_func)
Complex version of ggeesx in PDL::LinearAlgebra::Real
π select_func π
- If
sort = 1,select_funcis used to select eigenvalues to sort to the top left of the Schur form. - If
sort = 0,select_funcis not referenced. - An eigenvalue w = w/beta is selected if
select_func(PDL::Complex(w), PDL::Complex(beta))is true.
Heads up bestie: a selected complex eigenvalue may no longer satisfyselect_func(PDL::Complex(w),PDL::Complex(beta)) = 1after ordering, since ordering may change the value of complex eigenvalues (especially if the eigenvalue is ill-conditioned); in this caseinfois set to N+3. π (yeah, N+3 this time, not N+2, don't @ me)
π cheev π
Signature: (complex [io]A(n,n); int jobz(); int uplo(); [o]w(n); int [o]info(); [t]rwork(rworkn))
Complex version of syev in PDL::LinearAlgebra::Real for Hermitian matrix
πΈ cheevd πΈ
Signature: (complex [io,phys]A(n,n); int jobz(); int uplo(); [o,phys]w(n); int [o,phys]info())
Complex version of syevd in PDL::LinearAlgebra::Real for Hermitian matrix
β¨ cheevx β¨
Signature: (complex 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); int [t]iwork(iworkn))
Complex version of syevx in PDL::LinearAlgebra::Real for Hermitian matrix
π cheevr π
Signature: (complex [phys]A(n,n); int jobz(); int range(); int uplo(); [phys]vl(); [phys]vu(); int [phys]il(); int [phys]iu(); [phys]abstol(); int [o,phys]m(); [o,phys]w(n);complex [o,phys]z(p,q);int [o,phys]isuppz(r); int [o,phys]info())
Complex version of syevr in PDL::LinearAlgebra::Real for Hermitian matrix
π§ 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))
Complex version of sygv in PDL::LinearAlgebra::Real for Hermitian matrix
π chegvd π
Signature: (complex [io,phys]A(n,n);int [phys]itype();int jobz(); int uplo();complex [io,phys]B(n,n);[o,phys]w(n); int [o,phys]info())
Complex version of sygvd in PDL::LinearAlgebra::Real for Hermitian matrix
π₯ 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); int [t]iwork(iworkn);
)
Complex version of sygvx in PDL::LinearAlgebra::Real for Hermitian matrix
β cgesv β
Signature: (complex [io,phys]A(n,n);complex [io,phys]B(n,m); int [o,phys]ipiv(n); int [o,phys]info())
Complex version of gesv in PDL::LinearAlgebra::Real
π 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); [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)
csysv π«Ά
(complex [io,phys]A(n,n); int uplo();complex [io,phys]B(n,m); int [o]ipiv(n); int [o]info())
Complex version of "sysv" in PDL::LinearAlgebra::Real β¨
csysvx π
(complex [phys]A(n,n); int uplo(); int fact();complex [phys]B(n,m);complex [io,phys]af(n,n); int [io,phys]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
chesv πΈ
(complex [io,phys]A(n,n); int uplo();complex [io,phys]B(n,m); int [o,phys]ipiv(n); int [o,phys]info())
Complex version of "sysv" in PDL::LinearAlgebra::Real for Hermitian matrix π
chesvx π
(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
cposv π¦
(complex [io,phys]A(n,n); int uplo();complex [io,phys]B(n,m); int [o,phys]info())
Complex version of "posv" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix β
cposvx π
(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); [t]work(workn))
Complex version of "posvx" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix
cgels π₯
(complex [io,phys]A(m,n); int trans();complex [io,phys]B(p,q);int [o,phys]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.
cgelsy π
(complex [io]A(m,n);complex [io]B(p,q); rcond(); int [io]jpvt(n); int [o]rank();int [o]info(); [t]rwork(rworkn))
Complex version of "gelsy" in PDL::LinearAlgebra::Real
cgelss π
(complex [io]A(m,n);complex [io]B(p,q); rcond(); [o]s(r); int [o]rank();int [o]info(); [t]rwork(rworkn))
Complex version of "gelss" in PDL::LinearAlgebra::Real
cgelsd β¨
(complex [io]A(m,n);complex [io]B(p,q); rcond(); [o]s(minmn); int [o]rank();int [o]info(); int [t]iwork(iworkn); [t]rwork(rworkn))
Complex version of "gelsd" in PDL::LinearAlgebra::Real
cgglse π
(complex [phys]A(m,n);complex [phys]B(p,n);complex [io,phys]c(m);complex [phys]d(p);complex [o,phys]x(n);int [o,phys]info())
Complex version of "gglse" in PDL::LinearAlgebra::Real
cggglm π§
(complex [phys]A(n,m);complex [phys]B(n,p);complex [phys]d(n);complex [o,phys]x(m);complex [o,phys]y(p);int [o,phys]info())
Complex version of "ggglm" in PDL::LinearAlgebra::Real
cgetrf π
(complex [io]A(m,n); int [o]ipiv(p); int [o]info())
Complex version of "getrf" in PDL::LinearAlgebra::Real
cgetf2 π
(complex [io]A(m,n); int [o]ipiv(p); int [o]info())
Complex version of "getf2" in PDL::LinearAlgebra::Real
csytrf πΈ
(complex [io,phys]A(n,n); int uplo(); int [o,phys]ipiv(n); int [o,phys]info())
Complex version of "sytrf" in PDL::LinearAlgebra::Real
csytf2 π¦
(complex [io,phys]A(n,n); int uplo(); int [o,phys]ipiv(n); int [o,phys]info())
Complex version of "sytf2" in PDL::LinearAlgebra::Real
cchetrf π
(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
chetf2 β
(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
cpotrf π
(complex [io,phys]A(n,n); int uplo(); int [o,phys]info())
Complex version of "potrf" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix
cpotf2 π₯
(complex [io,phys]A(n,n); int uplo(); int [o,phys]info())
Complex version of "potf2" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix
cgetri π
(complex [io,phys]A(n,n); int [phys]ipiv(n); int [o,phys]info())
Complex version of "getri" in PDL::LinearAlgebra::Real
csytri π
(complex [io]A(n,n); int uplo(); int ipiv(n); int [o]info(); [t]work(workn))
Complex version of "sytri" in PDL::LinearAlgebra::Real
chetri β¨
(complex [io]A(n,n); int uplo(); int ipiv(n); int [o]info(); [t]work(workn))
Complex version of "sytri" in PDL::LinearAlgebra::Real for Hermitian matrix
cpotri π
(complex [io,phys]A(n,n); int uplo(); int [o,phys]info())
Complex version of "potri" in PDL::LinearAlgebra::Real
ctrtri π§
(complex [io,phys]A(n,n); int uplo(); int diag(); int [o,phys]info())
Complex version of "trtri" in PDL::LinearAlgebra::Real
ctrti2 π
(complex [io,phys]A(n,n); int uplo(); int diag(); int [o,phys]info())
Complex version of "trti2" in PDL::LinearAlgebra::Real
cgetrs π
(complex [phys]A(n,n); int trans();complex [io,phys]B(n,m); int [phys]ipiv(n); int [o,phys]info())
Complex version of "getrs" in PDL::LinearAlgebra::Real
Arguments
trans: = 0: No transpose;
= 1: Transpose;
= 2: Conjugate transpose;
csytrs πΈ
(complex [phys]A(n,n); int uplo();complex [io,phys]B(n,m); int [phys]ipiv(n); int [o,phys]info())
Complex version of "sytrs" in PDL::LinearAlgebra::Real
chetrs π¦
(complex [phys]A(n,n); int uplo();complex [io,phys]B(n,m); int [phys]ipiv(n); int [o,phys]info())
Complex version of "sytrs" in PDL::LinearAlgebra::Real for Hermitian matrix
cpotrs π
(complex [phys]A(n,n); int uplo();complex [io,phys]B(n,m); int [o,phys]info())
Complex version of "potrs" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix
ctrtrs β
(complex [phys]A(n,n); int uplo(); int trans(); int diag();complex [io,phys]B(n,m); int [o,phys]info())
Complex version of "trtrs" in PDL::LinearAlgebra::Real
Arguments
trans: = 0: No transpose;
= 1: Transpose;
= 2: Conjugate transpose;
clatrs π
(complex [phys]A(n,n); int uplo(); int trans(); int diag(); int normin();complex [io,phys]x(n); [o,phys]scale();[io,phys]cnorm(n);int [o,phys]info())
Complex version of "latrs" in PDL::LinearAlgebra::Real
Arguments
trans: = 0: No transpose;
= 1: Transpose;
= 2: Conjugate transpose;
cgecon π₯
(complex A(n,n); int norm(); anorm(); [o]rcond();int [o]info(); [t]rwork(rworkn); [t]work(workn))
Complex version of "gecon" in PDL::LinearAlgebra::Real
csycon π
(complex A(n,n); int uplo(); int ipiv(n); anorm(); [o]rcond();int [o]info(); [t]work(workn))
Complex version of "sycon" in PDL::LinearAlgebra::Real
checon π
(complex A(n,n); int uplo(); int ipiv(n); anorm(); [o]rcond();int [o]info(); [t]work(workn))
Complex version of "sycon" in PDL::LinearAlgebra::Real for Hermitian matrix
cpocon β¨
(complex A(n,n); int uplo(); anorm(); [o]rcond();int [o]info(); [t]work(workn); [t]rwork(n))
Complex version of "pocon" in PDL::LinearAlgebra::Real for Hermitian positive definite matrix
ctrcon π
(complex A(n,n); int norm();int uplo();int diag(); [o]rcond();int [o]info(); [t]work(workn); [t]rwork(n))
Complex version of "trcon" in PDL::LinearAlgebra::Real
cgeqp3 π§
(complex [io]A(m,n); int [io]jpvt(n);complex [o]tau(k); int [o]info(); [t]rwork(rworkn))
Complex version of "geqp3" in PDL::LinearAlgebra::Real
cgeqrf π
(complex [io,phys]A(m,n);complex [o,phys]tau(k); int [o,phys]info())
Complex version of "geqrf" in PDL::LinearAlgebra::Real
cungqr π
(complex [io,phys]A(m,n);complex [phys]tau(k); int [o,phys]info())
Complex version of "orgqr" in PDL::LinearAlgebra::Real
cunmqr πΈ
(complex [phys]A(p,k); int side(); int trans();complex [phys]tau(k);complex [io,phys]C(m,n);int [o,phys]info())
Complex version of "ormqr" in PDL::LinearAlgebra::Real. Here trans = 1 means conjugate transpose.
cgelqf π¦
(complex [io,phys]A(m,n);complex [o,phys]tau(k); int [o,phys]info())
Complex version of "gelqf" in PDL::LinearAlgebra::Real
cunglq π
(complex [io,phys]A(m,n);complex [phys]tau(k); int [o,phys]info())
Complex version of "orglq" in PDL::LinearAlgebra::Real
cunmlq β
(complex [phys]A(k,p); int side(); int trans();complex [phys]tau(k);complex [io,phys]C(m,n);int [o,phys]info())
Complex version of "ormlq" in PDL::LinearAlgebra::Real. Here trans = 1 means conjugate transpose.
cgeqlf π
(complex [io,phys]A(m,n);complex [o,phys]tau(k); int [o,phys]info())
Complex version of "geqlf" in PDL::LinearAlgebra::Real
cungql π₯
(complex [io,phys]A(m,n);complex [phys]tau(k); int [o,phys]info())
cunmql π
(complex [phys]A(p,k); int side(); int trans();complex [phys]tau(k);complex [io,phys]C(m,n);int [o,phys]info())
Complex version of "ormql" in PDL::LinearAlgebra::Real. Here trans = 1 means conjugate transpose.
cgerqf π
(complex [io,phys]A(m,n);complex [o,phys]tau(k); int [o,phys]info())
Complex version of "gerqf" in PDL::LinearAlgebra::Real
cungrq β¨
(complex [io,phys]A(m,n);complex [phys]tau(k); int [o,phys]info())
Complex version of "orgrq" in PDL::LinearAlgebra::Real.
cunmrq π
(complex [phys]A(k,p); int side(); int trans();complex [phys]tau(k);complex [io,phys]C(m,n);int [o,phys]info())
Complex version of "ormrq" in PDL::LinearAlgebra::Real. Here trans = 1 means conjugate transpose.
ctzrzf π§
(complex [io,phys]A(m,n);complex [o,phys]tau(k); int [o,phys]info())
Complex version of "tzrzf" in PDL::LinearAlgebra::Real
cunmrz π
(complex [phys]A(k,p); int side(); int trans();complex [phys]tau(k);complex [io,phys]C(m,n);int [o,phys]info())
Complex version of "ormrz" in PDL::LinearAlgebra::Real. Here trans = 1 means conjugate transpose.
cgehrd π
(complex [io,phys]A(n,n); int [phys]ilo();int [phys]ihi();complex [o,phys]tau(k); int [o,phys]info())
Complex version of "gehrd" in PDL::LinearAlgebra::Real
cunghr πΈ
(complex [io,phys]A(n,n); int [phys]ilo();int [phys]ihi();complex [phys]tau(k); int [o,phys]info())
Complex version of "orghr" in PDL::LinearAlgebra::Real
chseqr π¦
(complex [io,phys]H(n,n); int job();int compz();int [phys]ilo();int [phys]ihi();complex [o,phys]w(n);complex [o,phys]Z(m,m); int [o,phys]info())
Complex version of "hseqr" in PDL::LinearAlgebra::Real
ctrevc
Signature: (complex [io]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))
bestie this is the complex-coded version of trevc from PDL::LinearAlgebra::Real β¨ same energy, extra imaginary sparkle.
ctgevc
Signature: (complex [io]A(n,n); int side();int howmny();complex [io]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))
and this one? complex version of tgevc in PDL::LinearAlgebra::Real π
two matrices, one glow-up.
cgebal
Signature: (complex [io,phys]A(n,n); int job(); int [o,phys]ilo();int [o,phys]ihi();[o,phys]scale(n); int [o,phys]info())
complex version of gebal in PDL::LinearAlgebra::Real π¦ balancing but make it imaginary.
clange
Signature: (complex A(n,m); int norm(); [o]b(); [t]work(workn))
complex version of lange in PDL::LinearAlgebra::Real β norm time, but complex πΈ
clansy
Signature: (complex A(n,n); int uplo(); int norm(); [o]b(); [t]work(workn))
complex version of lansy in PDL::LinearAlgebra::Real π
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 β triangular edition, obviously π
cgemm
Signature: (complex [phys]A(m,n); int transa(); int transb();complex [phys]B(p,q);complex [phys]alpha();complex [phys]beta();complex [io,phys]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
cmmult
Signature: (complex [phys]A(m,n);complex [phys]B(p,m);complex [o,phys]C(p,n))
complex version of mmult in PDL::LinearAlgebra::Real β¨ matrix multiply but it's got feelings now.
ccrossprod
Signature: (complex [phys]A(n,m);complex [phys]B(p,m);complex [o,phys]C(p,n))
complex version of crossprod in PDL::LinearAlgebra::Real π
csyrk
Signature: (complex [phys]A(m,n); int uplo(); int trans();complex [phys]alpha();complex [phys]beta();complex [io,phys]C(p,p))
complex version of syrk in PDL::LinearAlgebra::Real β symmetric rank-k, serving looks π
cdot
Signature: (complex [phys]a(n);complex [phys]b(n);complex [o]c())
complex version of dot in PDL::LinearAlgebra::Real π two vectors, one lil scalar, no cap.
cdotc
Signature: (complex [phys]a(n);complex [phys]b(n);complex [o,phys]c())
Forms the dot product of two vectors, conjugating the first vector. πΈ yes bestie, the first one gets conjugated β that's the whole plot twist.
caxpy
Signature: (complex [phys]a(n);complex [phys] alpha();complex [io,phys]b(n))
complex version of axpy in PDL::LinearAlgebra::Real π¦
cnrm2
Signature: (complex [phys]a(n);[o]b())
complex version of nrm2 in PDL::LinearAlgebra::Real β the norm, but fancy β¨
casum
Signature: (complex [phys]a(n);[o]b())
complex version of asum in PDL::LinearAlgebra::Real π
cscal
Signature: (complex [io,phys]a(n);complex scale())
complex version of scal in PDL::LinearAlgebra::Real β scaling things up, main character energy π
csscal
Signature: (complex [io,phys]a(n);scale())
Scales a complex vector by a real constant. π«Ά note that: complex vector, real constant. lowkey important.
crotg
Signature: (complex [io,phys]a();complex [phys]b();[o,phys]c();complex [o,phys]s())
complex version of rotg in PDL::LinearAlgebra::Real πΈ
clacpy
Signature: (complex [phys]A(m,n); int uplo();complex [o,phys]B(p,n))
complex version of lacpy in PDL::LinearAlgebra::Real β copy that, periodt π
claswp
Signature: (complex [io,phys]A(m,n); int [phys]k1(); int [phys]k2(); int [phys]ipiv(p))
complex version of laswp in PDL::LinearAlgebra::Real π₯ swapping rows like it's nothing.
cmstack
Signature: (x(c,n,m);y(c,n,p);[o]out(c,n,q))
Combine two 3D ndarrays into a single ndarray. This routine does backward and forward dataflow automatically. β¨
heads up bestie: cmstack 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. π so like, the bad-value flag is contagious and it spreads to every output.
ccharpol
Signature: (A(c=2,n,n);[o]Y(c=2,n,n);[o]out(c=2,p); [t]rwork(rworkn))
complex version of charpol in PDL::LinearAlgebra::Real π characteristic polynomial but complex.
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.
and that's a wrap on the whole page, bestie π this was Complex(3pm) from perl v5.38.2, dated 2024-03-31 β go forth and conjugate responsibly ππ
π¦ where this page comes from
- ubuntu noble: libpdl-linearalgebra-perl 0.38-1build2 Β· Artistic-2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms