diff --git a/source/lapack/lapack.d b/source/lapack/lapack.d index 5c4cefb..0e3a7d6 100644 --- a/source/lapack/lapack.d +++ b/source/lapack/lapack.d @@ -947,10 +947,10 @@ void zhgeqz_(ref char job, ref char compq, ref char compz, ref lapackint n, ref /// Computes specified right and/or left eigenvectors of an upper /// Hessenberg matrix by inverse iteration. -void shsein_(ref char side, ref char eigsrc, ref char initv, lapackint *select, ref lapackint n, float *h, ref lapackint ldh, float *wr, float *wi, float *vl, ref lapackint ldvl, float *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, float *work, ref lapackint ifaill, ref lapackint ifailr, ref lapackint info); -void dhsein_(ref char side, ref char eigsrc, ref char initv, lapackint *select, ref lapackint n, double *h, ref lapackint ldh, double *wr, double *wi, double *vl, ref lapackint ldvl, double *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, double *work, ref lapackint ifaill, ref lapackint ifailr, ref lapackint info); -void chsein_(ref char side, ref char eigsrc, ref char initv, lapackint *select, ref lapackint n, _cfloat *h, ref lapackint ldh, _cfloat *w, _cfloat *vl, ref lapackint ldvl, _cfloat *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, _cfloat *work, float *rwork, ref lapackint ifaill, ref lapackint ifailr, ref lapackint info); -void zhsein_(ref char side, ref char eigsrc, ref char initv, lapackint *select, ref lapackint n, _cdouble *h, ref lapackint ldh, _cdouble *w, _cdouble *vl, ref lapackint ldvl, _cdouble *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, _cdouble *work, double *rwork, ref lapackint ifaill, ref lapackint ifailr, ref lapackint info); +void shsein_(ref char side, ref char eigsrc, ref char initv, ref lapackint select, ref lapackint n, float *h, ref lapackint ldh, float *wr, float *wi, float *vl, ref lapackint ldvl, float *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, float *work, ref lapackint ifaill, ref lapackint ifailr, ref lapackint info); +void dhsein_(ref char side, ref char eigsrc, ref char initv, ref lapackint select, ref lapackint n, double *h, ref lapackint ldh, double *wr, double *wi, double *vl, ref lapackint ldvl, double *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, double *work, ref lapackint ifaill, ref lapackint ifailr, ref lapackint info); +void chsein_(ref char side, ref char eigsrc, ref char initv, ref const lapackint select, ref lapackint n, _cfloat *h, ref lapackint ldh, _cfloat *w, _cfloat *vl, ref lapackint ldvl, _cfloat *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, _cfloat *work, float *rwork, ref lapackint ifaill, ref lapackint ifailr, ref lapackint info); +void zhsein_(ref char side, ref char eigsrc, ref char initv, ref const lapackint select, ref lapackint n, _cdouble *h, ref lapackint ldh, _cdouble *w, _cdouble *vl, ref lapackint ldvl, _cdouble *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, _cdouble *work, double *rwork, ref lapackint ifaill, ref lapackint ifailr, ref lapackint info); /// Computes the eigenvalues and Schur factorization of an upper /// Hessenberg matrix, using the multishift QR algorithm. @@ -1593,28 +1593,28 @@ void ztbtrs_(ref char uplo, ref char trans, ref char diag, ref lapackint n, lapa /// Computes some or all of the right and/or left generalized eigenvectors /// of a pair of upper triangular matrices. -void stgevc_(ref char side, ref char howmny, lapackint *select, ref lapackint n, float *a, ref lapackint lda, float *b, ref lapackint ldb, float *vl, ref lapackint ldvl, float *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, float *work, ref lapackint info); -void dtgevc_(ref char side, ref char howmny, lapackint *select, ref lapackint n, double *a, ref lapackint lda, double *b, ref lapackint ldb, double *vl, ref lapackint ldvl, double *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, double *work, ref lapackint info); -void ctgevc_(ref char side, ref char howmny, lapackint *select, ref lapackint n, _cfloat *a, ref lapackint lda, _cfloat *b, ref lapackint ldb, _cfloat *vl, ref lapackint ldvl, _cfloat *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, _cfloat *work, float *rwork, ref lapackint info); -void ztgevc_(ref char side, ref char howmny, lapackint *select, ref lapackint n, _cdouble *a, ref lapackint lda, _cdouble *b, ref lapackint ldb, _cdouble *vl, ref lapackint ldvl, _cdouble *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, _cdouble *work, double *rwork, ref lapackint info); +void stgevc_(ref char side, ref char howmny, ref const lapackint select, ref lapackint n, float *a, ref lapackint lda, float *b, ref lapackint ldb, float *vl, ref lapackint ldvl, float *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, float *work, ref lapackint info); +void dtgevc_(ref char side, ref char howmny, ref const lapackint select, ref lapackint n, double *a, ref lapackint lda, double *b, ref lapackint ldb, double *vl, ref lapackint ldvl, double *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, double *work, ref lapackint info); +void ctgevc_(ref char side, ref char howmny, ref const lapackint select, ref lapackint n, _cfloat *a, ref lapackint lda, _cfloat *b, ref lapackint ldb, _cfloat *vl, ref lapackint ldvl, _cfloat *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, _cfloat *work, float *rwork, ref lapackint info); +void ztgevc_(ref char side, ref char howmny, ref const lapackint select, ref lapackint n, _cdouble *a, ref lapackint lda, _cdouble *b, ref lapackint ldb, _cdouble *vl, ref lapackint ldvl, _cdouble *vr, ref lapackint ldvr, ref lapackint mm, ref lapackint m, _cdouble *work, double *rwork, ref lapackint info); /// Reorders the generalized real Schur decomposition of a real /// matrix pair (A,B) using an orthogonal equivalence transformation /// so that the diagonal block of (A,B) with row index IFST is moved /// to row ILST. -void stgexc_(lapackint *wantq, lapackint *wantz, ref lapackint n, float *a, ref lapackint lda, float *b, ref lapackint ldb, float *q, ref lapackint ldq, float *z, ref lapackint ldz, lapackint *ifst, lapackint *ilst, float *work, ref lapackint lwork, ref lapackint info); -void dtgexc_(lapackint *wantq, lapackint *wantz, ref lapackint n, double *a, ref lapackint lda, double *b, ref lapackint ldb, double *q, ref lapackint ldq, double *z, ref lapackint ldz, lapackint *ifst, lapackint *ilst, double *work, ref lapackint lwork, ref lapackint info); -void ctgexc_(lapackint *wantq, lapackint *wantz, ref lapackint n, _cfloat *a, ref lapackint lda, _cfloat *b, ref lapackint ldb, _cfloat *q, ref lapackint ldq, _cfloat *z, ref lapackint ldz, lapackint *ifst, lapackint *ilst, ref lapackint info); -void ztgexc_(lapackint *wantq, lapackint *wantz, ref lapackint n, _cdouble *a, ref lapackint lda, _cdouble *b, ref lapackint ldb, _cdouble *q, ref lapackint ldq, _cdouble *z, ref lapackint ldz, lapackint *ifst, lapackint *ilst, ref lapackint info); +void stgexc_(ref const lapackint wantq, ref const lapackint wantz, ref lapackint n, float *a, ref lapackint lda, float *b, ref lapackint ldb, float *q, ref lapackint ldq, float *z, ref lapackint ldz, ref lapackint ifst, ref lapackint ilst, float *work, ref lapackint lwork, ref lapackint info); +void dtgexc_(ref const lapackint wantq, ref const lapackint wantz, ref lapackint n, double *a, ref lapackint lda, double *b, ref lapackint ldb, double *q, ref lapackint ldq, double *z, ref lapackint ldz, ref lapackint ifst, ref lapackint ilst, double *work, ref lapackint lwork, ref lapackint info); +void ctgexc_(ref const lapackint wantq, ref const lapackint wantz, ref lapackint n, _cfloat *a, ref lapackint lda, _cfloat *b, ref lapackint ldb, _cfloat *q, ref lapackint ldq, _cfloat *z, ref lapackint ldz, ref const lapackint ifst, ref const lapackint ilst, ref lapackint info); +void ztgexc_(ref const lapackint wantq, ref const lapackint wantz, ref lapackint n, _cdouble *a, ref lapackint lda, _cdouble *b, ref lapackint ldb, _cdouble *q, ref lapackint ldq, _cdouble *z, ref lapackint ldz, ref const lapackint ifst, ref const lapackint ilst, ref lapackint info); /// Reorders the generalized real Schur decomposition of a real /// matrix pair (A, B) so that a selected cluster of eigenvalues /// appears in the leading diagonal blocks of the upper quasi-triangular /// matrix A and the upper triangular B. -void stgsen_(lapackint *ijob, lapackint *wantq, lapackint *wantz, lapackint *select, ref lapackint n, float *a, ref lapackint lda, float *b, ref lapackint ldb, float *alphar, float *alphai, float *betav, float *q, ref lapackint ldq, float *z, ref lapackint ldz, ref lapackint m, float *pl, float *pr, float *dif, float *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); -void dtgsen_(lapackint *ijob, lapackint *wantq, lapackint *wantz, lapackint *select, ref lapackint n, double *a, ref lapackint lda, double *b, ref lapackint ldb, double *alphar, double *alphai, double *betav, double *q, ref lapackint ldq, double *z, ref lapackint ldz, ref lapackint m, double *pl, double *pr, double *dif, double *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); -void ctgsen_(lapackint *ijob, lapackint *wantq, lapackint *wantz, lapackint *select, ref lapackint n, _cfloat *a, ref lapackint lda, _cfloat *b, ref lapackint ldb, _cfloat *alphav, _cfloat *betav, _cfloat *q, ref lapackint ldq, _cfloat *z, ref lapackint ldz, ref lapackint m, float *pl, float *pr, float *dif, _cfloat *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); -void ztgsen_(lapackint *ijob, lapackint *wantq, lapackint *wantz, lapackint *select, ref lapackint n, _cdouble *a, ref lapackint lda, _cdouble *b, ref lapackint ldb, _cdouble *alphav, _cdouble *betav, _cdouble *q, ref lapackint ldq, _cdouble *z, ref lapackint ldz, ref lapackint m, double *pl, double *pr, double *dif, _cdouble *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); +void stgsen_(ref const lapackint ijob, ref const lapackint wantq, ref const lapackint wantz, ref const lapackint select, ref lapackint n, float *a, ref lapackint lda, float *b, ref lapackint ldb, float *alphar, float *alphai, float *betav, float *q, ref lapackint ldq, float *z, ref lapackint ldz, ref lapackint m, ref float pl, ref float pr, float *dif, float *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); +void dtgsen_(ref const lapackint ijob, ref const lapackint wantq, ref const lapackint wantz, ref const lapackint select, ref lapackint n, double *a, ref lapackint lda, double *b, ref lapackint ldb, double *alphar, double *alphai, double *betav, double *q, ref lapackint ldq, double *z, ref lapackint ldz, ref lapackint m, ref double pl, ref double pr, double *dif, double *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); +void ctgsen_(ref const lapackint ijob, ref const lapackint wantq, ref const lapackint wantz, ref const lapackint select, ref lapackint n, _cfloat *a, ref lapackint lda, _cfloat *b, ref lapackint ldb, _cfloat *alphav, _cfloat *betav, _cfloat *q, ref lapackint ldq, _cfloat *z, ref lapackint ldz, ref lapackint m, ref float pl, ref float pr, float *dif, _cfloat *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); +void ztgsen_(ref const lapackint ijob, ref const lapackint wantq, ref const lapackint wantz, ref const lapackint select, ref lapackint n, _cdouble *a, ref lapackint lda, _cdouble *b, ref lapackint ldb, _cdouble *alphav, _cdouble *betav, _cdouble *q, ref lapackint ldq, _cdouble *z, ref lapackint ldz, ref lapackint m, ref double pl, ref double pr, double *dif, _cdouble *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); /// Computes the generalized singular value decomposition of two real /// upper triangular (or trapezoidal) matrices as output by SGGSVP. @@ -1626,10 +1626,10 @@ void ztgsja_(ref char jobu, ref char jobv, ref char jobq, ref lapackint m, ref l /// Estimates reciprocal condition numbers for specified /// eigenvalues and/or eigenvectors of a matrix pair (A, B) in /// generalized real Schur canonical form, as returned by SGGES. -void stgsna_(ref char job, ref char howmny, lapackint *select, ref lapackint n, float *a, ref lapackint lda, float *b, ref lapackint ldb, float *vl, ref lapackint ldvl, float *vr, ref lapackint ldvr, float *s, float *dif, ref lapackint mm, ref lapackint m, float *work, ref lapackint lwork, lapackint *iwork, ref lapackint info); -void dtgsna_(ref char job, ref char howmny, lapackint *select, ref lapackint n, double *a, ref lapackint lda, double *b, ref lapackint ldb, double *vl, ref lapackint ldvl, double *vr, ref lapackint ldvr, double *s, double *dif, ref lapackint mm, ref lapackint m, double *work, ref lapackint lwork, lapackint *iwork, ref lapackint info); -void ctgsna_(ref char job, ref char howmny, lapackint *select, ref lapackint n, _cfloat *a, ref lapackint lda, _cfloat *b, ref lapackint ldb, _cfloat *vl, ref lapackint ldvl, _cfloat *vr, ref lapackint ldvr, float *s, float *dif, ref lapackint mm, ref lapackint m, _cfloat *work, ref lapackint lwork, lapackint *iwork, ref lapackint info); -void ztgsna_(ref char job, ref char howmny, lapackint *select, ref lapackint n, _cdouble *a, ref lapackint lda, _cdouble *b, ref lapackint ldb, _cdouble *vl, ref lapackint ldvl, _cdouble *vr, ref lapackint ldvr, double *s, double *dif, ref lapackint mm, ref lapackint m, _cdouble *work, ref lapackint lwork, lapackint *iwork, ref lapackint info); +void stgsna_(ref char job, ref char howmny, ref const lapackint select, ref lapackint n, float *a, ref lapackint lda, float *b, ref lapackint ldb, float *vl, ref lapackint ldvl, float *vr, ref lapackint ldvr, float *s, float *dif, ref lapackint mm, ref lapackint m, float *work, ref lapackint lwork, lapackint *iwork, ref lapackint info); +void dtgsna_(ref char job, ref char howmny, ref const lapackint select, ref lapackint n, double *a, ref lapackint lda, double *b, ref lapackint ldb, double *vl, ref lapackint ldvl, double *vr, ref lapackint ldvr, double *s, double *dif, ref lapackint mm, ref lapackint m, double *work, ref lapackint lwork, lapackint *iwork, ref lapackint info); +void ctgsna_(ref char job, ref char howmny, ref const lapackint select, ref lapackint n, _cfloat *a, ref lapackint lda, _cfloat *b, ref lapackint ldb, _cfloat *vl, ref lapackint ldvl, _cfloat *vr, ref lapackint ldvr, float *s, float *dif, ref lapackint mm, ref lapackint m, _cfloat *work, ref lapackint lwork, lapackint *iwork, ref lapackint info); +void ztgsna_(ref char job, ref char howmny, ref const lapackint select, ref lapackint n, _cdouble *a, ref lapackint lda, _cdouble *b, ref lapackint ldb, _cdouble *vl, ref lapackint ldvl, _cdouble *vr, ref lapackint ldvr, double *s, double *dif, ref lapackint mm, ref lapackint m, _cdouble *work, ref lapackint lwork, lapackint *iwork, ref lapackint info); /// Solves the generalized Sylvester equation. void stgsyl_(ref char trans, lapackint *ijob, ref lapackint m, ref lapackint n, float *a, ref lapackint lda, float *b, ref lapackint ldb, float *c, ref lapackint ldc, float *d, ref lapackint ldd, float *e, ref lapackint lde, float *f, ref lapackint ldf, float *scale, float *dif, float *work, ref lapackint lwork, lapackint *iwork, ref lapackint info); @@ -1699,18 +1699,18 @@ void ztrrfs_(ref char uplo, ref char trans, ref char diag, ref lapackint n, ref /// to selected eigenvalues, and returns reciprocal condition numbers /// (sensitivities) of the average of the cluster of eigenvalues /// and of the invariant subspace. -void strsen_(ref char job, ref char compq, lapackint *select, ref lapackint n, float *t, ref lapackint ldt, float *q, ref lapackint ldq, float *wr, float *wi, ref lapackint m, float *s, float *sep, float *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); -void dtrsen_(ref char job, ref char compq, lapackint *select, ref lapackint n, double *t, ref lapackint ldt, double *q, ref lapackint ldq, double *wr, double *wi, ref lapackint m, double *s, double *sep, double *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); -void ctrsen_(ref char job, ref char compq, lapackint *select, ref lapackint n, _cfloat *t, ref lapackint ldt, _cfloat *q, ref lapackint ldq, _cfloat *w, ref lapackint m, float *s, float *sep, _cfloat *work, ref lapackint lwork, ref lapackint info); -void ztrsen_(ref char job, ref char compq, lapackint *select, ref lapackint n, _cdouble *t, ref lapackint ldt, _cdouble *q, ref lapackint ldq, _cdouble *w, ref lapackint m, double *s, double *sep, _cdouble *work, ref lapackint lwork, ref lapackint info); +void strsen_(ref char job, ref char compq, ref const lapackint select, ref lapackint n, float *t, ref lapackint ldt, float *q, ref lapackint ldq, float *wr, float *wi, ref lapackint m, ref float s, ref float sep, float *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); +void dtrsen_(ref char job, ref char compq, ref const lapackint select, ref lapackint n, double *t, ref lapackint ldt, double *q, ref lapackint ldq, double *wr, double *wi, ref lapackint m, ref double s, ref double sep, double *work, ref lapackint lwork, lapackint *iwork, lapackint *liwork, ref lapackint info); +void ctrsen_(ref char job, ref char compq, ref const lapackint select, ref lapackint n, _cfloat *t, ref lapackint ldt, _cfloat *q, ref lapackint ldq, _cfloat *w, ref lapackint m, ref float s, ref float sep, _cfloat *work, ref lapackint lwork, ref lapackint info); +void ztrsen_(ref char job, ref char compq, ref const lapackint select, ref lapackint n, _cdouble *t, ref lapackint ldt, _cdouble *q, ref lapackint ldq, _cdouble *w, ref lapackint m, ref double s, ref double sep, _cdouble *work, ref lapackint lwork, ref lapackint info); /// Estimates the reciprocal condition numbers (sensitivities) /// of selected eigenvalues and eigenvectors of an upper /// quasi-triangular matrix. -void strsna_(ref char job, ref char howmny, lapackint *select, ref lapackint n, float *t, ref lapackint ldt, float *vl, ref lapackint ldvl, float *vr, ref lapackint ldvr, float *s, float *sep, ref lapackint mm, ref lapackint m, float *work, ref lapackint ldwork, lapackint *iwork, ref lapackint info); -void dtrsna_(ref char job, ref char howmny, lapackint *select, ref lapackint n, double *t, ref lapackint ldt, double *vl, ref lapackint ldvl, double *vr, ref lapackint ldvr, double *s, double *sep, ref lapackint mm, ref lapackint m, double *work, ref lapackint ldwork, lapackint *iwork, ref lapackint info); -void ctrsna_(ref char job, ref char howmny, lapackint *select, ref lapackint n, _cfloat *t, ref lapackint ldt, _cfloat *vl, ref lapackint ldvl, _cfloat *vr, ref lapackint ldvr, float *s, float *sep, ref lapackint mm, ref lapackint m, _cfloat *work, ref lapackint ldwork, float *rwork, ref lapackint info); -void ztrsna_(ref char job, ref char howmny, lapackint *select, ref lapackint n, _cdouble *t, ref lapackint ldt, _cdouble *vl, ref lapackint ldvl, _cdouble *vr, ref lapackint ldvr, double *s, double *sep, ref lapackint mm, ref lapackint m, _cdouble *work, ref lapackint ldwork, double *rwork, ref lapackint info); +void strsna_(ref char job, ref char howmny, ref const lapackint select, ref lapackint n, float *t, ref lapackint ldt, float *vl, ref lapackint ldvl, float *vr, ref lapackint ldvr, float *s, float *sep, ref lapackint mm, ref lapackint m, float *work, ref lapackint ldwork, lapackint *iwork, ref lapackint info); +void dtrsna_(ref char job, ref char howmny, ref const lapackint select, ref lapackint n, double *t, ref lapackint ldt, double *vl, ref lapackint ldvl, double *vr, ref lapackint ldvr, double *s, double *sep, ref lapackint mm, ref lapackint m, double *work, ref lapackint ldwork, lapackint *iwork, ref lapackint info); +void ctrsna_(ref char job, ref char howmny, ref const lapackint select, ref lapackint n, _cfloat *t, ref lapackint ldt, _cfloat *vl, ref lapackint ldvl, _cfloat *vr, ref lapackint ldvr, float *s, float *sep, ref lapackint mm, ref lapackint m, _cfloat *work, ref lapackint ldwork, float *rwork, ref lapackint info); +void ztrsna_(ref char job, ref char howmny, ref const lapackint select, ref lapackint n, _cdouble *t, ref lapackint ldt, _cdouble *vl, ref lapackint ldvl, _cdouble *vr, ref lapackint ldvr, double *s, double *sep, ref lapackint mm, ref lapackint m, _cdouble *work, ref lapackint ldwork, double *rwork, ref lapackint info); /// Solves the Sylvester matrix equation A X +/- X B=C where A /// and B are upper quasi-triangular, and may be transposed.