15 template<
typename MatrixType>
void qr()
19 static const int Rows = MatrixType::RowsAtCompileTime,
Cols = MatrixType::ColsAtCompileTime;
22 Index rows = Rows ==
Dynamic ? internal::random<Index>(min_size,max_size) : Rows,
23 cols = Cols ==
Dynamic ? internal::random<Index>(min_size,max_size) :
Cols,
24 cols2 = Cols ==
Dynamic ? internal::random<Index>(min_size,max_size) : Cols,
44 for(
int i = 0; i < rows; i++) for(int j = 0; j < cols; j++) if(i>
j) r(
i,
j) =
Scalar(0);
54 check_solverbase<MatrixType, MatrixType>(
m1,
qr,
rows,
cols, cols2);
60 m1 = MatrixType::Random(size,size);
62 }
while(!qr.isInvertible());
64 m3 = m1 * MatrixType::Random(size,cols2);
79 Index size = internal::random<Index>(min_size,max_size);
82 m1 = MatrixType::Random(size,size);
88 m1 += a * a.adjoint();
100 for(
int i = 0; i < size; i++) m1(i,i) = internal::random<Scalar>();
101 RealScalar absdet =
abs(m1.diagonal().prod());
130 for(
int i = 0;
i < 1;
i++) {
const Solve< Derived, Rhs > solve(const MatrixBase< Rhs > &b) const
#define VERIFY_RAISES_ASSERT(a)
bool isInvertible() const
#define CALL_SUBTEST_6(FUNC)
#define CALL_SUBTEST_4(FUNC)
Householder rank-revealing QR decomposition of a matrix with full pivoting.
InverseReturnType inverse() const
const MatrixType & matrixQR() const
#define CALL_SUBTEST_3(FUNC)
#define CALL_SUBTEST_7(FUNC)
MatrixType::RealScalar logAbsDeterminant() const
#define STATIC_CHECK(COND)
bool isSurjective() const
EIGEN_DECLARE_TEST(qr_fullpivoting)
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T maxi(const T &x, const T &y)
EIGEN_DEVICE_FUNC const LogReturnType log() const
#define VERIFY_IS_APPROX(a, b)
MatrixQReturnType matrixQ(void) const
#define VERIFY_IS_EQUAL(a, b)
#define CALL_SUBTEST_1(FUNC)
ConstTransposeReturnType transpose() const
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
#define CALL_SUBTEST_8(FUNC)
EIGEN_DEVICE_FUNC const Scalar & q
NumTraits< Scalar >::Real RealScalar
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T mini(const T &x, const T &y)
const PermutationType & colsPermutation() const
#define CALL_SUBTEST_5(FUNC)
const Inverse< FullPivHouseholderQR > inverse() const
#define EIGEN_TEST_MAX_SIZE
#define VERIFY_IS_UNITARY(a)
void createRandomPIMatrixOfRank(Index desired_rank, Index rows, Index cols, MatrixType &m)
#define CALL_SUBTEST_2(FUNC)
internal::nested_eval< T, 1 >::type eval(const T &xpr)
MatrixType::RealScalar absDeterminant() const
The matrix class, also used for vectors and row-vectors.
AdjointReturnType adjoint() const
Index dimensionOfKernel() const