Skip to content

Commit 2be2a66

Browse files
committed
Add option
1 parent 1d33749 commit 2be2a66

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

src/ArrayDiff.jl

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,24 @@ import SparseArrays
1313
import SparseMatrixColorings
1414

1515
"""
16-
Mode() <: AbstractAutomaticDifferentiation
16+
Mode(coloring_algorithm::SparseMatrixColorings.GreedyColoringAlgorithm) <: AbstractAutomaticDifferentiation
1717
1818
Fork of `MOI.Nonlinear.SparseReverseMode` to add array support.
1919
"""
20-
struct Mode <: MOI.Nonlinear.AbstractAutomaticDifferentiation end
20+
struct Mode{C<:SparseMatrixColorings.GreedyColoringAlgorithm} <: MOI.Nonlinear.AbstractAutomaticDifferentiation
21+
coloring_algorithm::C
22+
end
23+
24+
Mode() = Mode(SparseMatrixColorings.GreedyColoringAlgorithm(; decompression=:substitution))
2125

2226
function MOI.Nonlinear.Evaluator(
2327
model::MOI.Nonlinear.Model,
24-
::Mode,
28+
mode::Mode,
2529
ordered_variables::Vector{MOI.VariableIndex},
2630
)
2731
return MOI.Nonlinear.Evaluator(
2832
model,
29-
NLPEvaluator(model, ordered_variables),
33+
NLPEvaluator(model, ordered_variables, mode.coloring_algorithm),
3034
)
3135
end
3236

src/types.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ mutable struct NLPEvaluator{R,C<:SparseMatrixColorings.GreedyColoringAlgorithm}
186186

187187
function NLPEvaluator(
188188
data::Nonlinear.Model,
189-
ordered_variables::Vector{MOI.VariableIndex};
189+
ordered_variables::Vector{MOI.VariableIndex},
190190
coloring_algorithm::SparseMatrixColorings.GreedyColoringAlgorithm = SparseMatrixColorings.GreedyColoringAlgorithm(; decompression=:substitution),
191191
)
192192
problem = SparseMatrixColorings.ColoringProblem(; structure=:symmetric, partition=:column)

0 commit comments

Comments
 (0)