Can someone explain why this restriction got added to the code?
Daniel and I have started to fix these issues on:
bugfix/issue-904-eigen-assert-bugs
The LDLT test code indicated it wouldn't run otherwise.
> We decided to do all the range-checking in Stan code, so the range-checking in Eigen was redundant.
> But that meant we can't turn off range-checking in the Stan code even when we want to.
The question was why doesn't the code run without turning
off range checking? Where do the built-in range checks
get violated?
We seem to have another failure in BFGS update. I'll look at it.
inline void search_direction(VectorT &pk, const VectorT &gk) const {
pk.noalias() = -(_Hk*gk);
}
private:
HessianT _Hk;
namespace stan {
namespace optimization {
template<typename Scalar = double,
- int DimAtCompile = Eigen::Dynamic>
+ int DimAtCompile = -1>
class BFGSUpdate_HInv {
--
You received this message because you are subscribed to the Google Groups "stan development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stan-dev+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I had always thought Eigen::Dynamic was equal to -1?
Anyway, I just stumbled upon that failing test the other day myself when working on cmake. The real issue is that the test doesn't really make any sense, in practice search_direction is never called without at least one call to update.
Anyway, I just stumbled upon that failing test the other day myself when working on cmake. The real issue is that the test doesn't really make any sense, in practice search_direction is never called without at least one call to update.
Yeah, I am just going to push a fix to the test that specifies the problem size instead of relying on the default.
--
If we remove -DEIGEN_NO_DEBUG from CFLAGS in Stan, I think we're fine. CmdStan, RStan, and PyStan have their own flags.