ROL passes zero vector to Jacobian methods
Created by: wil-england
I have written a constraint class inheriting from ROL::StdConstraint< real >
which implements both applyJacobian
and applyAdjointJacobian
. However, the effect of my constraints are not being reported to the algorithm due to the test vector passed to me by ROL (with which I multiply my Jacobian) is a vector of all zeros. It may be worth noting that our problem currently has ~20k constraints. I have verified that the test vector is zero by taking the dot product of the test vector with itself. Here's my dot product code for verification:
auto dot = []( const std::vector< real > &a, const std::vector< real > &b ){
assert( a.size() == b.size() );
real dot = 0.0f;
for( unsigned int i = 0; i < a.size(); i++ ){
dot += a[i] * b[i];
}
return dot;
};
I cloned the develop branch yesterday (July 31), so I should be at the most up to date version. I'm assuming this to be a bug. Any help would be appreciated.
Thanks, Wil