Skip to content

Commit 1a13d1c

Browse files
committed
fix eigen compilation issues
1 parent 0a84e4f commit 1a13d1c

2 files changed

Lines changed: 7 additions & 10 deletions

File tree

mlir/lib/Dialect/MQTOpt/Transforms/GateDecompositionPattern.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
#include <array>
1717
#include <cmath>
1818
#include <cstddef>
19-
#include <eigen3/unsupported/Eigen/CXX11/Tensor>
20-
#include <eigen3/unsupported/Eigen/MatrixFunctions>
19+
#include <format>
2120
#include <llvm/ADT/STLExtras.h>
2221
#include <mlir/IR/MLIRContext.h>
2322
#include <mlir/IR/Operation.h>
@@ -27,6 +26,7 @@
2726
#include <mlir/Support/LogicalResult.h>
2827
#include <numbers>
2928
#include <string>
29+
#include <unsupported/Eigen/MatrixFunctions>
3030
#include <utility>
3131

3232
namespace mqt::ir::opt {
@@ -1024,7 +1024,7 @@ struct GateDecompositionPattern final
10241024
auto tmp = remEuclid(x, qc::PI_2);
10251025
return std::min(tmp, qc::PI_2 - tmp);
10261026
});
1027-
std::array<int, cstemp.size()> order{
1027+
std::array<int, 3> order{
10281028
0, 1, 2}; // TODO: needs to be adjusted depending on eigenvector
10291029
// order in eigen decomposition algorithm?
10301030
llvm::stable_sort(order,

mlir/lib/Dialect/MQTOpt/Transforms/Helpers.h

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
#include "mlir/Dialect/MQTOpt/IR/MQTOptDialect.h"
1515

1616
#include <algorithm>
17-
#include <eigen3/Eigen/Core>
18-
#include <eigen3/Eigen/Eigenvalues>
19-
#include <eigen3/unsupported/Eigen/KroneckerProduct> // TODO: unstable
17+
#include <Eigen/Core>
18+
#include <Eigen/Eigenvalues>
19+
#include <unsupported/Eigen/KroneckerProduct> // TODO: unstable
2020
#include <iomanip> // TODO: remove
2121
#include <iostream> // TODO: remove
2222
#include <mlir/Dialect/Arith/IR/Arith.h>
@@ -207,10 +207,7 @@ getParameters(UnitaryInterface op) {
207207
template <typename T>
208208
inline Eigen::Matrix4<T> kroneckerProduct(const Eigen::Matrix2<T>& lhs,
209209
const Eigen::Matrix2<T>& rhs) {
210-
Eigen::Matrix4<T> result;
211-
Eigen::KroneckerProduct kroneckerProduct{lhs, rhs};
212-
kroneckerProduct.evalTo(result);
213-
return result;
210+
return Eigen::kroneckerProduct(lhs, rhs);
214211
}
215212

216213
template <typename T, int N, int M>

0 commit comments

Comments
 (0)