.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Complex 3pm" .TH Complex 3pm "2020-11-09" "perl v5.32.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" PDL::LinearAlgebra::Complex \- PDL interface to the lapack linear algebra programming library (complex number) .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& use PDL::Complex \& use PDL::LinearAlgebra::Complex; \& \& $a = r2C random (100,100); \& $s = r2C zeroes(100); \& $u = r2C zeroes(100,100); \& $v = r2C zeroes(100,100); \& $info = 0; \& $job = 0; \& cgesdd($a, $job, $info, $s , $u, $v); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module provides an interface to parts of the lapack library (complex numbers). These routines accept either float or double piddles. .SH "FUNCTIONS" .IX Header "FUNCTIONS" .SS "cgesvd" .IX Subsection "cgesvd" .Vb 1 \& Signature: ([io,phys]A(2,m,n); int jobu(); int jobvt(); [o,phys]s(r); [o,phys]U(2,p,q); [o,phys]VT(2,s,t); int [o,phys]info()) .Ve .PP Complex version of gesvd. .PP The \s-1SVD\s0 is written .PP .Vb 1 \& A = U * SIGMA * ConjugateTranspose(V) .Ve .PP cgesvd ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgesdd" .IX Subsection "cgesdd" .Vb 1 \& Signature: ([io,phys]A(2,m,n); int job(); [o,phys]s(r); [o,phys]U(2,p,q); [o,phys]VT(2,s,t); int [o,phys]info()) .Ve .PP Complex version of gesdd. .PP The \s-1SVD\s0 is written .PP .Vb 1 \& A = U * SIGMA * ConjugateTranspose(V) .Ve .PP cgesdd ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cggsvd" .IX Subsection "cggsvd" .Vb 1 \& Signature: ([io,phys]A(2,m,n); int jobu(); int jobv(); int jobq(); [io,phys]B(2,p,n); int [o,phys]k(); int [o,phys]l();[o,phys]alpha(n);[o,phys]beta(n); [o,phys]U(2,q,r); [o,phys]V(2,s,t); [o,phys]Q(2,u,v); int [o,phys]iwork(n); int [o,phys]info()) .Ve .PP Complex version of ggsvd .PP cggsvd ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgeev" .IX Subsection "cgeev" .Vb 1 \& Signature: ([phys]A(2,n,n); int jobvl(); int jobvr(); [o,phys]w(2,n); [o,phys]vl(2,m,m); [o,phys]vr(2,p,p); int [o,phys]info()) .Ve .PP Complex version of geev .PP cgeev ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgeevx" .IX Subsection "cgeevx" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int jobvl(); int jobvr(); int balance(); int sense(); [o,phys]w(2,n); [o,phys]vl(2,m,m); [o,phys]vr(2,p,p); int [o,phys]ilo(); int [o,phys]ihi(); [o,phys]scale(n); [o,phys]abnrm(); [o,phys]rconde(q); [o,phys]rcondv(r); int [o,phys]info()) .Ve .PP Complex version of geevx .PP cgeevx ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cggev" .IX Subsection "cggev" .Vb 1 \& Signature: ([phys]A(2,n,n); int jobvl();int jobvr();[phys]B(2,n,n);[o,phys]alpha(2,n);[o,phys]beta(2,n);[o,phys]VL(2,m,m);[o,phys]VR(2,p,p);int [o,phys]info()) .Ve .PP Complex version of ggev .PP cggev ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cggevx" .IX Subsection "cggevx" .Vb 1 \& Signature: ([io,phys]A(2,n,n);int balanc();int jobvl();int jobvr();int sense();[io,phys]B(2,n,n);[o,phys]alpha(2,n);[o,phys]beta(2,n);[o,phys]VL(2,m,m);[o,phys]VR(2,p,p);int [o,phys]ilo();int [o,phys]ihi();[o,phys]lscale(n);[o,phys]rscale(n);[o,phys]abnrm();[o,phys]bbnrm();[o,phys]rconde(r);[o,phys]rcondv(s);int [o,phys]info()) .Ve .PP Complex version of ggevx .PP cggevx ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgees" .IX Subsection "cgees" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int jobvs(); int sort(); [o,phys]w(2,n); [o,phys]vs(2,p,p); int [o,phys]sdim(); int [o,phys]info(); SV* select_func) .Ve .PP Complex version of gees .PP .Vb 11 \& 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(PDL::Complex(w)) is true; \& Note that a selected complex eigenvalue may no longer \& satisfy select_func(PDL::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. .Ve .PP cgees ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgeesx" .IX Subsection "cgeesx" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int jobvs(); int sort(); int sense(); [o,phys]w(2,n);[o,phys]vs(2,p,p); int [o,phys]sdim(); [o,phys]rconde();[o,phys]rcondv(); int [o,phys]info(); SV* select_func) .Ve .PP Complex version of geesx .PP .Vb 11 \& 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(PDL::Complex(w)) is true; \& Note that a selected complex eigenvalue may no longer \& satisfy select_func(PDL::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. .Ve .PP cgeesx ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgges" .IX Subsection "cgges" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int jobvsl();int jobvsr();int sort();[io,phys]B(2,n,n);[o,phys]alpha(2,n);[o,phys]beta(2,n);[o,phys]VSL(2,m,m);[o,phys]VSR(2,p,p);int [o,phys]sdim();int [o,phys]info(); SV* select_func) .Ve .PP Complex version of ggees .PP .Vb 11 \& 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(PDL::Complex(w), PDL::Complex(beta)) is true; \& Note that a selected complex eigenvalue may no longer \& satisfy select_func(PDL::Complex(w),PDL::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. .Ve .PP cgges ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cggesx" .IX Subsection "cggesx" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int jobvsl();int jobvsr();int sort();int sense();[io,phys]B(2,n,n);[o,phys]alpha(2,n);[o,phys]beta(2,n);[o,phys]VSL(2,m,m);[o,phys]VSR(2,p,p);int [o,phys]sdim();[o,phys]rconde(q);[o,phys]rcondv(r);int [o,phys]info(); SV* select_func) .Ve .PP Complex version of ggeesx .PP .Vb 11 \& 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(PDL::Complex(w), PDL::Complex(beta)) is true; \& Note that a selected complex eigenvalue may no longer \& satisfy select_func(PDL::Complex(w),PDL::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. .Ve .PP cggesx ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cheev" .IX Subsection "cheev" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int jobz(); int uplo(); [o,phys]w(n); int [o,phys]info()) .Ve .PP Complex version of syev for Hermitian matrix .PP cheev ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cheevd" .IX Subsection "cheevd" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int jobz(); int uplo(); [o,phys]w(n); int [o,phys]info()) .Ve .PP Complex version of syevd for Hermitian matrix .PP cheevd ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cheevx" .IX Subsection "cheevx" .Vb 1 \& Signature: ([phys]A(2,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); [o,phys]z(2,p,q);int [o,phys]ifail(r); int [o,phys]info()) .Ve .PP Complex version of syevx for Hermitian matrix .PP cheevx ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cheevr" .IX Subsection "cheevr" .Vb 1 \& Signature: ([phys]A(2,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); [o,phys]z(2,p,q);int [o,phys]isuppz(r); int [o,phys]info()) .Ve .PP Complex version of syevr for Hermitian matrix .PP cheevr ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "chegv" .IX Subsection "chegv" .Vb 1 \& Signature: ([io,phys]A(2,n,n);int [phys]itype();int jobz(); int uplo();[io,phys]B(2,n,n);[o,phys]w(n); int [o,phys]info()) .Ve .PP Complex version of sygv for Hermitian matrix .PP chegv ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "chegvd" .IX Subsection "chegvd" .Vb 1 \& Signature: ([io,phys]A(2,n,n);int [phys]itype();int jobz(); int uplo();[io,phys]B(2,n,n);[o,phys]w(n); int [o,phys]info()) .Ve .PP Complex version of sygvd for Hermitian matrix .PP chegvd ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "chegvx" .IX Subsection "chegvx" .Vb 1 \& Signature: ([io,phys]A(2,n,n);int [phys]itype();int jobz();int range(); int uplo();[io,phys]B(2,n,n);[phys]vl();[phys]vu();int [phys]il();int [phys]iu();[phys]abstol();int [o,phys]m();[o,phys]w(n); [o,phys]Z(2,p,q);int [o,phys]ifail(r);int [o,phys]info()) .Ve .PP Complex version of sygvx for Hermitian matrix .PP chegvx ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgesv" .IX Subsection "cgesv" .Vb 1 \& Signature: ([io,phys]A(2,n,n); [io,phys]B(2,n,m); int [o,phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of gesv .PP cgesv ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgesvx" .IX Subsection "cgesvx" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int trans(); int fact(); [io,phys]B(2,n,m); [io,phys]af(2,n,n); int [io,phys]ipiv(n); int [io]equed(); [io,phys]r(n); [io,phys]c(n); [o,phys]X(2,n,m); [o,phys]rcond(); [o,phys]ferr(m); [o,phys]berr(m); [o,phys]rpvgrw(); int [o,phys]info()) .Ve .PP Complex version of gesvx. .PP .Vb 4 \& trans: Specifies the form of the system of equations: \& = 0: A * X = B (No transpose) \& = 1: A\*(Aq * X = B (Transpose) \& = 2: A**H * X = B (Conjugate transpose) .Ve .PP cgesvx ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "csysv" .IX Subsection "csysv" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); [io,phys]B(2,n,m); int [o,phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of sysv .PP csysv ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "csysvx" .IX Subsection "csysvx" .Vb 1 \& Signature: ([phys]A(2,n,n); int uplo(); int fact(); [phys]B(2,n,m); [io,phys]af(2,n,n); int [io,phys]ipiv(n); [o,phys]X(2,n,m); [o,phys]rcond(); [o,phys]ferr(m); [o,phys]berr(m); int [o,phys]info()) .Ve .PP Complex version of sysvx .PP csysvx ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "chesv" .IX Subsection "chesv" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); [io,phys]B(2,n,m); int [o,phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of sysv for Hermitian matrix .PP chesv ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "chesvx" .IX Subsection "chesvx" .Vb 1 \& Signature: ([phys]A(2,n,n); int uplo(); int fact(); [phys]B(2,n,m); [io,phys]af(2,n,n); int [io,phys]ipiv(n); [o,phys]X(2,n,m); [o,phys]rcond(); [o,phys]ferr(m); [o,phys]berr(m); int [o,phys]info()) .Ve .PP Complex version of sysvx for Hermitian matrix .PP chesvx ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cposv" .IX Subsection "cposv" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); [io,phys]B(2,n,m); int [o,phys]info()) .Ve .PP Complex version of posv for Hermitian positive definite matrix .PP cposv ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cposvx" .IX Subsection "cposvx" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int fact(); [io,phys]B(2,n,m); [io,phys]af(2,n,n); int [io]equed(); [io,phys]s(n); [o,phys]X(2,n,m); [o,phys]rcond(); [o,phys]ferr(m); [o,phys]berr(m); int [o,phys]info()) .Ve .PP Complex version of posvx for Hermitian positive definite matrix .PP cposvx ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgels" .IX Subsection "cgels" .Vb 1 \& Signature: ([io,phys]A(2,m,n); int trans(); [io,phys]B(2,p,q);int [o,phys]info()) .Ve .PP Solves overdetermined or underdetermined complex linear systems involving an M\-by-N matrix A, or its conjugate-transpose. Complex version of gels. .PP .Vb 2 \& trans: = 0: the linear system involves A; \& = 1: the linear system involves A**H. .Ve .PP cgels ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgelsy" .IX Subsection "cgelsy" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [io,phys]B(2,p,q); [phys]rcond(); int [io,phys]jpvt(n); int [o,phys]rank();int [o,phys]info()) .Ve .PP Complex version of gelsy .PP cgelsy ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgelss" .IX Subsection "cgelss" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [io,phys]B(2,p,q); [phys]rcond(); [o,phys]s(r); int [o,phys]rank();int [o,phys]info()) .Ve .PP Complex version of gelss .PP cgelss ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgelsd" .IX Subsection "cgelsd" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [io,phys]B(2,p,q); [phys]rcond(); [o,phys]s(r); int [o,phys]rank();int [o,phys]info()) .Ve .PP Complex version of gelsd .PP cgelsd ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgglse" .IX Subsection "cgglse" .Vb 1 \& Signature: ([phys]A(2,m,n); [phys]B(2,p,n);[io,phys]c(2,m);[phys]d(2,p);[o,phys]x(2,n);int [o,phys]info()) .Ve .PP Complex version of gglse .PP cgglse ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cggglm" .IX Subsection "cggglm" .Vb 1 \& Signature: ([phys]A(2,n,m); [phys]B(2,n,p);[phys]d(2,n);[o,phys]x(2,m);[o,phys]y(2,p);int [o,phys]info()) .Ve .PP Complex version of ggglm .PP cggglm ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgetrf" .IX Subsection "cgetrf" .Vb 1 \& Signature: ([io,phys]A(2,m,n); int [o,phys]ipiv(p); int [o,phys]info()) .Ve .PP Complex version of getrf .PP cgetrf ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgetf2" .IX Subsection "cgetf2" .Vb 1 \& Signature: ([io,phys]A(2,m,n); int [o,phys]ipiv(p); int [o,phys]info()) .Ve .PP Complex version of getf2 .PP cgetf2 ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "csytrf" .IX Subsection "csytrf" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int [o,phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of sytrf .PP csytrf ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "csytf2" .IX Subsection "csytf2" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int [o,phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of sytf2 .PP csytf2 ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cchetrf" .IX Subsection "cchetrf" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int [o,phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of sytrf for Hermitian matrix .PP cchetrf ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "chetf2" .IX Subsection "chetf2" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int [o,phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of sytf2 for Hermitian matrix .PP chetf2 ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cpotrf" .IX Subsection "cpotrf" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int [o,phys]info()) .Ve .PP Complex version of potrf for Hermitian positive definite matrix .PP cpotrf ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cpotf2" .IX Subsection "cpotf2" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int [o,phys]info()) .Ve .PP Complex version of potf2 for Hermitian positive definite matrix .PP cpotf2 ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgetri" .IX Subsection "cgetri" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int [phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of getri .PP cgetri ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "csytri" .IX Subsection "csytri" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int [phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of sytri .PP csytri ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "chetri" .IX Subsection "chetri" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int [phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of sytri for Hermitian matrix .PP chetri ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cpotri" .IX Subsection "cpotri" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int [o,phys]info()) .Ve .PP Complex version of potri .PP cpotri ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "ctrtri" .IX Subsection "ctrtri" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int diag(); int [o,phys]info()) .Ve .PP Complex version of trtri .PP ctrtri ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "ctrti2" .IX Subsection "ctrti2" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int uplo(); int diag(); int [o,phys]info()) .Ve .PP Complex version of trti2 .PP ctrti2 ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgetrs" .IX Subsection "cgetrs" .Vb 1 \& Signature: ([phys]A(2,n,n); int trans(); [io,phys]B(2,n,m); int [phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of getrs .PP .Vb 5 \& Arguments \& ========= \& trans: = 0: No transpose; \& = 1: Transpose; \& = 2: Conjugate transpose; .Ve .PP cgetrs ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "csytrs" .IX Subsection "csytrs" .Vb 1 \& Signature: ([phys]A(2,n,n); int uplo();[io,phys]B(2,n,m); int [phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of sytrs .PP csytrs ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "chetrs" .IX Subsection "chetrs" .Vb 1 \& Signature: ([phys]A(2,n,n); int uplo();[io,phys]B(2,n,m); int [phys]ipiv(n); int [o,phys]info()) .Ve .PP Complex version of sytrs for Hermitian matrix .PP chetrs ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cpotrs" .IX Subsection "cpotrs" .Vb 1 \& Signature: ([phys]A(2,n,n); int uplo(); [io,phys]B(2,n,m); int [o,phys]info()) .Ve .PP Complex version of potrs for Hermitian positive definite matrix .PP cpotrs ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "ctrtrs" .IX Subsection "ctrtrs" .Vb 1 \& Signature: ([phys]A(2,n,n); int uplo(); int trans(); int diag();[io,phys]B(2,n,m); int [o,phys]info()) .Ve .PP Complex version of trtrs .PP .Vb 5 \& Arguments \& ========= \& trans: = 0: No transpose; \& = 1: Transpose; \& = 2: Conjugate transpose; .Ve .PP ctrtrs ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "clatrs" .IX Subsection "clatrs" .Vb 1 \& Signature: ([phys]A(2,n,n); int uplo(); int trans(); int diag(); int normin();[io,phys]x(2,n); [o,phys]scale();[io,phys]cnorm(n);int [o,phys]info()) .Ve .PP Complex version of latrs .PP .Vb 5 \& Arguments \& ========= \& trans: = 0: No transpose; \& = 1: Transpose; \& = 2: Conjugate transpose; .Ve .PP clatrs ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgecon" .IX Subsection "cgecon" .Vb 1 \& Signature: ([phys]A(2,n,n); int norm(); [phys]anorm(); [o,phys]rcond();int [o,phys]info()) .Ve .PP Complex version of gecon .PP cgecon ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "csycon" .IX Subsection "csycon" .Vb 1 \& Signature: ([phys]A(2,n,n); int uplo(); int ipiv(n); [phys]anorm(); [o,phys]rcond();int [o,phys]info()) .Ve .PP Complex version of sycon .PP csycon ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "checon" .IX Subsection "checon" .Vb 1 \& Signature: ([phys]A(2,n,n); int uplo(); int ipiv(n); [phys]anorm(); [o,phys]rcond();int [o,phys]info()) .Ve .PP Complex version of sycon for Hermitian matrix .PP checon ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cpocon" .IX Subsection "cpocon" .Vb 1 \& Signature: ([phys]A(2,n,n); int uplo(); [phys]anorm(); [o,phys]rcond();int [o,phys]info()) .Ve .PP Complex version of pocon for Hermitian positive definite matrix .PP cpocon ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "ctrcon" .IX Subsection "ctrcon" .Vb 1 \& Signature: ([phys]A(2,n,n); int norm();int uplo();int diag(); [o,phys]rcond();int [o,phys]info()) .Ve .PP Complex version of trcon .PP ctrcon ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgeqp3" .IX Subsection "cgeqp3" .Vb 1 \& Signature: ([io,phys]A(2,m,n); int [io,phys]jpvt(n); [o,phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of geqp3 .PP cgeqp3 ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgeqrf" .IX Subsection "cgeqrf" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [o,phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of geqrf .PP cgeqrf ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cungqr" .IX Subsection "cungqr" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of orgqr .PP cungqr ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cunmqr" .IX Subsection "cunmqr" .Vb 1 \& Signature: ([phys]A(2,p,k); int side(); int trans(); [phys]tau(2,k); [io,phys]C(2,m,n);int [o,phys]info()) .Ve .PP Complex version of ormqr. Here trans = 1 means conjugate transpose. .PP cunmqr ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgelqf" .IX Subsection "cgelqf" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [o,phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of gelqf .PP cgelqf ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cunglq" .IX Subsection "cunglq" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of orglq .PP cunglq ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cunmlq" .IX Subsection "cunmlq" .Vb 1 \& Signature: ([phys]A(2,k,p); int side(); int trans(); [phys]tau(2,k); [io,phys]C(2,m,n);int [o,phys]info()) .Ve .PP Complex version of ormlq. Here trans = 1 means conjugate transpose. .PP cunmlq ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgeqlf" .IX Subsection "cgeqlf" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [o,phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of geqlf .PP cgeqlf ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cungql" .IX Subsection "cungql" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of orgql. .PP cungql ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cunmql" .IX Subsection "cunmql" .Vb 1 \& Signature: ([phys]A(2,p,k); int side(); int trans(); [phys]tau(2,k); [io,phys]C(2,m,n);int [o,phys]info()) .Ve .PP Complex version of ormql. Here trans = 1 means conjugate transpose. .PP cunmql ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgerqf" .IX Subsection "cgerqf" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [o,phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of gerqf .PP cgerqf ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cungrq" .IX Subsection "cungrq" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of orgrq. .PP cungrq ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cunmrq" .IX Subsection "cunmrq" .Vb 1 \& Signature: ([phys]A(2,k,p); int side(); int trans(); [phys]tau(2,k); [io,phys]C(2,m,n);int [o,phys]info()) .Ve .PP Complex version of ormrq. Here trans = 1 means conjugate transpose. .PP cunmrq ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "ctzrzf" .IX Subsection "ctzrzf" .Vb 1 \& Signature: ([io,phys]A(2,m,n); [o,phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of tzrzf .PP ctzrzf ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cunmrz" .IX Subsection "cunmrz" .Vb 1 \& Signature: ([phys]A(2,k,p); int side(); int trans(); [phys]tau(2,k); [io,phys]C(2,m,n);int [o,phys]info()) .Ve .PP Complex version of ormrz. Here trans = 1 means conjugate transpose. .PP cunmrz ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgehrd" .IX Subsection "cgehrd" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int [phys]ilo();int [phys]ihi();[o,phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of gehrd .PP cgehrd ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cunghr" .IX Subsection "cunghr" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int [phys]ilo();int [phys]ihi();[phys]tau(2,k); int [o,phys]info()) .Ve .PP Complex version of orghr .PP cunghr ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "chseqr" .IX Subsection "chseqr" .Vb 1 \& Signature: ([io,phys]H(2,n,n); int job();int compz();int [phys]ilo();int [phys]ihi();[o,phys]w(2,n); [o,phys]Z(2,m,m); int [o,phys]info()) .Ve .PP Complex version of hseqr .PP chseqr ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "ctrevc" .IX Subsection "ctrevc" .Vb 1 \& Signature: ([io,phys]T(2,n,n); int side();int howmny();int [phys]select(q);[io,phys]VL(2,m,r); [io,phys]VR(2,p,s);int [o,phys]m(); int [o,phys]info()) .Ve .PP Complex version of trevc .PP ctrevc ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "ctgevc" .IX Subsection "ctgevc" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int side();int howmny(); [io,phys]B(2,n,n);int [phys]select(q);[io,phys]VL(2,m,r); [io,phys]VR(2,p,s);int [o,phys]m(); int [o,phys]info()) .Ve .PP Complex version of tgevc .PP ctgevc ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgebal" .IX Subsection "cgebal" .Vb 1 \& Signature: ([io,phys]A(2,n,n); int job(); int [o,phys]ilo();int [o,phys]ihi();[o,phys]scale(n); int [o,phys]info()) .Ve .PP Complex version of gebal .PP cgebal ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "clange" .IX Subsection "clange" .Vb 1 \& Signature: ([phys]A(2,n,m); int norm(); [o]b()) .Ve .PP Complex version of lange .PP clange ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "clansy" .IX Subsection "clansy" .Vb 1 \& Signature: ([phys]A(2, n,n); int uplo(); int norm(); [o]b()) .Ve .PP Complex version of lansy .PP clansy ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "clantr" .IX Subsection "clantr" .Vb 1 \& Signature: ([phys]A(2,m,n);int uplo();int norm();int diag();[o]b()) .Ve .PP Complex version of lantr .PP clantr ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cgemm" .IX Subsection "cgemm" .Vb 1 \& Signature: ([phys]A(2,m,n); int transa(); int transb(); [phys]B(2,p,q);[phys]alpha(2); [phys]beta(2); [io,phys]C(2,r,s)) .Ve .PP Complex version of gemm. .PP .Vb 5 \& Arguments \& ========= \& transa: = 0: No transpose; \& = 1: Transpose; \& = 2: Conjugate transpose; \& \& transb: = 0: No transpose; \& = 1: Transpose; \& = 2: Conjugate transpose; .Ve .PP cgemm ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cmmult" .IX Subsection "cmmult" .Vb 1 \& Signature: ([phys]A(2,m,n); [phys]B(2,p,m); [o,phys]C(2,p,n)) .Ve .PP Complex version of mmult .PP cmmult ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "ccrossprod" .IX Subsection "ccrossprod" .Vb 1 \& Signature: ([phys]A(2,n,m); [phys]B(2,p,m); [o,phys]C(2,p,n)) .Ve .PP Complex version of crossprod .PP ccrossprod ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "csyrk" .IX Subsection "csyrk" .Vb 1 \& Signature: ([phys]A(2,m,n); int uplo(); int trans(); [phys]alpha(2); [phys]beta(2); [io,phys]C(2,p,p)) .Ve .PP Complex version of syrk .PP csyrk ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cdot" .IX Subsection "cdot" .Vb 1 \& Signature: ([phys]a(2,n);int [phys]inca();[phys]b(2,n);int [phys]incb();[o,phys]c(2)) .Ve .PP Complex version of dot .PP cdot ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cdotc" .IX Subsection "cdotc" .Vb 1 \& Signature: ([phys]a(2,n);int [phys]inca();[phys]b(2,n);int [phys]incb();[o,phys]c(2)) .Ve .PP Forms the dot product of two vectors, conjugating the first vector. .PP cdotc ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "caxpy" .IX Subsection "caxpy" .Vb 1 \& Signature: ([phys]a(2,n);int [phys]inca();[phys] alpha(2);[io,phys]b(2,n);int [phys]incb()) .Ve .PP Complex version of axpy .PP caxpy ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cnrm2" .IX Subsection "cnrm2" .Vb 1 \& Signature: ([phys]a(2,n);int [phys]inca();[o,phys]b()) .Ve .PP Complex version of nrm2 .PP cnrm2 ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "casum" .IX Subsection "casum" .Vb 1 \& Signature: ([phys]a(2,n);int [phys]inca();[o,phys]b()) .Ve .PP Complex version of asum .PP casum ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cscal" .IX Subsection "cscal" .Vb 1 \& Signature: ([io,phys]a(2,n);int [phys]inca();[phys]scale(2)) .Ve .PP Complex version of scal .PP cscal ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "sscal" .IX Subsection "sscal" .Vb 1 \& Signature: ([io,phys]a(2,n);int [phys]inca();[phys]scale()) .Ve .PP Scales a complex vector by a real constant. .PP sscal ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "crotg" .IX Subsection "crotg" .Vb 1 \& Signature: ([io,phys]a(2);[phys]b(2);[o,phys]c(); [o,phys]s(2)) .Ve .PP Complex version of rotg .PP crotg ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "clacpy" .IX Subsection "clacpy" .Vb 1 \& Signature: ([phys]A(2,m,n); int uplo(); [o,phys]B(2,p,n)) .Ve .PP Complex version of lacpy .PP clacpy ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "claswp" .IX Subsection "claswp" .Vb 1 \& Signature: ([io,phys]A(2,m,n); int [phys]k1(); int [phys]k2(); int [phys]ipiv(p);int [phys]inc()) .Ve .PP Complex version of laswp .PP claswp ignores the bad-value flag of the input piddles. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "ctricpy" .IX Subsection "ctricpy" .Vb 1 \& Signature: (A(c=2,m,n);int uplo();[o] C(c=2,m,n)) .Ve .PP Copy triangular part to another matrix. If uplo == 0 copy upper triangular part. .PP ctricpy does not process bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "cmstack" .IX Subsection "cmstack" .Vb 1 \& Signature: (x(c,n,m);y(c,n,p);[o]out(c,n,q)) .Ve .PP Combine two 3D piddles into a single piddle. This routine does backward and forward dataflow automatically. .PP cmstack does not process bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SS "ccharpol" .IX Subsection "ccharpol" .Vb 1 \& Signature: ([phys]A(c=2,n,n);[phys,o]Y(c=2,n,n);[phys,o]out(c=2,p)) .Ve .PP Complex version of charpol .PP ccharpol does not process bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. .SH "AUTHOR" .IX Header "AUTHOR" Copyright (C) Grégory Vanuxem 2005\-2018. .PP 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.