aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2017-10-27 07:27:46 +0000
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2017-10-27 07:27:46 +0000
commit39496151760dd99323149b30ecff5c05d9dda9fc (patch)
tree4bd104c4775a8dfcf8bc75d6da232f1074ae86f6 /unsupported/Eigen
parent11ddac57e5fb7ed8b377b58ca955689bb637afe2 (diff)
parent810b70ad091a2d67541d26582db2c838423730e4 (diff)
Merged in JonasMu/eigen (pull request PR-329)
Added an example for a contraction to a scalar value to README.md Approved-by: Jonas Harsch <jonas.harsch@gmail.com>
Diffstat (limited to 'unsupported/Eigen')
-rw-r--r--unsupported/Eigen/CXX11/src/Tensor/README.md13
1 files changed, 10 insertions, 3 deletions
diff --git a/unsupported/Eigen/CXX11/src/Tensor/README.md b/unsupported/Eigen/CXX11/src/Tensor/README.md
index 4423f81f7..30d553af7 100644
--- a/unsupported/Eigen/CXX11/src/Tensor/README.md
+++ b/unsupported/Eigen/CXX11/src/Tensor/README.md
@@ -1016,13 +1016,20 @@ multidimensional case.
a.setValues({{1, 2}, {4, 5}, {5, 6}});
// Compute the traditional matrix product
- array<IndexPair<int>, 1> product_dims = { IndexPair(1, 0) };
+ Eigen::array<Eigen::IndexPair<int>, 1> product_dims = { Eigen::IndexPair(1, 0) };
Eigen::Tensor<int, 2> AB = a.contract(b, product_dims);
// Compute the product of the transpose of the matrices
- array<IndexPair<int>, 1> transpose_product_dims = { IndexPair(0, 1) };
+ Eigen::array<Eigen::IndexPair<int>, 1> transpose_product_dims = { Eigen::IndexPair(0, 1) };
Eigen::Tensor<int, 2> AtBt = a.contract(b, transposed_product_dims);
-
+
+ // Contraction to scalar value using a ouble contraction
+ // First coordinate of both tensors are contracted as well as both second coordinates
+ Eigen::array<Eigen::IndexPair<int>, 2> double_contraction_product_dims = { Eigen::IndexPair<int>(0, 0), Eigen::IndexPair<int>(1, 1) };
+ Eigen::Tensor<int, 0> AdoubleontractedA = a.contract(a, double_contraction_product_dims);
+
+ // Extracting the scalar value of the tensor contraction for further usage
+ int value = AdoublecontractedA(0);
## Reduction Operations