Skip to content

Commit dbddd25

Browse files
committed
Collect a few comments on why and where currently tests still fail.
1 parent 98b43be commit dbddd25

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

lib/OptimizationManopt/test/runtests.jl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@ R2 = Euclidean(2)
151151

152152
opt = OptimizationManopt.AdaptiveRegularizationCubicOptimizer()
153153

154+
#TODO: This autodiff currently provides a Hessian that seem to not procide a Hessian
155+
# ARC Fails but also AD before that warns. So it passes _some_ hessian but a wrong one, even in format
154156
optprob = OptimizationFunction(rosenbrock, AutoForwardDiff())
155157
prob = OptimizationProblem(optprob, x0, p; manifold = R2)
156158

@@ -164,6 +166,8 @@ R2 = Euclidean(2)
164166

165167
opt = OptimizationManopt.TrustRegionsOptimizer()
166168

169+
#TODO: This autodiff currently provides a Hessian that seem to not procide a Hessian
170+
# TR Fails but also AD before that warns. So it passes _some_ hessian but a wrong one, even in format
167171
optprob = OptimizationFunction(rosenbrock, AutoForwardDiff())
168172
prob = OptimizationProblem(optprob, x0, p; manifold = R2)
169173

@@ -219,7 +223,6 @@ R2 = Euclidean(2)
219223
@test sol.uq rtol=1e-2
220224

221225
function closed_form_solution(M::SymmetricPositiveDefinite, L, U, p, X)
222-
q = copy(M, p)
223226
# extract p^1/2 and p^{-1/2}
224227
(p_sqrt_inv, p_sqrt) = Manifolds.spd_sqrt_and_sqrt_inv(p)
225228
# Compute D & Q
@@ -231,8 +234,7 @@ R2 = Euclidean(2)
231234
P = cholesky(Hermitian(Uprime - Lprime))
232235

233236
z = P.U' * D * P.U + Lprime
234-
copyto!(M, q, p_sqrt * Q * z * Q' * p_sqrt)
235-
return q
237+
return p_sqrt * Q * z * Q' * p_sqrt
236238
end
237239
N = m
238240
U = mean(data2)
@@ -243,7 +245,7 @@ R2 = Euclidean(2)
243245
prob = OptimizationProblem(optf, data2[1]; manifold = M)
244246

245247
@time sol = Optimization.solve(
246-
prob, opt, sub_problem = (M, q, p, X) -> closed_form_solution!(M, q, L, U, p, X),
248+
prob, opt, sub_problem = (M, p, X) -> closed_form_solution(M, p, L, U, X),
247249
maxiters = 1000)
248250
@test sol.uq rtol=1e-2
249251
end

0 commit comments

Comments
 (0)