Skip to content

Integrating the symmetric version of DMD #969

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 132 additions & 0 deletions LAPACKE/include/lapack.h
Original file line number Diff line number Diff line change
Expand Up @@ -17088,6 +17088,138 @@ void LAPACK_zsyconv_base(
#define LAPACK_zsyconv(...) LAPACK_zsyconv_base(__VA_ARGS__)
#endif

#define LAPACK_chedmd LAPACK_GLOBAL(chedmd,CHEDMD)
void LAPACK_chedmd(
char const* jobs, char const* jobz, char const* jobf,
lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
lapack_complex_float* x, lapack_int const* ldx,
lapack_complex_float* y, lapack_int const* ldy, lapack_int const* k,
lapack_complex_float* reig, lapack_complex_float* imeig,
lapack_complex_float* z, lapack_int const* ldz, lapack_complex_float* res,
lapack_complex_float* b, lapack_int const* ldb,
lapack_complex_float* w, lapack_int const* ldw,
lapack_complex_float* s, lapack_int const* lds,
lapack_complex_float* work, lapack_int const* lwork,
lapack_int* iwork, lapack_int const* liwork,
lapack_int* info );

#define LAPACK_dsydmd LAPACK_GLOBAL(dsydmd,DSYDMD)
void LAPACK_dsydmd(
char const* jobs, char const* jobz, char const* jobf,
lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
double* x, lapack_int const* ldx,
double* y, lapack_int const* ldy, lapack_int const* k,
double* reig, double* imeig,
double* z, lapack_int const* ldz, double* res,
double* b, lapack_int const* ldb,
double* w, lapack_int const* ldw,
double* s, lapack_int const* lds,
double* work, lapack_int const* lwork,
lapack_int* iwork, lapack_int const* liwork,
lapack_int* info );

#define LAPACK_ssydmd LAPACK_GLOBAL(ssydmd,SSYDMD)
void LAPACK_ssydmd(
char const* jobs, char const* jobz, char const* jobf,
lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
float* x, lapack_int const* ldx,
float* y, lapack_int const* ldy, lapack_int const* k,
float* reig, float* imeig,
float* z, lapack_int const* ldz, float* res,
float* b, lapack_int const* ldb,
float* w, lapack_int const* ldw,
float* s, lapack_int const* lds,
float* work, lapack_int const* lwork,
lapack_int* iwork, lapack_int const* liwork,
lapack_int* info );

#define LAPACK_zhedmd LAPACK_GLOBAL(zhedmd,ZHEDMD)
void LAPACK_zhedmd(
char const* jobs, char const* jobz, char const* jobf,
lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
lapack_complex_double* x, lapack_int const* ldx,
lapack_complex_double* y, lapack_int const* ldy, lapack_int const* k,
lapack_complex_double* reig, lapack_complex_double* imeig,
lapack_complex_double* z, lapack_int const* ldz, lapack_complex_double* res,
lapack_complex_double* b, lapack_int const* ldb,
lapack_complex_double* w, lapack_int const* ldw,
lapack_complex_double* s, lapack_int const* lds,
lapack_complex_double* work, lapack_int const* lwork,
lapack_int* iwork, lapack_int const* liwork,
lapack_int* info );

#define LAPACK_chedmdq LAPACK_GLOBAL(chedmdq,CHEDMDQ)
void LAPACK_chedmdq(
char const* jobs, char const* jobz, char const* jobr, char const* jobq,
char const* jobt, char const* jobf, lapack_int const* whtsvd,
lapack_int const* m, lapack_int const* n,
lapack_complex_float* f, lapack_int const* ldf,
lapack_complex_float* x, lapack_int const* ldx,
lapack_complex_float* y, lapack_int const* ldy, lapack_int const* nrnk,
float const* tol, lapack_int const* k,
lapack_complex_float* reig, lapack_complex_float* imeig,
lapack_complex_float* z, lapack_int const* ldz, lapack_complex_float* res,
lapack_complex_float* b, lapack_int const* ldb,
lapack_complex_float* v, lapack_int const* ldv,
lapack_complex_float* s, lapack_int const* lds,
lapack_complex_float* work, lapack_int const* lwork,
lapack_int* iwork, lapack_int const* liwork,
lapack_int* info );

#define LAPACK_dsydmdq LAPACK_GLOBAL(dsydmdq,DSYDMDQ)
void LAPACK_dsydmdq(
char const* jobs, char const* jobz, char const* jobr, char const* jobq,
char const* jobt, char const* jobf, lapack_int const* whtsvd,
lapack_int const* m, lapack_int const* n,
double* f, lapack_int const* ldf,
double* x, lapack_int const* ldx,
double* y, lapack_int const* ldy, lapack_int const* nrnk,
double const* tol, lapack_int const* k,
double* reig, double* imeig,
double* z, lapack_int const* ldz, double* res,
double* b, lapack_int const* ldb,
double* v, lapack_int const* ldv,
double* s, lapack_int const* lds,
double* work, lapack_int const* lwork,
lapack_int* iwork, lapack_int const* liwork,
lapack_int* info );

#define LAPACK_ssydmdq LAPACK_GLOBAL(ssydmdq,SSYDMDQ)
void LAPACK_ssydmdq(
char const* jobs, char const* jobz, char const* jobr, char const* jobq,
char const* jobt, char const* jobf, lapack_int const* whtsvd,
lapack_int const* m, lapack_int const* n,
float* f, lapack_int const* ldf,
float* x, lapack_int const* ldx,
float* y, lapack_int const* ldy, lapack_int const* nrnk,
float const* tol, lapack_int const* k,
float* reig, float* imeig,
float* z, lapack_int const* ldz, float* res,
float* b, lapack_int const* ldb,
float* v, lapack_int const* ldv,
float* s, lapack_int const* lds,
float* work, lapack_int const* lwork,
lapack_int* iwork, lapack_int const* liwork,
lapack_int* info );

#define LAPACK_zhedmdq LAPACK_GLOBAL(zhedmdq,ZHEDMDQ)
void LAPACK_zhedmdq(
char const* jobs, char const* jobz, char const* jobr, char const* jobq,
char const* jobt, char const* jobf, lapack_int const* whtsvd,
lapack_int const* m, lapack_int const* n,
lapack_complex_double* f, lapack_int const* ldf,
lapack_complex_double* x, lapack_int const* ldx,
lapack_complex_double* y, lapack_int const* ldy, lapack_int const* nrnk,
double const* tol, lapack_int const* k,
lapack_complex_double* reig, lapack_complex_double* imeig,
lapack_complex_double* z, lapack_int const* ldz, lapack_complex_double* res,
lapack_complex_double* b, lapack_int const* ldb,
lapack_complex_double* v, lapack_int const* ldv,
lapack_complex_double* s, lapack_int const* lds,
lapack_complex_double* work, lapack_int const* lwork,
lapack_int* iwork, lapack_int const* liwork,
lapack_int* info );

#define LAPACK_csyequb_base LAPACK_GLOBAL(csyequb,CSYEQUB)
void LAPACK_csyequb_base(
char const* uplo,
Expand Down
114 changes: 114 additions & 0 deletions LAPACKE/include/lapacke.h
Original file line number Diff line number Diff line change
Expand Up @@ -9387,6 +9387,120 @@ lapack_int LAPACKE_zsycon_work( int matrix_layout, char uplo, lapack_int n,
const lapack_int* ipiv, double anorm,
double* rcond, lapack_complex_double* work );

lapack_int LAPACKE_ssydmd_work( int matrix_layout, char jobs, char jobz,
char jobf, lapack_int whtsvd, lapack_int m,
lapack_int n, float* x, lapack_int ldx,
float* y, lapack_int ldy, lapack_int k,
float* reig, float* imeig, float* z,
lapack_int ldz, float* res, float* b,
lapack_int ldb, float* w, lapack_int ldw,
float* s, lapack_int lds, float* work,
lapack_int lwork, lapack_int* iwork,
lapack_int liwork );

lapack_int LAPACKE_dsydmd_work( int matrix_layout, char jobs, char jobz,
char jobf, lapack_int whtsvd, lapack_int m,
lapack_int n, double* x, lapack_int ldx,
double* y, lapack_int ldy, lapack_int k,
double* reig, double* imeig, double* z,
lapack_int ldz, double* res, double* b,
lapack_int ldb, double* w, lapack_int ldw,
double* s, lapack_int lds, double* work,
lapack_int lwork, lapack_int* iwork,
lapack_int liwork );

lapack_int LAPACKE_chedmd_work( int matrix_layout, char jobs, char jobz,
char jobf, lapack_int whtsvd, lapack_int m,
lapack_int n, lapack_complex_float* x,
lapack_int ldx, lapack_complex_float* y,
lapack_int ldy, lapack_int k,
lapack_complex_float* reig,
lapack_complex_float* imeig,
lapack_complex_float* z, lapack_int ldz,
lapack_complex_float* res,
lapack_complex_float* b, lapack_int ldb,
lapack_complex_float* w, lapack_int ldw,
lapack_complex_float* s, lapack_int lds,
lapack_complex_float* work, lapack_int lwork,
lapack_int* iwork, lapack_int liwork );

lapack_int LAPACKE_zhedmd_work( int matrix_layout, char jobs, char jobz,
char jobf, lapack_int whtsvd, lapack_int m,
lapack_int n, lapack_complex_double* x,
lapack_int ldx, lapack_complex_double* y,
lapack_int ldy, lapack_int k,
lapack_complex_double* reig,
lapack_complex_double* imeig,
lapack_complex_double* z, lapack_int ldz,
lapack_complex_double* res,
lapack_complex_double* b, lapack_int ldb,
lapack_complex_double* w, lapack_int ldw,
lapack_complex_double* s, lapack_int lds,
lapack_complex_double* work, lapack_int lwork,
lapack_int* iwork, lapack_int liwork );

lapack_int LAPACKE_ssydmdq_work( int matrix_layout, char jobs, char jobz,
char jobr, char jobq, char jobt, char jobf,
lapack_int whtsvd, lapack_int m, lapack_int n,
float* f, lapack_int ldf, float* x,
lapack_int ldx, float* y, lapack_int ldy,
lapack_int nrnk, float tol, lapack_int k,
float* reig, float* imeig, float* z,
lapack_int ldz, float* res, float* b,
lapack_int ldb, float* v, lapack_int ldv,
float* s, lapack_int lds, float* work,
lapack_int lwork, lapack_int* iwork,
lapack_int liwork );

lapack_int LAPACKE_dsydmdq_work( int matrix_layout, char jobs, char jobz,
char jobr, char jobq, char jobt, char jobf,
lapack_int whtsvd, lapack_int m, lapack_int n,
double* f, lapack_int ldf, double* x,
lapack_int ldx, double* y, lapack_int ldy,
lapack_int nrnk, double tol, lapack_int k,
double* reig, double* imeig, double* z,
lapack_int ldz, double* res, double* b,
lapack_int ldb, double* v, lapack_int ldv,
double* s, lapack_int lds, double* work,
lapack_int lwork, lapack_int* iwork,
lapack_int liwork );

lapack_int LAPACKE_chedmdq_work( int matrix_layout, char jobs, char jobz,
char jobr, char jobq, char jobt, char jobf,
lapack_int whtsvd, lapack_int m, lapack_int n,
lapack_complex_float* f, lapack_int ldf,
lapack_complex_float* x, lapack_int ldx,
lapack_complex_float* y, lapack_int ldy,
lapack_int nrnk, float tol, lapack_int k,
lapack_complex_float* reig,
lapack_complex_float* imeig,
lapack_complex_float* z, lapack_int ldz,
lapack_complex_float* res,
lapack_complex_float* b, lapack_int ldb,
lapack_complex_float* v, lapack_int ldv,
lapack_complex_float* s, lapack_int lds,
lapack_complex_float* work, lapack_int lwork,
lapack_int* iwork,
lapack_int liwork );

lapack_int LAPACKE_zhedmdq_work( int matrix_layout, char jobs, char jobz,
char jobr, char jobq, char jobt, char jobf,
lapack_int whtsvd, lapack_int m, lapack_int n,
lapack_complex_double* f, lapack_int ldf,
lapack_complex_double* x, lapack_int ldx,
lapack_complex_double* y, lapack_int ldy,
lapack_int nrnk, double tol, lapack_int k,
lapack_complex_double* reig,
lapack_complex_double* imeig,
lapack_complex_double* z, lapack_int ldz,
lapack_complex_double* res,
lapack_complex_double* b, lapack_int ldb,
lapack_complex_double* v, lapack_int ldv,
lapack_complex_double* s, lapack_int lds,
lapack_complex_double* work, lapack_int lwork,
lapack_int* iwork,
lapack_int liwork );

lapack_int LAPACKE_ssyequb_work( int matrix_layout, char uplo, lapack_int n,
const float* a, lapack_int lda, float* s,
float* scond, float* amax, float* work );
Expand Down
16 changes: 16 additions & 0 deletions LAPACKE/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,10 @@ lapacke_csycon_3.c
lapacke_csycon_3_work.c
lapacke_csyconv.c
lapacke_csyconv_work.c
lapacke_chedmd.c
lapacke_chedmd_work.c
lapacke_chedmdq.c
lapacke_chedmdq_work.c
lapacke_csyequb.c
lapacke_csyequb_work.c
lapacke_csyr.c
Expand Down Expand Up @@ -1051,6 +1055,10 @@ lapacke_dsycon_3.c
lapacke_dsycon_3_work.c
lapacke_dsyconv.c
lapacke_dsyconv_work.c
lapacke_dsydmd.c
lapacke_dsydmd_work.c
lapacke_dsydmdq.c
lapacke_dsydmdq_work.c
lapacke_dsyequb.c
lapacke_dsyequb_work.c
lapacke_dsyev.c
Expand Down Expand Up @@ -1632,6 +1640,10 @@ lapacke_ssycon_3.c
lapacke_ssycon_3_work.c
lapacke_ssyconv.c
lapacke_ssyconv_work.c
lapacke_ssydmd.c
lapacke_ssydmd_work.c
lapacke_ssydmdq.c
lapacke_ssydmdq_work.c
lapacke_ssyequb.c
lapacke_ssyequb_work.c
lapacke_ssyev.c
Expand Down Expand Up @@ -2240,6 +2252,10 @@ lapacke_zsycon_3.c
lapacke_zsycon_3_work.c
lapacke_zsyconv.c
lapacke_zsyconv_work.c
lapacke_zhedmd.c
lapacke_zhedmd_work.c
lapacke_zhedmdq.c
lapacke_zhedmdq_work.c
lapacke_zsyequb.c
lapacke_zsyequb_work.c
lapacke_zsyr.c
Expand Down
16 changes: 16 additions & 0 deletions LAPACKE/src/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,10 @@ lapacke_csycon_3.o \
lapacke_csycon_3_work.o \
lapacke_csyconv.o \
lapacke_csyconv_work.o \
lapacke_chedmd.o \
lapacke_chedmd_work.o \
lapacke_chedmdq.o \
lapacke_chedmdq_work.o \
lapacke_csyequb.o \
lapacke_csyequb_work.o \
lapacke_csyr.o \
Expand Down Expand Up @@ -1098,6 +1102,10 @@ lapacke_dsycon_3.o \
lapacke_dsycon_3_work.o \
lapacke_dsyconv.o \
lapacke_dsyconv_work.o \
lapacke_dsydmd.o \
lapacke_dsydmd_work.o \
lapacke_dsydmdq.o \
lapacke_dsydmdq_work.o \
lapacke_dsyequb.o \
lapacke_dsyequb_work.o \
lapacke_dsyev.o \
Expand Down Expand Up @@ -1674,6 +1682,10 @@ lapacke_ssycon_3.o \
lapacke_ssycon_3_work.o \
lapacke_ssyconv.o \
lapacke_ssyconv_work.o \
lapacke_ssydmd.o \
lapacke_ssydmd_work.o \
lapacke_ssydmdq.o \
lapacke_ssydmdq_work.o \
lapacke_ssyequb.o \
lapacke_ssyequb_work.o \
lapacke_ssyev.o \
Expand Down Expand Up @@ -2282,6 +2294,10 @@ lapacke_zsycon_3.o \
lapacke_zsycon_3_work.o \
lapacke_zsyconv.o \
lapacke_zsyconv_work.o \
lapacke_zhedmd.o \
lapacke_zhedmd_work.o \
lapacke_zhedmdq.o \
lapacke_zhedmdq_work.o \
lapacke_zsyequb.o \
lapacke_zsyequb_work.o \
lapacke_zsyr.o \
Expand Down
Loading