|
Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
|
Functions | |
| void | dgels_ (const char *trans, const int *m, const int *n, const int *nrhs, double *a, const int *lda, double *b, const int *ldb, double *work, const int *lwork, int *info) |
| void | dgesvd_ (const char *jobu, const char *jobvt, const int *m, const int *n, double *a, const int *lda, double *s, double *u, const int *ldu, double *vt, const int *ldvt, double *work, const int *lwork, int *info) |
| void | dsygv_ (const int *itype, const char *jobz, const char *uplo, const int *n, double *a, const int *lda, double *b, const int *ldb, double *w, double *work, const int *lwork, int *info) |
| void | dsytrf_ (const char *uplo, const int *n, double *a, const int *lda, int *ipiv, double *work, const int *lwork, int *info) |
| void | dsytri_ (const char *uplo, const int *n, double *a, const int *lda, const int *ipiv, double *work, int *info) |
| void | zgeqp3_ (const int *m, const int *n, std::complex< double > *a, const int *lda, int *jpvt, std::complex< double > *tau, std::complex< double > *work, const int *lwork, double *rwork, int *info) |
| void | zgesvd_ (const char *jobu, const char *jobvt, const int *m, const int *n, std::complex< double > *a, const int *lda, double *s, std::complex< double > *u, const int *ldu, std::complex< double > *vt, const int *ldvt, std::complex< double > *work, const int *lwork, double *rwork, int *info) |
| void | zgetrf_ (const int *m, const int *n, std::complex< double > *a, const int *lda, int *ipiv, int *info) |
| void | zgetri_ (const int *n, std::complex< double > *a, const int *lda, const int *ipiv, std::complex< double > *work, const int *lwork, int *info) |
| void | zheev_ (const char *jobz, const char *uplo, const int *n, std::complex< double > *a, const int *lda, double *w, std::complex< double > *work, const int *lwork, double *rwork, int *info) |
| void | zhegv_ (const int *itype, const char *jobz, const char *uplo, const int *n, std::complex< double > *a, const int *lda, std::complex< double > *b, const int *ldb, double *w, std::complex< double > *work, const int *lwork, double *rwork, int *info) |
Centralized LAPACK declarations for the Q3 codebase.
All LAPACK extern "C" function declarations are collected here to avoid duplication across translation units. Each routine links against the system LAPACK library (e.g., macOS Accelerate or a linked LAPACK build).
Routines included:
| void q3::lapack::dgels_ | ( | const char * | trans, |
| const int * | m, | ||
| const int * | n, | ||
| const int * | nrhs, | ||
| double * | a, | ||
| const int * | lda, | ||
| double * | b, | ||
| const int * | ldb, | ||
| double * | work, | ||
| const int * | lwork, | ||
| int * | info | ||
| ) |
DGELS: Real least-squares solver. Solves overdetermined or underdetermined real linear systems using QR or LQ factorization of A.
Referenced by q3::AndersonMixer::mix_one_component().
| void q3::lapack::dgesvd_ | ( | const char * | jobu, |
| const char * | jobvt, | ||
| const int * | m, | ||
| const int * | n, | ||
| double * | a, | ||
| const int * | lda, | ||
| double * | s, | ||
| double * | u, | ||
| const int * | ldu, | ||
| double * | vt, | ||
| const int * | ldvt, | ||
| double * | work, | ||
| const int * | lwork, | ||
| int * | info | ||
| ) |
DGESVD: Real singular value decomposition. Computes the singular value decomposition A = U * Sigma * V**T of a real M-by-N matrix A, optionally computing the left and/or right singular vectors.
| void q3::lapack::dsygv_ | ( | const int * | itype, |
| const char * | jobz, | ||
| const char * | uplo, | ||
| const int * | n, | ||
| double * | a, | ||
| const int * | lda, | ||
| double * | b, | ||
| const int * | ldb, | ||
| double * | w, | ||
| double * | work, | ||
| const int * | lwork, | ||
| int * | info | ||
| ) |
DSYGV: Real symmetric eigensolver (generalized eigenproblem). Solves A * v = lambda * B * v for symmetric A and positive-definite B.
Referenced by q3::NormConservingPlanewaveWavefunctionInitializer::rotate_wavefunctions(), and q3::SerialSubspaceDiagonalizer::solve().
| void q3::lapack::dsytrf_ | ( | const char * | uplo, |
| const int * | n, | ||
| double * | a, | ||
| const int * | lda, | ||
| int * | ipiv, | ||
| double * | work, | ||
| const int * | lwork, | ||
| int * | info | ||
| ) |
DSYTRF: Real symmetric matrix factorization (Bunch-Kaufman). Computes the factorization of a real symmetric matrix using the Bunch-Kaufman diagonal pivoting method.
Referenced by q3::BroydenMixer::mix_in_reciprocal_space().
| void q3::lapack::dsytri_ | ( | const char * | uplo, |
| const int * | n, | ||
| double * | a, | ||
| const int * | lda, | ||
| const int * | ipiv, | ||
| double * | work, | ||
| int * | info | ||
| ) |
DSYTRI: Real symmetric matrix inverse from DSYTRF factors. Computes the inverse of a real symmetric matrix from the Bunch-Kaufman factorization computed by DSYTRF.
Referenced by q3::BroydenMixer::mix_in_reciprocal_space().
| void q3::lapack::zgeqp3_ | ( | const int * | m, |
| const int * | n, | ||
| std::complex< double > * | a, | ||
| const int * | lda, | ||
| int * | jpvt, | ||
| std::complex< double > * | tau, | ||
| std::complex< double > * | work, | ||
| const int * | lwork, | ||
| double * | rwork, | ||
| int * | info | ||
| ) |
ZGEQP3: Complex QR factorization with column pivoting. Computes a QR factorization with column pivoting of a complex M-by-N matrix A: A * P = Q * R, using Level 3 BLAS.
| void q3::lapack::zgesvd_ | ( | const char * | jobu, |
| const char * | jobvt, | ||
| const int * | m, | ||
| const int * | n, | ||
| std::complex< double > * | a, | ||
| const int * | lda, | ||
| double * | s, | ||
| std::complex< double > * | u, | ||
| const int * | ldu, | ||
| std::complex< double > * | vt, | ||
| const int * | ldvt, | ||
| std::complex< double > * | work, | ||
| const int * | lwork, | ||
| double * | rwork, | ||
| int * | info | ||
| ) |
ZGESVD: Complex singular value decomposition. Computes the singular value decomposition A = U * Sigma * V**H of a complex M-by-N matrix A, optionally computing the left and/or right singular vectors.
Referenced by q3::SingularValueDecomposition::compute().
| void q3::lapack::zgetrf_ | ( | const int * | m, |
| const int * | n, | ||
| std::complex< double > * | a, | ||
| const int * | lda, | ||
| int * | ipiv, | ||
| int * | info | ||
| ) |
ZGETRF: Complex general matrix LU factorization. Computes an LU factorization of a general M-by-N complex matrix A using partial pivoting with row interchanges: A = P * L * U.
| void q3::lapack::zgetri_ | ( | const int * | n, |
| std::complex< double > * | a, | ||
| const int * | lda, | ||
| const int * | ipiv, | ||
| std::complex< double > * | work, | ||
| const int * | lwork, | ||
| int * | info | ||
| ) |
ZGETRI: Complex general matrix inverse from ZGETRF factors. Computes the inverse of a complex matrix using the LU factorization computed by ZGETRF.
| void q3::lapack::zheev_ | ( | const char * | jobz, |
| const char * | uplo, | ||
| const int * | n, | ||
| std::complex< double > * | a, | ||
| const int * | lda, | ||
| double * | w, | ||
| std::complex< double > * | work, | ||
| const int * | lwork, | ||
| double * | rwork, | ||
| int * | info | ||
| ) |
ZHEEV: Complex Hermitian eigensolver (standard eigenproblem). Computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A: A * v = lambda * v.
Referenced by q3::apply_hubbard_starting_eigenvalue(), q3::compute_lowdin_transform(), and q3::HermitianEigensolver::solve().
| void q3::lapack::zhegv_ | ( | const int * | itype, |
| const char * | jobz, | ||
| const char * | uplo, | ||
| const int * | n, | ||
| std::complex< double > * | a, | ||
| const int * | lda, | ||
| std::complex< double > * | b, | ||
| const int * | ldb, | ||
| double * | w, | ||
| std::complex< double > * | work, | ||
| const int * | lwork, | ||
| double * | rwork, | ||
| int * | info | ||
| ) |
ZHEGV: Complex Hermitian eigensolver (generalized eigenproblem). Solves A * v = lambda * B * v for Hermitian A and positive-definite B.
Referenced by q3::NormConservingPlanewaveWavefunctionInitializer::rotate_wavefunctions(), and q3::SerialSubspaceDiagonalizer::solve().