# How can I use NonlinearSolve.jl with matrix functions?

**URL:** https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379
**Category:** Optimization (Mathematical)
**Tags:** question, optimization, nonlinear, nonlinearsolve, matrix
**Created:** [April 1, 2024, 4:39pm UTC](https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379 "2024-04-01T16:39:18Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![homocomputeris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/homocomputeris/32/8933_2.png) [@homocomputeris](https://discourse.julialang.org/u/homocomputeris)
#### Post date: [April 1, 2024, 4:39pm UTC](https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379/1 "2024-04-01T16:39:18Z")

</div>

I want to use NonlinearSolve.jl with matrix functions, something like:

```julia
using NonlinearSolve
using LinearAlgebra

dim = 2
function f(u, p)
    return exp(u) - Matrix{Float64}(I(dim))
end

u0 = rand(dim, dim) * 0.01
p = nothing
prob = NonlinearProblem(f, u0, p)
sol = solve(prob)
display(sol)
err = sol - zeros(dim, dim)
display(err)

```

This, however, casts an error:

```julia
ERROR: MethodError: no method matching exp!(::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{NonlinearSolve.NonlinearSolveTag, Float64}, Float64, 4}})

Closest candidates are:
  exp!(::StridedMatrix{T}) where T<:Union{Float32, Float64, ComplexF64, ComplexF32}
   @ LinearAlgebra ~/.julia/juliaup/julia-1.10.2+0.x64.apple.darwin14/share/julia/stdlib/v1.10/LinearAlgebra/src/dense.jl:649

Stacktrace:
  [1] exp(A::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{NonlinearSolve.NonlinearSolveTag, Float64}, Float64, 4}})
    @ LinearAlgebra ~/.julia/juliaup/julia-1.10.2+0.x64.apple.darwin14/share/julia/stdlib/v1.10/LinearAlgebra/src/dense.jl:594
  [2] f(u::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{NonlinearSolve.NonlinearSolveTag, Float64}, Float64, 4}}, p::Nothing)
    @ Main ./Untitled-1:6
  [3] (::NonlinearFunction{…})(::Matrix{…}, ::Vararg{…})
    @ SciMLBase ~/.julia/packages/SciMLBase/QSc1r/src/scimlfunctions.jl:2197
  [4] (::SciMLBase.JacobianWrapper{false, NonlinearFunction{…}, Nothing})(u::Matrix{ForwardDiff.Dual{…}})
    @ SciMLBase ~/.julia/packages/SciMLBase/QSc1r/src/function_wrappers.jl:97
  [5] vector_mode_dual_eval!(f::SciMLBase.JacobianWrapper{…}, cfg::ForwardDiff.JacobianConfig{…}, x::Matrix{…})
    @ ForwardDiff ~/.julia/packages/ForwardDiff/PcZ48/src/apiutils.jl:24
  [6] vector_mode_jacobian!(result::Matrix{…}, f::SciMLBase.JacobianWrapper{…}, x::Matrix{…}, cfg::ForwardDiff.JacobianConfig{…})
    @ ForwardDiff ~/.julia/packages/ForwardDiff/PcZ48/src/jacobian.jl:145
  [7] jacobian!(result::Matrix{…}, f::Function, x::Matrix{…}, cfg::ForwardDiff.JacobianConfig{…}, ::Val{…})
    @ ForwardDiff ~/.julia/packages/ForwardDiff/PcZ48/src/jacobian.jl:58
  [8] jacobian!(result::Matrix{…}, f::Function, x::Matrix{…}, cfg::ForwardDiff.JacobianConfig{…})
    @ ForwardDiff ~/.julia/packages/ForwardDiff/PcZ48/src/jacobian.jl:56
  [9] sparse_jacobian!(J::Matrix{…}, ::AutoForwardDiff{…}, cache::SparseDiffTools.ForwardDiffJacobianCache{…}, f::SciMLBase.JacobianWrapper{…}, x::Matrix{…})
    @ SparseDiffTools ~/.julia/packages/SparseDiffTools/qxnHN/src/highlevel/forward_mode.jl:60
 [10] (::NonlinearSolve.JacobianCache{…})(J::Matrix{…}, u::Matrix{…}, p::Nothing)
    @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/internal/jacobian.jl:136
 [11] JacobianCache
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/internal/jacobian.jl:106 [inlined]
 [12] __step!(cache::NonlinearSolve.GeneralizedFirstOrderAlgorithmCache{…}; recompute_jacobian::Nothing, kwargs::@Kwargs{})
    @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/core/generalized_first_order.jl:207
 [13] __step!
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generalized_first_order.jl:203 [inlined]
 [14] #step!#210
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:55 [inlined]
 [15] step!
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:50 [inlined]
 [16] solve!(cache::NonlinearSolve.GeneralizedFirstOrderAlgorithmCache{…})
    @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:13
 [17] __solve(::NonlinearProblem{…}, ::GeneralizedFirstOrderAlgorithm{…}; kwargs::@Kwargs{…})
    @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:4
 [18] __solve
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:1 [inlined]
 [19] macro expansion
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:278 [inlined]
 [20] __solve(::NonlinearProblem{…}, ::NonlinearSolvePolyAlgorithm{…}; alias_u0::Bool, verbose::Bool, kwargs::@Kwargs{…})
    @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:248
 [21] __solve
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:248 [inlined]
 [22] #__solve#329
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:511 [inlined]
 [23] __solve
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:508 [inlined]
 [24] #__solve#61
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1371 [inlined]
 [25] __solve
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1364 [inlined]
 [26] #solve_call#34
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:609 [inlined]
 [27] solve_call
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:567 [inlined]
 [28] #solve_up#42
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1050 [inlined]
 [29] solve_up
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1044 [inlined]
 [30] #solve#41
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1038 [inlined]
 [31] solve(::NonlinearProblem{…})
    @ DiffEqBase ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1028
 [32] top-level scope
    @ Untitled-1:12
Some type information was truncated. Use `show(err)` to see complete types.

```

My attempts were:

- cast to float

```julia
function f(u, p)
    return exp(Matrix{Float64}(u)) - Matrix{Float64}(I(dim))
end

ERROR: MethodError: no method matching Float64(::ForwardDiff.Dual{ForwardDiff.Tag{NonlinearSolve.NonlinearSolveTag, Float64}, Float64, 4})

Closest candidates are:
  (::Type{T})(::Real, ::RoundingMode) where T<:AbstractFloat
   @ Base rounding.jl:207
  (::Type{T})(::T) where T<:Number
   @ Core boot.jl:792
  Float64(::IrrationalConstants.Fourinvπ)
   @ IrrationalConstants ~/.julia/packages/IrrationalConstants/vp5v4/src/macro.jl:112

```

- use `value`

```julia
function f(u, p)
    return exp(u.value) - Matrix{Float64}(I(dim))
end

ERROR: type Array has no field value

```

How can I fix this?

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [April 1, 2024, 6:11pm UTC](https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379/2 "2024-04-01T18:11:28Z")

</div>

Matrix exponential is not supported by ForwardDiff. I would suggest using ExponentialUtilities.jl and it should be fine.

---

<div class="post-metadata">

### Author: ![homocomputeris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/homocomputeris/32/8933_2.png) [@homocomputeris](https://discourse.julialang.org/u/homocomputeris)
#### Post date: [April 1, 2024, 7:34pm UTC](https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379/3 "2024-04-01T19:34:00Z")

</div>

Thanks!

Is there a more elegant way to do this?

```julia
function f(u, p)
    uu = copy(u)
    return exponential!(uu) - Matrix{Float64}(I(dim))
end

```

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [April 1, 2024, 8:45pm UTC](https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379/4 "2024-04-01T20:45:01Z")

</div>

exponential!(copy(u)) - I?

---

<div class="post-metadata">

### Author: ![homocomputeris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/homocomputeris/32/8933_2.png) [@homocomputeris](https://discourse.julialang.org/u/homocomputeris)
#### Post date: [April 1, 2024, 8:53pm UTC](https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379/5 "2024-04-01T20:53:10Z")

</div>

Well, yeah, sure. I mean, there is no not-in-place (non-public?) function already?

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [April 1, 2024, 10:01pm UTC](https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379/6 "2024-04-01T22:01:47Z")

</div>

Not yet. It would be a nice thing to add.

---

<div class="post-metadata">

### Author: ![homocomputeris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/homocomputeris/32/8933_2.png) [@homocomputeris](https://discourse.julialang.org/u/homocomputeris)
#### Post date: [April 1, 2024, 10:46pm UTC](https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379/7 "2024-04-01T22:46:55Z")

</div>

It turned out that only `exponential!` works with nonlinearsolve.jl, while `expv` doesn’t. Bug or feature?

```julia
solve(prob)
ERROR: MethodError: no method matching exponential!(::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{…}, Float64, 3}}, ::ExpMethodHigham2005Base)

Closest candidates are:
  exponential!(::StridedMatrix{T}, ::ExpMethodHigham2005Base, ::Any) where T<:Union{Float32, Float64, ComplexF64, ComplexF32}
   @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/exp_baseexp.jl:23
  exponential!(::StridedMatrix{T}, ::ExpMethodHigham2005Base) where T<:Union{Float32, Float64, ComplexF64, ComplexF32}
   @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/exp_baseexp.jl:23
  exponential!(::Any, ::ExpMethodNative, ::Any)
   @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/exp.jl:70
  ...

Stacktrace:
  [1] expv!(w::Vector{…}, t::Float64, Ks::KrylovSubspace{…}; cache::Nothing, expmethod::ExpMethodHigham2005Base)
    @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/krylov_phiv.jl:95
  [2] _expv_hb(t::Float64, A::Matrix{…}, b::Vector{…}; expmethod::ExpMethodHigham2005Base, cache::Nothing, kwargs_arnoldi::@Kwargs{})
    @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/krylov_phiv.jl:51
  [3] _expv_hb(t::Float64, A::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{…}, Float64, 3}}, b::Vector{Float64})
    @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/krylov_phiv.jl:45
  [4] expv(t::Float64, A::Matrix{ForwardDiff.Dual{…}}, b::Vector{Float64}; mode::Symbol, kwargs::@Kwargs{})
    @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/krylov_phiv.jl:38
  [5] expv(t::Float64, A::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{…}, Float64, 3}}, b::Vector{Float64})
    @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/krylov_phiv.jl:35
  [6] optgoal(v::Vector{ForwardDiff.Dual{ForwardDiff.Tag{…}, Float64, 3}}, p::Vector{Float64})
    @ Main ./REPL[13]:2
  [7] NonlinearFunction
    @ ~/.julia/packages/SciMLBase/QSc1r/src/scimlfunctions.jl:2197 [inlined]
  [8] JacobianWrapper
    @ ~/.julia/packages/SciMLBase/QSc1r/src/function_wrappers.jl:97 [inlined]
  [9] vector_mode_dual_eval!
    @ ~/.julia/packages/ForwardDiff/PcZ48/src/apiutils.jl:24 [inlined]
 [10] vector_mode_jacobian!(result::Matrix{…}, f::SciMLBase.JacobianWrapper{…}, x::Vector{…}, cfg::ForwardDiff.JacobianConfig{…})
    @ ForwardDiff ~/.julia/packages/ForwardDiff/PcZ48/src/jacobian.jl:145
 [11] jacobian!
    @ ~/.julia/packages/ForwardDiff/PcZ48/src/jacobian.jl:58 [inlined]
 [12] jacobian!
    @ ~/.julia/packages/ForwardDiff/PcZ48/src/jacobian.jl:56 [inlined]
 [13] sparse_jacobian!
    @ ~/.julia/packages/SparseDiffTools/qxnHN/src/highlevel/forward_mode.jl:60 [inlined]
 [14] JacobianCache
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/internal/jacobian.jl:136 [inlined]
 [15] JacobianCache
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/internal/jacobian.jl:106 [inlined]
 [16] __step!(cache::NonlinearSolve.GeneralizedFirstOrderAlgorithmCache{…}; recompute_jacobian::Nothing, kwargs::@Kwargs{})
    @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/core/generalized_first_order.jl:207
 [17] __step!
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generalized_first_order.jl:203 [inlined]
 [18] #step!#210
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:55 [inlined]
 [19] step!
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:50 [inlined]
 [20] solve!(cache::NonlinearSolve.GeneralizedFirstOrderAlgorithmCache{…})
    @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:13
 [21] __solve(::NonlinearProblem{…}, ::GeneralizedFirstOrderAlgorithm{…}; kwargs::@Kwargs{…})
    @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:4
 [22] __solve
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:1 [inlined]
 [23] macro expansion
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:278 [inlined]
 [24] __solve(::NonlinearProblem{…}, ::NonlinearSolvePolyAlgorithm{…}; alias_u0::Bool, verbose::Bool, kwargs::@Kwargs{…})
    @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:248
 [25] __solve
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:248 [inlined]
 [26] #__solve#329
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:511 [inlined]
 [27] __solve
    @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:508 [inlined]
 [28] #__solve#61
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1371 [inlined]
 [29] __solve
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1364 [inlined]
 [30] #solve_call#34
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:609 [inlined]
 [31] solve_call
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:567 [inlined]
 [32] #solve_up#42
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1050 [inlined]
 [33] solve_up
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1044 [inlined]
 [34] #solve#41
    @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1038 [inlined]
 [35] solve(::NonlinearProblem{…})
    @ DiffEqBase ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1028
 [36] top-level scope
    @ REPL[17]:1
Some type information was truncated. Use `show(err)` to see complete types.

```

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [April 2, 2024, 12:39am UTC](https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379/8 "2024-04-02T00:39:31Z")

</div>

Unexpected. Worth an issue. Shouldn’t be too hard to solve, looks like it’s just a missing dispatch or a poorly chosen default.

---

<div class="post-metadata">

### Author: ![homocomputeris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/homocomputeris/32/8933_2.png) [@homocomputeris](https://discourse.julialang.org/u/homocomputeris)
#### Post date: [April 2, 2024, 11:06am UTC](https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379/9 "2024-04-02T11:06:52Z")

</div>

> [@ChrisRackauckas](#):
>
> Worth an issue

> <https://github.com/SciML/ExponentialUtilities.jl/issues/173>
>
> \*\*Describe the bug 🐞\*\*
> 
> Solver fails when \`expv\` is in the function. \`exponent…ial!\` kinda works.
> 
> \*\*Expected behavior\*\*
> 
> Optimize. See https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379
> 
> \*\*Minimal Reproducible Example 👇\*\*
> 
> \`\`\`julia
> using NonlinearSolve
> using LinearAlgebra
> using ExponentialUtilities
> 
> dim = 2
> function f(u, p)
> v = rand(2)
> return expv(1, u, v) - v\*2
> end
> 
> u0 = rand(dim, dim) \* 0.01
> p = nothing
> prob = NonlinearProblem(f, u0, p)
> sol = solve(prob)
> display(sol)
> err = sol - zeros(dim, dim)
> display(err)
> \`\`\`
> 
> \*\*Error & Stacktrace ⚠️\*\*
> 
> \`\`\`julia
> ERROR: MethodError: no method matching exponential!(::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{…}, Float64, 4}}, ::ExpMethodHigham2005Base)
> 
> Closest candidates are:
> exponential!(::StridedMatrix{T}, ::ExpMethodHigham2005Base, ::Any) where T\<:Union{Float32, Float64, ComplexF64, ComplexF32}
> @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/exp\_baseexp.jl:23
> exponential!(::StridedMatrix{T}, ::ExpMethodHigham2005Base) where T\<:Union{Float32, Float64, ComplexF64, ComplexF32}
> @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/exp\_baseexp.jl:23
> exponential!(::Any, ::ExpMethodNative, ::Any)
> @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/exp.jl:70
> ...
> 
> Stacktrace:
> \[1\] expv!(w::Vector{…}, t::Int64, Ks::KrylovSubspace{…}; cache::Nothing, expmethod::ExpMethodHigham2005Base)
> @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/krylov\_phiv.jl:95
> \[2\] \_expv\_hb(t::Int64, A::Matrix{…}, b::Vector{…}; expmethod::ExpMethodHigham2005Base, cache::Nothing, kwargs\_arnoldi::@Kwargs{})
> @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/krylov\_phiv.jl:51
> \[3\] \_expv\_hb(t::Int64, A::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{…}, Float64, 4}}, b::Vector{Float64})
> @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/krylov\_phiv.jl:45
> \[4\] expv(t::Int64, A::Matrix{ForwardDiff.Dual{…}}, b::Vector{Float64}; mode::Symbol, kwargs::@Kwargs{})
> @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/krylov\_phiv.jl:38
> \[5\] expv(t::Int64, A::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{…}, Float64, 4}}, b::Vector{Float64})
> @ ExponentialUtilities ~/.julia/packages/ExponentialUtilities/xLH9y/src/krylov\_phiv.jl:35
> \[6\] f(u::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{NonlinearSolve.NonlinearSolveTag, Float64}, Float64, 4}}, p::Nothing)
> @ Main ./Untitled-1:8
> \[7\] (::NonlinearFunction{…})(::Matrix{…}, ::Vararg{…})
> @ SciMLBase ~/.julia/packages/SciMLBase/QSc1r/src/scimlfunctions.jl:2197
> \[8\] (::SciMLBase.JacobianWrapper{false, NonlinearFunction{…}, Nothing})(u::Matrix{ForwardDiff.Dual{…}})
> @ SciMLBase ~/.julia/packages/SciMLBase/QSc1r/src/function\_wrappers.jl:97
> \[9\] vector\_mode\_dual\_eval!(f::SciMLBase.JacobianWrapper{…}, cfg::ForwardDiff.JacobianConfig{…}, x::Matrix{…})
> @ ForwardDiff ~/.julia/packages/ForwardDiff/PcZ48/src/apiutils.jl:24
> \[10\] vector\_mode\_jacobian!(result::Matrix{…}, f::SciMLBase.JacobianWrapper{…}, x::Matrix{…}, cfg::ForwardDiff.JacobianConfig{…})
> @ ForwardDiff ~/.julia/packages/ForwardDiff/PcZ48/src/jacobian.jl:145
> \[11\] jacobian!(result::Matrix{…}, f::Function, x::Matrix{…}, cfg::ForwardDiff.JacobianConfig{…}, ::Val{…})
> @ ForwardDiff ~/.julia/packages/ForwardDiff/PcZ48/src/jacobian.jl:58
> \[12\] jacobian!(result::Matrix{…}, f::Function, x::Matrix{…}, cfg::ForwardDiff.JacobianConfig{…})
> @ ForwardDiff ~/.julia/packages/ForwardDiff/PcZ48/src/jacobian.jl:56
> \[13\] sparse\_jacobian!(J::Matrix{…}, ::AutoForwardDiff{…}, cache::SparseDiffTools.ForwardDiffJacobianCache{…}, f::SciMLBase.JacobianWrapper{…}, x::Matrix{…})
> @ SparseDiffTools ~/.julia/packages/SparseDiffTools/qxnHN/src/highlevel/forward\_mode.jl:60
> \[14\] (::NonlinearSolve.JacobianCache{…})(J::Matrix{…}, u::Matrix{…}, p::Nothing)
> @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/internal/jacobian.jl:136
> \[15\] JacobianCache
> @ ~/.julia/packages/NonlinearSolve/5yLII/src/internal/jacobian.jl:106 \[inlined\]
> \[16\] \_\_step!(cache::NonlinearSolve.GeneralizedFirstOrderAlgorithmCache{…}; recompute\_jacobian::Nothing, kwargs::@Kwargs{})
> @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/core/generalized\_first\_order.jl:207
> \[17\] \_\_step!
> @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generalized\_first\_order.jl:203 \[inlined\]
> \[18\] #step!#210
> @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:55 \[inlined\]
> \[19\] step!
> @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:50 \[inlined\]
> \[20\] solve!(cache::NonlinearSolve.GeneralizedFirstOrderAlgorithmCache{…})
> @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:13
> \[21\] \_\_solve(::NonlinearProblem{…}, ::GeneralizedFirstOrderAlgorithm{…}; kwargs::@Kwargs{…})
> @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:4
> \[22\] \_\_solve
> @ ~/.julia/packages/NonlinearSolve/5yLII/src/core/generic.jl:1 \[inlined\]
> \[23\] macro expansion
> @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:278 \[inlined\]
> \[24\] \_\_solve(::NonlinearProblem{…}, ::NonlinearSolvePolyAlgorithm{…}; alias\_u0::Bool, verbose::Bool, kwargs::@Kwargs{…})
> @ NonlinearSolve ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:248
> \[25\] \_\_solve
> @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:248 \[inlined\]
> \[26\] #\_\_solve#329
> @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:511 \[inlined\]
> \[27\] \_\_solve
> @ ~/.julia/packages/NonlinearSolve/5yLII/src/default.jl:508 \[inlined\]
> \[28\] #\_\_solve#61
> @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1371 \[inlined\]
> \[29\] \_\_solve
> @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1364 \[inlined\]
> \[30\] #solve\_call#34
> @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:609 \[inlined\]
> \[31\] solve\_call
> @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:567 \[inlined\]
> \[32\] #solve\_up#42
> @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1050 \[inlined\]
> \[33\] solve\_up
> @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1044 \[inlined\]
> \[34\] #solve#41
> @ ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1038 \[inlined\]
> \[35\] solve(::NonlinearProblem{…})
> @ DiffEqBase ~/.julia/packages/DiffEqBase/nc5nE/src/solve.jl:1028
> \[36\] top-level scope
> @ Untitled-1:14
> Some type information was truncated. Use \`show(err)\` to see complete types.
> \`\`\`
> 
> \*\*Environment (please complete the following information):\*\*
> 
> - Output of \`using Pkg; Pkg.status()\`
> 
> \`\`\`julia
> \[667455a9\] Cubature v1.5.1
> \[31c24e10\] Distributions v0.25.107
> \[d4d017d3\] ExponentialUtilities v1.26.1
> \[f6369f11\] ForwardDiff v0.10.36
> ⌃ \[de52edbc\] Integrals v4.3.0
> ⌃ \[8913a72c\] NonlinearSolve v3.8.3
> ⌃ \[1dea7af3\] OrdinaryDiffEq v6.70.1
> ⌃ \[91a5bcdd\] Plots v1.40.1
> \[44d3d7a6\] Weave v0.10.12
> \`\`\`
> 
> - Output of \`using Pkg; Pkg.status(; mode = PKGMODE\_MANIFEST)\`
> 
> \`\`\`julia
> ⌃ \[47edcb42\] ADTypes v0.2.6
> ⌃ \[7d9f7c33\] Accessors v0.1.35
> ⌃ \[79e6a3ab\] Adapt v4.0.1
> ⌅ \[ec485272\] ArnoldiMethod v0.2.0
> ⌃ \[4fba245c\] ArrayInterface v7.7.0
> ⌃ \[4c555306\] ArrayLayouts v1.6.0
> \[d1d4a3ce\] BitFlags v0.1.8
> \[62783981\] BitTwiddlingConvenienceFunctions v0.1.5
> \[2a0fbf3d\] CPUSummary v0.2.4
> \[49dc2e85\] Calculus v0.5.1
> \[fb6a15b2\] CloseOpenIntervals v0.1.12
> \[944b1d66\] CodecZlib v0.7.4
> \[35d6a980\] ColorSchemes v3.24.0
> \[3da002f7\] ColorTypes v0.11.4
> \[c3611d14\] ColorVectorSpace v0.10.0
> \[5ae59095\] Colors v0.12.10
> \[861a8166\] Combinatorics v1.0.2
> \[38540f10\] CommonSolve v0.2.4
> \[bbf7d656\] CommonSubexpressions v0.3.0
> ⌃ \[34da2185\] Compat v4.12.0
> \[a33af91c\] CompositionsBase v0.1.2
> \[2569d6c7\] ConcreteStructs v0.2.3
> ⌃ \[f0e56b4a\] ConcurrentUtilities v2.3.1
> ⌃ \[187b0558\] ConstructionBase v1.5.4
> \[d38c429a\] Contour v0.6.2
> \[adafc99b\] CpuId v0.3.1
> \[667455a9\] Cubature v1.5.1
> \[9a962f9c\] DataAPI v1.16.0
> ⌃ \[864edb3b\] DataStructures v0.18.16
> \[e2d170a0\] DataValueInterfaces v1.0.0
> \[8bb1440f\] DelimitedFiles v1.9.1
> ⌃ \[2b5f629d\] DiffEqBase v6.146.2
> \[163ba53b\] DiffResults v1.1.0
> \[b552c78f\] DiffRules v1.15.1
> \[31c24e10\] Distributions v0.25.107
> \[ffbed154\] DocStringExtensions v0.9.3
> \[fa6b7ba4\] DualNumbers v0.6.8
> \[4e289a0a\] EnumX v1.0.4
> ⌅ \[f151be2c\] EnzymeCore v0.6.5
> \[460bff9d\] ExceptionUnwrapping v0.1.10
> \[d4d017d3\] ExponentialUtilities v1.26.1
> \[e2ba6199\] ExprTools v0.1.10
> \[c87230d0\] FFMPEG v0.4.1
> \[7034ab61\] FastBroadcast v0.2.8
> \[9aa1b823\] FastClosures v0.3.2
> ⌃ \[29a986be\] FastLapackInterface v2.0.1
> \[1a297f60\] FillArrays v1.9.3
> ⌃ \[6a86dc24\] FiniteDiff v2.22.0
> \[53c48c17\] FixedPointNumbers v0.8.4
> ⌃ \[59287772\] Formatting v0.4.2
> \[f6369f11\] ForwardDiff v0.10.36
> \[069b7b12\] FunctionWrappers v1.1.3
> \[77dc65aa\] FunctionWrappersWrappers v0.1.3
> \[46192b85\] GPUArraysCore v0.1.6
> ⌃ \[28b8d3ca\] GR v0.73.2
> ⌃ \[c145ed77\] GenericSchur v0.5.3
> \[86223c79\] Graphs v1.9.0
> \[42e2da0e\] Grisu v1.0.2
> ⌃ \[19dc6840\] HCubature v1.5.2
> ⌃ \[cd3eb016\] HTTP v1.10.1
> \[eafb193a\] Highlights v0.5.2
> \[3e5b6fbb\] HostCPUFeatures v0.1.16
> \[34004b35\] HypergeometricFunctions v0.3.23
> \[615f187c\] IfElse v0.1.1
> \[d25df0c9\] Inflate v0.1.4
> \[18e54dd8\] IntegerMathUtils v0.1.2
> ⌃ \[de52edbc\] Integrals v4.3.0
> ⌃ \[3587e190\] InverseFunctions v0.1.12
> \[92d709cd\] IrrationalConstants v0.2.2
> \[82899510\] IteratorInterfaceExtensions v1.0.0
> \[1019f520\] JLFzf v0.1.7
> \[692b3bcd\] JLLWrappers v1.5.0
> \[682c06a0\] JSON v0.21.4
> ⌅ \[ef3ab10e\] KLU v0.5.0
> \[ba0b0d4f\] Krylov v0.9.5
> \[b964fa9f\] LaTeXStrings v1.3.1
> ⌃ \[23fbe1c1\] Latexify v0.16.1
> \[73f95e8e\] LatticeRules v0.0.1
> \[10f19ff3\] LayoutPointers v0.1.15
> \[50d2b5c4\] Lazy v0.15.1
> \[5078a376\] LazyArrays v1.8.3
> \[d3d80556\] LineSearches v7.2.0
> ⌃ \[7ed4a6bd\] LinearSolve v2.23.2
> ⌃ \[2ab3a3ac\] LogExpFunctions v0.3.26
> \[e6f89c97\] LoggingExtras v1.0.3
> ⌃ \[bdcacae8\] LoopVectorization v0.12.166
> \[1914dd2f\] MacroTools v0.5.13
> \[d125e4d3\] ManualMemory v0.1.8
> \[a3b82374\] MatrixFactorizations v2.1.0
> ⌃ \[bb5d69b7\] MaybeInplace v0.1.1
> \[739be429\] MbedTLS v1.1.9
> \[442fdcdd\] Measures v0.3.2
> \[e1d29d7a\] Missings v1.1.0
> \[4886b29c\] MonteCarloIntegration v0.2.0
> \[46d2c3a1\] MuladdMacro v0.2.4
> \[ffc61752\] Mustache v1.0.19
> \[d41bc354\] NLSolversBase v7.8.3
> \[77ba4419\] NaNMath v1.0.2
> ⌃ \[8913a72c\] NonlinearSolve v3.8.3
> \[6fe1bfb0\] OffsetArrays v1.13.0
> ⌃ \[4d8831e6\] OpenSSL v1.4.1
> \[bac558e1\] OrderedCollections v1.6.3
> ⌃ \[1dea7af3\] OrdinaryDiffEq v6.70.1
> \[90014a1f\] PDMats v0.11.31
> \[65ce6f38\] PackageExtensionCompat v1.0.2
> \[d96e819e\] Parameters v0.12.3
> \[69de0a69\] Parsers v2.8.1
> \[b98c9c47\] Pipe v1.3.0
> \[ccf2f8ad\] PlotThemes v3.1.0
> ⌃ \[995b91a9\] PlotUtils v1.4.0
> ⌃ \[91a5bcdd\] Plots v1.40.1
> ⌃ \[f517fe37\] Polyester v0.7.9
> \[1d0040c9\] PolyesterWeave v0.2.1
> \[d236fae5\] PreallocationTools v0.4.20
> ⌃ \[aea7be01\] PrecompileTools v1.2.0
> ⌃ \[21216c6a\] Preferences v1.4.1
> ⌃ \[27ebfcd6\] Primes v0.5.5
> \[1fd47b50\] QuadGK v2.9.4
> \[8a4e6c94\] QuasiMonteCarlo v0.3.3
> \[3cdcf5f2\] RecipesBase v1.3.4
> \[01d81517\] RecipesPipeline v0.6.12
> ⌃ \[731186ca\] RecursiveArrayTools v3.8.0
> \[f2c3362d\] RecursiveFactorization v0.2.21
> \[189a3867\] Reexport v1.2.2
> \[05181044\] RelocatableFolders v1.0.1
> \[ae029012\] Requires v1.3.0
> \[79098fc4\] Rmath v0.7.1
> \[7e49a35a\] RuntimeGeneratedFunctions v0.5.12
> \[94e857df\] SIMDTypes v0.1.0
> \[476501e8\] SLEEFPirates v0.6.42
> ⌃ \[0bca4576\] SciMLBase v2.24.0
> ⌃ \[c0aeaf25\] SciMLOperators v0.3.7
> \[6c6a2e73\] Scratch v1.2.1
> \[efcf1570\] Setfield v1.1.1
> \[992d4aef\] Showoff v1.0.3
> \[777ac1f9\] SimpleBufferStream v1.1.0
> ⌃ \[727e6d20\] SimpleNonlinearSolve v1.4.1
> \[699a6c99\] SimpleTraits v0.9.4
> \[ce78b400\] SimpleUnPack v1.1.0
> \[ed01d8cd\] Sobol v1.5.0
> \[a2af1166\] SortingAlgorithms v1.2.1
> ⌃ \[47a9eef4\] SparseDiffTools v2.16.0
> \[e56a9233\] Sparspak v0.3.9
> \[276daf66\] SpecialFunctions v2.3.1
> \[aedffcd0\] Static v0.8.10
> \[0d7ed370\] StaticArrayInterface v1.5.0
> ⌃ \[90137ffa\] StaticArrays v1.9.2
> \[1e83bf80\] StaticArraysCore v1.4.2
> \[82ae8749\] StatsAPI v1.7.0
> \[2913bbd2\] StatsBase v0.34.2
> ⌃ \[4c63d2b9\] StatsFuns v1.3.0
> \[7792a7ef\] StrideArraysCore v0.5.2
> \[69024149\] StringEncodings v0.3.7
> ⌃ \[2efcf032\] SymbolicIndexingInterface v0.3.5
> \[3783bdb8\] TableTraits v1.0.1
> \[bd369af6\] Tables v1.11.1
> \[62fd8b95\] TensorCore v0.1.1
> \[8290d209\] ThreadingUtilities v0.5.2
> \[a759f4b9\] TimerOutputs v0.5.23
> ⌃ \[3bb67fe8\] TranscodingStreams v0.10.3
> ⌃ \[d5829a12\] TriangularSolve v0.1.20
> \[410a4b4d\] Tricks v0.1.8
> \[781d530d\] TruncatedStacktraces v1.4.0
> \[5c2747f8\] URIs v1.5.1
> \[3a884ed6\] UnPack v1.0.2
> \[1cfade01\] UnicodeFun v0.4.1
> \[1986cc42\] Unitful v1.19.0
> \[45397f5d\] UnitfulLatexify v1.6.3
> \[41fe7b60\] Unzip v0.2.0
> \[3d5dd08c\] VectorizationBase v0.21.65
> \[19fa3120\] VertexSafeGraphs v0.2.0
> \[44d3d7a6\] Weave v0.10.12
> \[ddb6d928\] YAML v0.4.9
> \[6e34b625\] Bzip2\_jll v1.0.8+1
> ⌃ \[83423d85\] Cairo\_jll v1.16.1+1
> \[7bc98958\] Cubature\_jll v1.0.5+0
> \[2702e6a9\] EpollShim\_jll v0.0.20230411+0
> \[2e619515\] Expat\_jll v2.5.0+0
> ⌅ \[b22a6f82\] FFMPEG\_jll v4.4.4+1
> \[a3f928ae\] Fontconfig\_jll v2.13.93+0
> \[d7e528f0\] FreeType2\_jll v2.13.1+0
> \[559328eb\] FriBidi\_jll v1.0.10+0
> \[0656b61e\] GLFW\_jll v3.3.9+0
> ⌅ \[d2c73de3\] GR\_jll v0.73.2+0
> \[78b55507\] Gettext\_jll v0.21.0+0
> ⌃ \[7746bdde\] Glib\_jll v2.76.5+0
> \[3b182d85\] Graphite2\_jll v1.3.14+0
> \[2e76f6c2\] HarfBuzz\_jll v2.8.1+1
> \[1d5cc7b8\] IntelOpenMP\_jll v2024.0.2+0
> ⌃ \[aacddb02\] JpegTurbo\_jll v3.0.1+0
> \[c1c5ebd0\] LAME\_jll v3.100.1+0
> \[88015f11\] LERC\_jll v3.0.0+1
> \[1d63c593\] LLVMOpenMP\_jll v15.0.7+0
> \[dd4b983a\] LZO\_jll v2.10.1+0
> ⌅ \[e9f186c6\] Libffi\_jll v3.2.2+1
> \[d4300ac3\] Libgcrypt\_jll v1.8.7+0
> \[7e76a0d4\] Libglvnd\_jll v1.6.0+0
> \[7add5ba3\] Libgpg\_error\_jll v1.42.0+0
> \[94ce4f54\] Libiconv\_jll v1.17.0+0
> ⌃ \[4b2f31a3\] Libmount\_jll v2.35.0+0
> ⌅ \[89763e89\] Libtiff\_jll v4.5.1+1
> ⌃ \[38a345b3\] Libuuid\_jll v2.36.0+0
> \[856f044c\] MKL\_jll v2024.0.0+0
> \[e7412a2a\] Ogg\_jll v1.3.5+1
> ⌃ \[458c3c95\] OpenSSL\_jll v3.0.13+0
> \[efe28fd5\] OpenSpecFun\_jll v0.5.5+0
> \[91d4177d\] Opus\_jll v1.3.2+0
> \[30392449\] Pixman\_jll v0.42.2+0
> \[c0090381\] Qt6Base\_jll v6.5.3+1
> \[f50d1b31\] Rmath\_jll v0.4.0+0
> \[a44049a8\] Vulkan\_Loader\_jll v1.3.243+0
> \[a2964d1f\] Wayland\_jll v1.21.0+1
> \[2381bf8a\] Wayland\_protocols\_jll v1.31.0+0
> ⌃ \[02c8fc9c\] XML2\_jll v2.12.2+0
> \[aed1982a\] XSLT\_jll v1.1.34+0
> ⌃ \[ffd25f8a\] XZ\_jll v5.4.5+0
> \[f67eecfb\] Xorg\_libICE\_jll v1.0.10+1
> \[c834827a\] Xorg\_libSM\_jll v1.2.3+0
> \[4f6342f7\] Xorg\_libX11\_jll v1.8.6+0
> \[0c0b7dd1\] Xorg\_libXau\_jll v1.0.11+0
> \[935fb764\] Xorg\_libXcursor\_jll v1.2.0+4
> \[a3789734\] Xorg\_libXdmcp\_jll v1.1.4+0
> \[1082639a\] Xorg\_libXext\_jll v1.3.4+4
> \[d091e8ba\] Xorg\_libXfixes\_jll v5.0.3+4
> \[a51aa0fd\] Xorg\_libXi\_jll v1.7.10+4
> \[d1454406\] Xorg\_libXinerama\_jll v1.1.4+4
> \[ec84b674\] Xorg\_libXrandr\_jll v1.5.2+4
> \[ea2f1a96\] Xorg\_libXrender\_jll v0.9.10+4
> \[14d82f49\] Xorg\_libpthread\_stubs\_jll v0.1.1+0
> \[c7cfdc94\] Xorg\_libxcb\_jll v1.15.0+0
> \[cc61e674\] Xorg\_libxkbfile\_jll v1.1.2+0
> \[e920d4aa\] Xorg\_xcb\_util\_cursor\_jll v0.1.4+0
> \[12413925\] Xorg\_xcb\_util\_image\_jll v0.4.0+1
> \[2def613f\] Xorg\_xcb\_util\_jll v0.4.0+1
> \[975044d2\] Xorg\_xcb\_util\_keysyms\_jll v0.4.0+1
> \[0d47668e\] Xorg\_xcb\_util\_renderutil\_jll v0.3.9+1
> \[c22f9ab0\] Xorg\_xcb\_util\_wm\_jll v0.4.1+1
> \[35661453\] Xorg\_xkbcomp\_jll v1.4.6+0
> \[33bec58e\] Xorg\_xkeyboard\_config\_jll v2.39.0+0
> \[c5fb5394\] Xorg\_xtrans\_jll v1.5.0+0
> ⌃ \[3161d3a3\] Zstd\_jll v1.5.5+0
> \[35ca27e7\] eudev\_jll v3.2.9+0
> \[214eeab7\] fzf\_jll v0.43.0+0
> \[1a1c6b14\] gperf\_jll v3.1.1+0
> \[a4ae2306\] libaom\_jll v3.4.0+0
> \[0ac62f75\] libass\_jll v0.15.1+0
> \[2db6ffa8\] libevdev\_jll v1.11.0+0
> \[f638f0a6\] libfdk\_aac\_jll v2.0.2+0
> \[36db933b\] libinput\_jll v1.18.0+0
> ⌃ \[b53b4c65\] libpng\_jll v1.6.40+0
> \[f27f6e37\] libvorbis\_jll v1.3.7+1
> \[009596ad\] mtdev\_jll v1.1.6+0
> \[1270edf5\] x264\_jll v2021.5.5+0
> \[dfaa095f\] x265\_jll v3.5.0+0
> \[d8fb68d0\] xkbcommon\_jll v1.4.1+1
> \[0dad84c5\] ArgTools v1.1.1
> \[56f22d72\] Artifacts
> \[2a0f44e3\] Base64
> \[ade2ca70\] Dates
> \[8ba89e20\] Distributed
> \[f43a241f\] Downloads v1.6.0
> \[7b1f6079\] FileWatching
> \[9fa8497b\] Future
> \[b77e0a4c\] InteractiveUtils
> \[4af54fe1\] LazyArtifacts
> \[b27032c2\] LibCURL v0.6.4
> \[76f85450\] LibGit2
> \[8f399da3\] Libdl
> \[37e2e46d\] LinearAlgebra
> \[56ddb016\] Logging
> \[d6f4376e\] Markdown
> \[a63ad114\] Mmap
> \[ca575930\] NetworkOptions v1.2.0
> \[44cfe95a\] Pkg v1.10.0
> \[de0858da\] Printf
> \[3fa0cd96\] REPL
> \[9a3f8284\] Random
> \[ea8e919c\] SHA v0.7.0
> \[9e88b42a\] Serialization
> \[1a1011a3\] SharedArrays
> \[6462fe0b\] Sockets
> \[2f01184e\] SparseArrays v1.10.0
> \[10745b16\] Statistics v1.10.0
> \[4607b0f0\] SuiteSparse
> \[fa267f1f\] TOML v1.0.3
> \[a4e569a6\] Tar v1.10.0
> \[8dfed614\] Test
> \[cf7118a7\] UUIDs
> \[4ec0a83e\] Unicode
> \[e66e0078\] CompilerSupportLibraries\_jll v1.1.0+0
> \[deac9b47\] LibCURL\_jll v8.4.0+0
> \[e37daf67\] LibGit2\_jll v1.6.4+0
> \[29816b5a\] LibSSH2\_jll v1.11.0+1
> \[c8ffd9c3\] MbedTLS\_jll v2.28.2+1
> \[14a3606d\] MozillaCACerts\_jll v2023.1.10
> \[4536629a\] OpenBLAS\_jll v0.3.23+4
> \[05823500\] OpenLibm\_jll v0.8.1+2
> \[efcefdf7\] PCRE2\_jll v10.42.0+1
> \[bea87d4a\] SuiteSparse\_jll v7.2.1+1
> \[83775a58\] Zlib\_jll v1.2.13+1
> \[8e850b90\] libblastrampoline\_jll v5.8.0+1
> \[8e850ede\] nghttp2\_jll v1.52.0+1
> \[3f19e933\] p7zip\_jll v17.4.0+2
> Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use \`status --outdated -m\`
> \`\`\`
> 
> - Output of \`versioninfo()\`
> 
> \`\`\`julia
> Julia Version 1.10.2
> Commit bd47eca2c8a (2024-03-01 10:14 UTC)
> Build Info:
> Official https://julialang.org/ release
> Platform Info:
> OS: macOS (x86\_64-apple-darwin22.4.0)
> CPU: 8 × Intel(R) Core(TM) i5-8279U CPU @ 2.40GHz
> WORD\_SIZE: 64
> LIBM: libopenlibm
> LLVM: libLLVM-15.0.7 (ORCJIT, skylake)
> Threads: 8 default, 0 interactive, 4 GC (on 8 virtual cores)
> Environment:
> JULIA\_EDITOR = code
> \`\`\`
> 
> \*\*Additional context\*\*
> 
> \[Add any other context about the problem here.\](https://discourse.julialang.org/t/how-can-i-use-nonlinearsolve-jl-with-matrix-functions/112379)
