19 extern "C" void cgels_(
char* trans,
int* m,
int* n,
int* nrhs,
complex* a,
21 int* lwork,
int* info);
36 if (
m_ <
n_)
return false;
39 int ldb = std::max(
m_,
n_);
43 cgels_(&trans, &
m_, &
n_, &
nrhs_, a, &
m_, b, &ldb, &wkopt, &lwork, &info);
44 _work.resize((
int)wkopt.real());
46 int lwork = _work.size();
47 cgels_(&trans, &
m_, &
n_, &
nrhs_, a, &
m_, b, &ldb, _work.data(), &lwork,
54 std::vector<complex> _work;
Definition: LLSSolver.h:25
int m_
Definition: LLSSolver.h:44
int n_
Definition: LLSSolver.h:45
int nrhs_
Definition: LLSSolver.h:46
std::complex< float > complex
Definition: LLSSolver.h:27
Definition: QRSolver.h:23
bool Solve(complex *a, complex *b) override
Definition: QRSolver.h:35
QRSolver(int m, int n, int nrhs)
Definition: QRSolver.h:25
std::complex< float > complex
Definition: QRSolver.h:16
void cgels_(char *trans, int *m, int *n, int *nrhs, complex *a, int *lda, complex *b, int *ldb, complex *work, int *lwork, int *info)
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53