-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add NLPModels testing #83
Conversation
Here are some of the errors I'm seeing On the SCT side @adrhill can you take a look at those? MethodError: no method matching hessian_pattern_to_mat(::Vector{SparseConnectivityTracer.Dual{Float64, SparseConnectivityTracer.HessianTracer{BitSet, Set{Tuple{Int64, Int64}}}}}, ::Float64)
Closest candidates are:
hessian_pattern_to_mat(::AbstractArray{D}, ::D) where {P, T<:SparseConnectivityTracer.HessianTracer, D<:SparseConnectivityTracer.Dual{P, T}}
@ SparseConnectivityTracer ~/Work/GitHub/Julia/SparseConnectivityTracer.jl/src/pattern.jl:387
Stacktrace:
[1] local_hessian_pattern(f::Function, x::Vector{Float64}, ::Type{BitSet}, ::Type{Set{Tuple{Int64, Int64}}})
@ SparseConnectivityTracer ~/Work/GitHub/Julia/SparseConnectivityTracer.jl/src/pattern.jl:369
[2] hessian_sparsity
@ ~/Work/GitHub/Julia/SparseConnectivityTracer.jl/src/adtypes.jl:112 [inlined] MethodError: ^(::SparseConnectivityTracer.Dual{Float64, SparseConnectivityTracer.HessianTracer{BitSet, Set{Tuple{Int64, Int64}}}}, ::Int64) is ambiguous.
Candidates:
^(dx::D, y::Number) where {P, T<:SparseConnectivityTracer.HessianTracer, D<:SparseConnectivityTracer.Dual{P, T}}
@ SparseConnectivityTracer ~/Work/GitHub/Julia/SparseConnectivityTracer.jl/src/overload_hessian.jl:120
^(x::Number, p::Integer)
@ Base intfuncs.jl:311
Possible fix, define
^(::D, ::Integer) where {P, T<:SparseConnectivityTracer.HessianTracer, D<:SparseConnectivityTracer.Dual{P, T}}
Stacktrace:
[1] literal_pow
@ ./intfuncs.jl:351 [inlined] On the other side @amontoison those would be for you to investigate UndefVarError: `xe_turtle` not defined
Stacktrace:
[1] triangle_turtle(; kwargs::@Kwargs{})
@ OptimizationProblems.ADNLPProblems ~/.julia/packages/OptimizationProblems/nfPUU/src/ADNLPProblems/triangle.jl:72 As well as plenty of errors of the form "expected |
Looks like the output isn't a tracer and therefore doesn't contain information about the Hessian.
Will fix. (EDIT: see #84) |
@amontoison I did some more investigation on the sparsity pattern discrepancies between us and JuMP:
In addition, we made it possible (in v0.5.0) to use global sparsity detection with control flow like To sum up, I think SCT is ready for use in NLPModels, with the caveat that some Hessian sparsity detections are very slow: the largest of the Jacobian
Hessian
|
@gdalle can this be merged? |
Yep |
Fix #69
There are still disagreements between SCT and JuMP but I'm not sure we're wrong, so I've labeled them as broken tests
I also skip a few tests for which the NLP pipeline errors due to undefined variables