/* MCL Copyright (c) 2012-18, Enzo De Sena All rights reserved. Authors: Enzo De Sena, enzodesena@gmail.com */ #include "matrixop.h" #include "comparisonop.h" namespace mcl { Matrix RealPart(const Matrix& input) noexcept { Matrix output(input.num_rows(), input.num_columns()); for (Int i=0; i& input) { Eigen::MatrixXd output(input.num_rows(), input.num_columns()); for (Int i=0; i& matrix) { ASSERT(matrix.num_columns() == matrix.num_rows()); const Int N = matrix.num_columns(); EigOutput output; output.eigen_values = std::vector(N); output.eigen_vectors = std::vector >(N); // The following constructor triggers compute() Eigen::EigenSolver es(ConvertToEigen(matrix)); for (Int value_i=0; value_i eigen_vector(N); for (Int i=0; i