Có một cách dễ dàng để đánh giá cột khôn ngoan chấm sản phẩm của 2 ma trận (cho phép gọi cho họ A
và B
, kiểu Eigen::MatrixXd
) có kích thước mxn
, mà không đánh giá A*B
hay mà không cần phải khu nghỉ mát để for
vòng? Vector kết quả sẽ cần phải có kích thước của 1xn
hoặc nx1
. Ngoài ra, tôi đang cố gắng làm điều này với Eigen trong C++Cột-khôn ngoan dot sản phẩm trong Eigen C++
6
A
Trả lời
0
Dưới đây là cách tôi làm điều đó với một số Eigen::Map
(giả định ma trận thực, có thể mở rộng đến phức tạp thông qua việc bổ sung), trong đó rows
và cols
biểu thị số hàng/cột:
#include <Eigen/Dense>
#include <iostream>
int main()
{
Eigen::MatrixXd A(2, 2);
Eigen::MatrixXd B(2, 2);
A << 1, 2, 3, 4;
B << 5, 6, 7, 8;
int rows = 2, cols = 2;
Eigen::VectorXd vA = Eigen::Map<Eigen::VectorXd>(
const_cast<double *>(A.data()), rows * cols, 1);
Eigen::VectorXd vB = Eigen::Map<Eigen::VectorXd>(
const_cast<double *>(B.data()), rows * cols, 1);
double inner_prod = (vA.transpose() * vB).sum();
std::cout << inner_prod << std::endl;
}
5
có rất nhiều cách để đạt được điều này, tất cả các đánh giá lười biếng thực hiện:
res = (A.array() * B.array()).colwise().sum();
res = (A.cwiseProduct(B)).colwise().sum();
Và yêu thích của tôi:
res = (A.transpose() * B).diagonal();
Các vấn đề liên quan
- 1. Sản phẩm CUDA Dot
- 2. Ma trận chéo sản phẩm trong Eigen
- 3. NumPy nhân ma trận với tùy chỉnh dot sản phẩm
- 4. Suy luận kiểu Eigen và C++ 11 không cho Cholesky của sản phẩm ma trận
- 5. sản phẩm Dot giữa vectơ hàng bởi MMULT không làm việc trong Excel
- 6. Nhận id sản phẩm và loại sản phẩm trong Magento?
- 7. Sản phẩm Dot trên 8086 và bộ vi xử lý DSP
- 8. Sản phẩm Cartesian Ruby
- 9. Lấy tên sản phẩm từ tập tin msi trong C#
- 10. Sản phẩm plugin VS Sản phẩm tính năng
- 11. Woocommerce Hiển thị Sản phẩm Với Hình ảnh Sản phẩm
- 12. Sản phẩm ngoài trong tensorflow
- 13. XText trong sản phẩm RCP
- 14. sản phẩm Descartes trong MATLAB
- 15. Woocommerce lấy Id sản phẩm bằng SKU sản phẩm
- 16. Sản phẩm Dot của một vector trong SciPy/NumPy (nhận ValueError: đối tượng không được căn chỉnh)
- 17. Magento sản phẩm phẳng
- 18. C++ sử dụng Eigen trong tensorflow
- 19. Lấy sản phẩm đơn giản thuộc sản phẩm cấu hình SAU sản phẩm cấu hình tiết kiệm
- 20. Sản phẩm thực thi của xcode cho dự án C++
- 21. giá trị sản phẩm Set mặc định khi thêm sản phẩm mới trong Magento 1,7
- 22. Tìm kiếm sản phẩm theo tên trong magento và nhận mảng sản phẩm
- 23. Woocommerce - Nhận SKU trong trang sản phẩm
- 24. Sản phẩm cartesian lười biếng trong Haskell
- 25. In trong dòng sản phẩm mới, java
- 26. Outer sản phẩm/tensor trong R
- 27. Sản phẩm thưa thớt trong SQL
- 28. Sản phẩm Descartes trong Đề án
- 29. Sản phẩm Magento theo loại
- 30. Danh mục sản phẩm Magento
Nhân tố khôn ngoan nhân, sau đó tính tổng? Trong MATLAB nó sẽ là 'tổng (A. * B)'. Eigen cung cấp các hoạt động đó, nhưng tôi không biết chính xác tên của các cuộc gọi. –
đẹp nhất! Cần làm việc. Cảm ơn! – Zedd
Có thể sử dụng "Eigen :: Map" để định hình lại ma trận thành vec-tơ, sau đó lấy sản phẩm bên trong của chúng. – vsoftco