Registered Member
|
Enviornment: Eigen 3.3.4 + ceres-Windows + Visual Studio 2015.
I try create a rotation matrix from two non-orthogonal vector, R1 and R2, within my ceres cost function(it there is typename T = Jet). First I try to calculate SDV of [R1 R2] for [U] and [V], it works fine under debug mode:
But with release mode, compile time becomes 1~2.5 hr(it takes only 3~4 min for debug). If I stop using this code:
Compile time back to normal (around 5 min). So I try to avoid using JacobiSVD, and calls EigenSolver to solve eigen vector and creating [U] and [V] by myself. Still, it works fine, and results are all the same with JabociSVD debug test case(typename = double). But while I start to put my code into ceres cost function (this cause typename = Jet<>), a some C2678 errors pop out with c:\program files (x86)\microsoft visual studio 14.0\vc\include\complex (Line # 665, 666, 671, 685, 695). If I marks out this:
Error disappeared. I got totally no idea how to fix this for whole week. Could any one kindly tell me 1. how to make release mode compile faster with calling of Eigen::JacobiSVD<Eigen::Matrix<Jet<.....>, 3, 2>>; or 2. how to fix those C2678 errors? |
Registered Member
|
Maybe use "> >" to replace ">>"?
|
Registered Member
|
Great Idea, I will try it.
|
Registered users: Bing [Bot], Google [Bot], Sogou [Bot]