45 RealScalar largerEps = 10 * test_precision<RealScalar>();
59 VERIFY(m1up.isUpperTriangular());
60 VERIFY(m2up.transpose().isLowerTriangular());
69 r1.template triangularView<Upper>() +=
m1;
75 m1.template triangularView<Upper>() =
m2.transpose() +
m2;
76 m3 =
m2.transpose() +
m2;
81 m1.template triangularView<Lower>() =
m2.transpose() +
m2;
84 VERIFY_IS_APPROX(m3.template triangularView<Lower>().conjugate().toDenseMatrix(),
85 m3.conjugate().template triangularView<Lower>().toDenseMatrix());
93 m3 =
m1.template triangularView<Upper>();
94 v3 = m3.adjoint() * (
m1.adjoint().template triangularView<Lower>().solve(
v2));
96 m3 =
m1.template triangularView<Lower>();
97 v3 = m3.transpose() * (
m1.transpose().template triangularView<Upper>().solve(
v2));
99 m3 =
m1.template triangularView<Upper>();
100 v3 = m3 * (
m1.template triangularView<Upper>().solve(
v2));
102 m3 =
m1.template triangularView<Lower>();
103 v3 = m3.conjugate() * (
m1.conjugate().template triangularView<Lower>().solve(
v2));
107 m3 =
m1.template triangularView<Upper>();
108 m4 = m3.adjoint() * (
m1.adjoint().template triangularView<Lower>().solve(
m2));
110 m3 =
m1.template triangularView<Lower>();
111 m4 = m3.transpose() * (
m1.transpose().template triangularView<Upper>().solve(
m2));
113 m3 =
m1.template triangularView<Upper>();
114 m4 = m3 * (
m1.template triangularView<Upper>().solve(
m2));
116 m3 =
m1.template triangularView<Lower>();
117 m4 = m3.conjugate() * (
m1.conjugate().template triangularView<Lower>().solve(
m2));
122 m1.transpose().template triangularView<Eigen::Upper>().solveInPlace(trm4);
126 m3 =
m1.template triangularView<Upper>();
128 m3.transpose().template triangularView<Eigen::Lower>().solveInPlace(trm4);
132 m3 =
m1.template triangularView<UnitUpper>();
133 VERIFY(
m2.isApprox(m3 * (
m1.template triangularView<UnitUpper>().solve(
m2)), largerEps));
141 m2.template triangularView<Upper>().swap(
m1.template triangularView<Eigen::Upper>());
143 m3.template triangularView<Upper>().setOnes();
147 m3 =
m1.template triangularView<Upper>();
155 m1up =
m1.template triangularView<Upper>();
156 VERIFY_IS_APPROX(
m1.template selfadjointView<Upper>().template triangularView<Upper>().toDenseMatrix(), m1up);
157 VERIFY_IS_APPROX(m1up.template selfadjointView<Upper>().template triangularView<Upper>().toDenseMatrix(), m1up);
158 VERIFY_IS_APPROX(
m1.template selfadjointView<Upper>().template triangularView<Lower>().toDenseMatrix(),
160 VERIFY_IS_APPROX(m1up.template selfadjointView<Upper>().template triangularView<Lower>().toDenseMatrix(),
168 m3.template triangularView<Lower>().template conjugateIf<false>()));
170 m3.template triangularView<Lower>().template conjugateIf<true>()));
171 VERIFY_IS_APPROX(m3.template triangularView<Lower>().template conjugateIf<true>().toDenseMatrix(),
172 m3.conjugate().template triangularView<Lower>().toDenseMatrix());
173 VERIFY_IS_APPROX(m3.template triangularView<Lower>().template conjugateIf<false>().toDenseMatrix(),
174 m3.template triangularView<Lower>().toDenseMatrix());
177 m3.template selfadjointView<Lower>().template conjugateIf<false>()));
179 m3.template selfadjointView<Lower>().template conjugateIf<true>()));
180 VERIFY_IS_APPROX(m3.template selfadjointView<Lower>().template conjugateIf<true>().toDenseMatrix(),
181 m3.conjugate().template selfadjointView<Lower>().toDenseMatrix());
182 VERIFY_IS_APPROX(m3.template selfadjointView<Lower>().template conjugateIf<false>().toDenseMatrix(),
183 m3.template selfadjointView<Lower>().toDenseMatrix());
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Map< RowVectorXf > v2(M2.data(), M2.size())
Expression of the transpose of a matrix.
Definition: Transpose.h:56
EIGEN_DEVICE_FUNC bool abs2(bool x)
Definition: MathFunctions.h:1102
std::enable_if_t< internal::is_same< T1, T2 >::value, bool > is_same_type(const T1 &, const T2 &)
Definition: main.h:407
double Zero
Definition: pseudosolid_node_update_elements.cc:35
Definition: fft_test_shared.h:66