33 ResSX ge_sx, ge_sx_save;
34 ResXS ge_xs, ge_xs_save;
36 Scalar s1 = internal::random<Scalar>(), s2 = internal::random<Scalar>();
39 tri =
mat.template triangularView<Mode>();
41 s1tri = (s1 *
mat).
template triangularView<Mode>();
42 s1triTr = (s1 *
mat).
transpose().template triangularView<Mode>();
54 ge_xs.noalias() = (s1 *
mat.
adjoint()).template triangularView<Mode>() * (s2 * ge_left.transpose()),
55 s1 * triTr.conjugate() * (s2 * ge_left.transpose()));
58 ge_xs.noalias() = (s1 *
mat.
transpose()).template triangularView<Mode>() * (s2 * ge_left.transpose()),
59 s1triTr * (s2 * ge_left.transpose()));
60 VERIFY_IS_APPROX(ge_sx.noalias() = (s2 * ge_left) * (s1 *
mat).template triangularView<Mode>(),
61 (s2 * ge_left) * s1tri);
64 ge_right.transpose() * triTr.conjugate());
66 ge_right.adjoint() * triTr.conjugate());
71 (ge_xs_save + s1 * triTr.conjugate() * (s2 * ge_left.adjoint())).eval(),
72 ge_xs.noalias() += (s1 *
mat.
adjoint()).template triangularView<Mode>() * (s2 * ge_left.adjoint()));
75 (ge_xs_save + s1triTr * (s2 * ge_left.adjoint())).eval(),
76 ge_xs.noalias() += (s1 *
mat.
transpose()).template triangularView<Mode>() * (s2 * ge_left.adjoint()));
81 ge_sx_save - (ge_right.adjoint() * (-s1 * triTr).conjugate()).eval(),
82 ge_sx.noalias() -= (ge_right.adjoint() * (-s1 *
mat).adjoint().template triangularView<Mode>()).eval());
86 numext::conj(s1) * triTr.conjugate() * ge_left.adjoint());
88 s1triTr * ge_left.adjoint());
97 MatrixX buffer(2 * ge_xs.rows(), 2 * ge_xs.cols());
AnnoyingScalar conj(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:133
Eigen::SparseMatrix< double > mat
Definition: EigenUnitTest.cpp:10
Tridiagonalization< MatrixXf > tri
Definition: Tridiagonalization_compute.cpp:1
void adjoint(const MatrixType &m)
Definition: adjoint.cpp:85
SCALAR Scalar
Definition: bench_gemm.cpp:45
A matrix or vector expression mapping an existing array of data.
Definition: Map.h:96
The matrix class, also used for vectors and row-vectors.
Definition: Eigen/Eigen/src/Core/Matrix.h:186
TransposeReturnType transpose()
Definition: SparseMatrixBase.h:358
const AdjointReturnType adjoint() const
Definition: SparseMatrixBase.h:360
Holds strides information for Map.
Definition: Stride.h:55
@ UnitDiag
Definition: Constants.h:215
@ OnTheLeft
Definition: Constants.h:331
@ OnTheRight
Definition: Constants.h:333
#define VERIFY_IS_APPROX(a, b)
Definition: integer_types.cpp:13
void transpose()
Definition: skew_symmetric_matrix3.cpp:135