{"push_id":2765353248,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a7897fb0ac9cc4dec93902c1e7181bbb5e0cd0e3","before":"114971133256196af07ebfc7e5ae4ebf7c01eab6","commits":[{"sha":"a7897fb0ac9cc4dec93902c1e7181bbb5e0cd0e3","author":{"name":"Steven Simin Ma","email":"40d55dfef2028704e1a57bf98351883b8e904351@wfu.edu"},"message":"1. /planc/common/utils.h\n   line 11, add algotype{..., R2_NMF}\n2. /planc/openmp/nmf.cpp\n   line 201, add case R2_NMF: dense (copied from above format) (sparse case will add later)\n   NMFDriver<R2NMF<..> >\n3. /planc/openmp/\n   add r2.hpp as another nnls solver when k=2, follow the format as mu, bpp and hals\n   line 7, add #include\"r2.hpp\" at the top of nmf.cpp\n4. able to print out simple cout when type --algo3, problem was when adding sparse, cmake is not able to compile\n   add r2 solver into r2.hpp\n5. Adding more things to r2.hpp, ex: initiate matrices and matrix multiplication.\n   Correctly allocated matrix and does all the matrix multiply.\n   NOTE: Here, H is nxk, so the problem is now ||A-WHt|| (everytime we see H, H is nxk, in this code)\n6. Now, the math part. First off, doing NNLS at the first step with no matlab backslash.\n   NOTE: in /.../planc/common/NMF.hpp, it initialize W,H (class NMF)\n   Secondly, find negative columns and fix them, using arma library functions.\n   NOTE: in c++, indexing start from 0.\n7. add all the solving part to a private function: R2Solve(...)\n8. Fixed computing relative error part (see ERROR Fixed)\n   Now, able to call R2 case when k=2, read in A, W, H and output computed W and H and have correct relative error\n9. Edited the error function in nmf.hpp, added W,H in the input taken (adjust to R2 case, since deeper in the tree this->H and H are different)\n   Adjust all solvers to call the more efficient error solving function in nmf.hpp and give its necessary inputs\n10. parallelize the for loop in solveR2 private function in r2.hpp (openmp)\n   Use \"explore OMP_NUM_THREADS=?\" to set the environment variable along with \"explore OPENBLAS_NUM_THREADS=?\"\n11. Restructured r2.hpp so that computeNMF() calls a private function computeR2NMF which then calls solveR2() when solving R2 NNLS Problem.\n    Now, ready to implement Hier-R2 entire code\n12. Initialized the outputs Hier-R2 need to produce, according to matlab.","distinct":true,"url":"https://api.github.com/repos/stevenmsm/planc/commits/a7897fb0ac9cc4dec93902c1e7181bbb5e0cd0e3"}]}
{"actor":{"display_login":"stevenmsm"}}