Skip to content

Commit 6ebe1d3

Browse files
committed
Disable linearity detection for subexpression if no hessian
1 parent 2bd236f commit 6ebe1d3

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/Nonlinear/ReverseAD/mathoptinterface_api.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ function MOI.initialize(d::NLPEvaluator, requested_features::Vector{Symbol})
6969
d.data.expressions[k],
7070
d.subexpression_linearity,
7171
moi_index_to_consecutive_index,
72+
d.want_hess,
7273
)
7374
d.subexpressions[k] = subex
7475
d.subexpression_linearity[k] = subex.linearity

src/Nonlinear/ReverseAD/types.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,17 @@ struct _SubexpressionStorage
1818
expr::Nonlinear.Expression,
1919
subexpression_linearity,
2020
moi_index_to_consecutive_index,
21+
want_hess::Bool,
2122
)
2223
nodes =
2324
_replace_moi_variables(expr.nodes, moi_index_to_consecutive_index)
2425
adj = Nonlinear.adjacency_matrix(nodes)
2526
N = length(nodes)
26-
linearity = _classify_linearity(nodes, adj, subexpression_linearity)
27+
linearity = if want_hess
28+
_classify_linearity(nodes, adj, subexpression_linearity)[1]
29+
else
30+
NONLINEAR
31+
end
2732
return new(
2833
nodes,
2934
adj,

0 commit comments

Comments
 (0)