@@ -194,10 +194,13 @@ function finite_difference_jacobian(
194194
195195 if jac_prototype isa Nothing && sparsity isa Nothing
196196 J = mapreduce (calculate_Ji_forward, hcat, 1 : maximum (colorvec))
197+ if maximum (colorvec) == 1
198+ J = reshape (J, 1 , 1 )
199+ end
197200 else
198201 @inbounds for color_i ∈ 1 : maximum (colorvec)
199202 if sparsity isa Nothing
200- dx = calculate_Ji (color_i)
203+ dx = calculate_Ji_forward (color_i)
201204 J = J + _make_Ji (J, eltype (x), dx, color_i, nrows, ncols)
202205 else
203206 tmp = norm (vecx .* (colorvec .== color_i))
@@ -229,10 +232,13 @@ function finite_difference_jacobian(
229232
230233 if jac_prototype isa Nothing && sparsity isa Nothing
231234 J = mapreduce (calculate_Ji_central, hcat, 1 : maximum (colorvec))
235+ if maximum (colorvec) == 1
236+ J = reshape (J, 1 , 1 )
237+ end
232238 else
233239 @inbounds for color_i ∈ 1 : maximum (colorvec)
234240 if sparsity isa Nothing
235- dx = calculate_Ji (color_i)
241+ dx = calculate_Ji_central (color_i)
236242 J = J + _make_Ji (J, eltype (x), dx, color_i, nrows, ncols)
237243 else
238244 tmp = norm (vecx1 .* (colorvec .== color_i))
@@ -263,6 +269,9 @@ function finite_difference_jacobian(
263269
264270 if jac_prototype isa Nothing && sparsity isa Nothing
265271 J = mapreduce (calculate_Ji_complex, hcat, 1 : maximum (colorvec))
272+ if maximum (colorvec) == 1
273+ J = reshape (J, 1 , 1 )
274+ end
266275 else
267276 @inbounds for color_i ∈ 1 : maximum (colorvec)
268277 if sparsity isa Nothing
0 commit comments