inline void hermitivitize(Eigen::MatrixBase<Derived> & matrix_) { // We need to use adjoint().eval() to avoid aliasing issues, see: // http://eigen.tuxfamily.org/dox/group__TopicAliasing.html // The adjoint is evaluated explicitly into an intermediate. matrix_ = 0.5 * (matrix_ + matrix_.adjoint().eval()); }