jacobian

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 66bbf706bfc63e9c4ebe4ae16d66b1c3c967eb79
parent 67393ec4b94378dac2c8ae450c5309227f285dae
Author: David Freifeld <freifeld.david@gmail.com>
Date:   Sat,  4 Jul 2020 15:48:11 -0700

Continued problems w/ strassen

Diffstat:
Mtests/strassen.cpp | 4+++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/strassen.cpp b/tests/strassen.cpp @@ -29,7 +29,7 @@ Eigen::MatrixXd strassen_mul(Eigen::MatrixXd x, Eigen::MatrixXd y) b.block(0,0,y.rows(), y.cols()) = y; //Eigen::MatrixXd a () int block_len = largest/2; - Eigen::MatrixXd result (a.rows(), a.cols()); + Eigen::MatrixXd result ((int)pow(2,power), (int)pow(2,power)); Eigen::MatrixXd m1 = ((a.block(0,0, block_len, block_len)) + a.block(a.rows()-block_len,a.cols()-block_len, block_len, block_len)) * (b.block(0,0, block_len, block_len) + b.block(b.rows()-block_len,b.cols()-block_len, block_len, block_len)); Eigen::MatrixXd m2 = (a.block(a.rows()-block_len, 0, block_len, block_len) + a.block(a.rows()-block_len,a.cols()-block_len, block_len, block_len)) * (b.block(0,0, block_len, block_len)); @@ -39,6 +39,8 @@ Eigen::MatrixXd strassen_mul(Eigen::MatrixXd x, Eigen::MatrixXd y) Eigen::MatrixXd m6 = (a.block(a.rows()-block_len,0, block_len, block_len) - a.block(0,0, block_len, block_len)) * (b.block(0,0, block_len, block_len) + b.block(0,b.cols()-block_len, block_len, block_len)); Eigen::MatrixXd m7 = (a.block(0,a.cols()-block_len, block_len, block_len) - a.block(a.rows()-block_len,a.cols()-block_len, block_len, block_len)) * (b.block(a.rows()-block_len,0, block_len, block_len) + b.block(b.rows()-block_len,b.cols()-block_len, block_len, block_len)); + + std::cout << m1 + m4 - m5 + m7 << "\n\n" << m3+m5 << "\n\n" << m2+m4 << "\n\n" << m1-m2+m3+m6; result.block(0,0, block_len, block_len) = m1 + m4 - m5 + m7; result.block(0,result.cols()-block_len, block_len, block_len) = m3 + m5;