76 for (
int r=0; r<orig.
numRows(); r++)
83 for (
int r=0; r<orig.
numRows(); r++)
91 int numrows = orig.rows();
92 int numcols = orig.cols();
93 result.resize(numrows, numcols);
94 for (
int r=0; r<numrows; r++)
95 for (
int c=0; c<numcols; c++)
101 int numrows = orig.rows();
102 int numcols = orig.cols();
103 result.resize(numrows, numcols);
104 for (
int r=0; r<numrows; r++)
105 for (
int c=0; c<numcols; c++)
125 Eigen::JacobiSVD<MatrixXmpRR> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
127 auto& eigenU = svd.matrixU();
128 auto& eigenVT = svd.matrixV().adjoint();
129 auto& eigenSigma = svd.singularValues();
147 Eigen::JacobiSVD<MatrixXmpCC> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
165 Eigen::BDCSVD<MatrixXmpRR> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
183 Eigen::BDCSVD<MatrixXmpCC> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
196 Eigen::EigenSolver<MatrixXmpRR> es(AXmp,
false);
206 Eigen::ComplexEigenSolver<MatrixXmpCC> ces(AXmp,
false);
216 Eigen::SelfAdjointEigenSolver<MatrixXmpRR> es(AXmp,
false);
226 Eigen::SelfAdjointEigenSolver<MatrixXmpCC> es(AXmp,
false);
236 Eigen::EigenSolver<MatrixXmpRR> es(AXmp);
247 Eigen::ComplexEigenSolver<MatrixXmpCC> ces(AXmp);
258 Eigen::SelfAdjointEigenSolver<MatrixXmpRR> es(AXmp);
269 Eigen::SelfAdjointEigenSolver<MatrixXmpCC> es(AXmp);
286 Eigen::BDCSVD<MatrixXmpRR> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
303 Eigen::BDCSVD<MatrixXmpCC> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
315 for (
int r=0; r<orig.
numRows(); r++)
322 for (
int r=0; r<orig.
numRows(); r++)
329 int numrows = orig.rows();
330 int numcols = orig.cols();
331 result.resize(numrows, numcols);
332 for (
int r=0; r<numrows; r++)
333 for (
int c=0; c<numcols; c++)
334 result.ring().set(
result.entry(r,c), * orig(r,c).mpfr_srcptr());
339 int numrows = orig.rows();
340 int numcols = orig.cols();
341 result.resize(numrows, numcols);
342 for (
int r=0; r<numrows; r++)
343 for (
int c=0; c<numcols; c++)
345 orig(r,c).real().mpfr_srcptr(),
346 orig(r,c).imag().mpfr_srcptr());
355 auto old_prec = Real::get_default_prec();
362 Eigen::JacobiSVD<MatrixXmpRRR> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
364 auto& eigenU = svd.matrixU();
365 auto& eigenVT = svd.matrixV().adjoint();
366 auto& eigenSigma = svd.singularValues();
372 Real::set_default_prec(old_prec);
382 auto old_prec = Real::get_default_prec();
388 Eigen::JacobiSVD<MatrixXmpCCC> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
394 Real::set_default_prec(old_prec);
404 auto old_prec = Real::get_default_prec();
410 Eigen::BDCSVD<MatrixXmpRRR> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
416 Real::set_default_prec(old_prec);
426 auto old_prec = Real::get_default_prec();
432 Eigen::BDCSVD<MatrixXmpCCC> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
438 Real::set_default_prec(old_prec);
443 auto old_prec = Real::get_default_prec();
449 Eigen::EigenSolver<MatrixXmpRRR> es(AXmp,
false);
452 Real::set_default_prec(old_prec);
457 auto old_prec = Real::get_default_prec();
463 Eigen::ComplexEigenSolver<MatrixXmpCCC> ces(AXmp,
false);
466 Real::set_default_prec(old_prec);
471 auto old_prec = Real::get_default_prec();
477 Eigen::SelfAdjointEigenSolver<MatrixXmpRRR> es(AXmp,
false);
480 Real::set_default_prec(old_prec);
485 auto old_prec = Real::get_default_prec();
491 Eigen::SelfAdjointEigenSolver<MatrixXmpCCC> es(AXmp,
false);
494 Real::set_default_prec(old_prec);
499 auto old_prec = Real::get_default_prec();
505 Eigen::EigenSolver<MatrixXmpRRR> es(AXmp);
509 Real::set_default_prec(old_prec);
514 auto old_prec = Real::get_default_prec();
520 Eigen::ComplexEigenSolver<MatrixXmpCCC> ces(AXmp);
524 Real::set_default_prec(old_prec);
529 auto old_prec = Real::get_default_prec();
535 Eigen::SelfAdjointEigenSolver<MatrixXmpRRR> es(AXmp);
539 Real::set_default_prec(old_prec);
544 auto old_prec = Real::get_default_prec();
550 Eigen::SelfAdjointEigenSolver<MatrixXmpCCC> es(AXmp);
554 Real::set_default_prec(old_prec);
563 auto old_prec = Real::get_default_prec();
571 Eigen::BDCSVD<MatrixXmpRRR> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
575 Real::set_default_prec(old_prec);
584 auto old_prec = Real::get_default_prec();
592 Eigen::BDCSVD<MatrixXmpCCC> svd(AXmp, Eigen::ComputeThinU | Eigen::ComputeThinV);
596 Real::set_default_prec(old_prec);