The manifold is a product manifold with a 2-sphere and a 2D Euclidean space. It is similar to my previous post, and this case is actually a special case of the physics derived system I was using in that post (and curiously, in the "exact" non-linear cost function I don't have this issue). There's a direction vector x, a distance value d, and a velocity v (whose direction is -x, so we don't need to find it). d and v are constrained, so I use a smooth reparameterization (as suggested by Nicolas previously, thank you for that), where d = eta(1)^2, and v = (v_max+v_min)/2 + (v_max-v_min)/2 sin(eta(2)), such that the Euclidean factory doesn't need to be directly bounded.
The cost function is one that myself and my PI have been calling "pseudo-linear" (though, if there's another name that makes more sense in a smooth manifolds context, I'm all ears). I've attached a screenshot of it, but it's basically:
f(x,d,v|z) = (1/2)(Ax + b(x)d - vz)^T Sigma^(-1) (Ax + b(x)d -vz)
where A is a Nx3 known matrix of rank 3, b(x) is a Nx1 vector where each entry is an inner product b_i = <y_i, y_i>_x where each y_i is a known 3x1 vector, and z is a normally distributed random variable on R^N with a known covariance matrix and whose mean we are approximating by (Ax + b(x)d)/v.
I've double checked that my Euclidean gradient is correct analytically, and that the Manopt implementation does the projection onto the tangent plane correctly (for the x components). It also generally passes the checkgradient testing, but every once in a while I'll get a sample of z where the slope of t is very close to 1.00 instead of the 2.00 that it's supposed to have.
Best,
Ryan