The Perl Advent Calendar needs more articles for 2022. Submit your idea today!

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. #line 68 "Complex.pm"

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())

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;

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))

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_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.
        

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(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.

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_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.

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_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.

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

  Signature: (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

  Signature: (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

  Signature: (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

  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

cposv

  Signature: (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

  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); [t]work(workn))

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

cgels

  Signature: (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

  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))

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

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))

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

cgelsd

  Signature: (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

  Signature: (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

  Signature: (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

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

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

cgetf2

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

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

csytrf

  Signature: (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

  Signature: (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

  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

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

cpotrf

  Signature: (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

  Signature: (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

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

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

csytri

  Signature: (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

  Signature: (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

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

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

ctrtri

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

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

ctrti2

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

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

cgetrs

  Signature: (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

  Signature: (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

  Signature: (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

  Signature: (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

  Signature: (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

  Signature: (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

  Signature: (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

  Signature: (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

  Signature: (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

  Signature: (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

  Signature: (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

  Signature: (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

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

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

cungqr

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

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

cunmqr

  Signature: (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

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

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

cunglq

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

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

cunmlq

  Signature: (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

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

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

cungql

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

cunmql

  Signature: (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

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

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

cungrq

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

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

cunmrq

  Signature: (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

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

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

cunmrz

  Signature: (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

  Signature: (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

  Signature: (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

  Signature: (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))

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

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))

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

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

clange

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

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

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

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

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

cdot

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

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

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.

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

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

csscal

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

Scales a complex vector by a real constant.

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

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

ctricpy

  Signature: (A(c=2,m,n);int uplo();[o] C(c=2,m,n))

Copy triangular part to another matrix. If uplo == 0 copy upper triangular part.

ctricpy 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.

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.

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.

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

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.