# Initial guess for array-valued variables not passed to NonlinearProblem

**URL:** https://discourse.julialang.org/t/initial-guess-for-array-valued-variables-not-passed-to-nonlinearproblem/128372
**Category:** Modelling & Simulations
**Tags:** nonlinearsolve
**Created:** [April 24, 2025, 2:11pm UTC](https://discourse.julialang.org/t/initial-guess-for-array-valued-variables-not-passed-to-nonlinearproblem/128372 "2025-04-24T14:11:42Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![sass-jacob](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sass-jacob/32/215582_2.png) [@sass-jacob](https://discourse.julialang.org/u/sass-jacob)
#### Post date: [April 24, 2025, 2:11pm UTC](https://discourse.julialang.org/t/initial-guess-for-array-valued-variables-not-passed-to-nonlinearproblem/128372/1 "2025-04-24T14:11:42Z")

</div>

I have created a MWE in which it seems the initial guess for array-valued variables set as irreducible is not passed to NonlinearProblem. Please advise if there is an alternative way to do this or if an issue should be posted. Thanks

```julia
using ModelingToolkit
using NonlinearSolve

states = @variables begin
    a[1:10], [irreducible = true]
    b[1:10]
    c[1:10], [irreducible = true]
end

params = @parameters begin
    d = 1.0
    e = 2.0
end

eqs = Equation[]

eq_a = @. a ~ c + exp(d * b)
append!(eqs, Symbolics.scalarize(eq_a))

eq_b = @. b ~ - d
append!(eqs, Symbolics.scalarize(eq_b))

eq_c = @. c ~ exp(b - a)
append!(eqs, Symbolics.scalarize(eq_c))

@named sys = NonlinearSystem(eqs, [states...], params)
simp = structural_simplify(sys)

a_ic = 0.1:0.1:1.0
ic_dict = Dict(Symbolics.scalarize(a .=> a_ic))

c_guess = 0.1:0.1:1.0
guess_dict = Dict(Symbolics.scalarize(c .=> c_guess))

prob = NonlinearProblem(simp, ic_dict, guesses = guess_dict)

```

```julia
ERROR: Initial condition underdefined. Some are missing from the variable map.
Please provide a default (`u0`), initialization equation, or guess
for the following variables:

c[3], c[2], c[4], c[7], c[5], c[6], c[1], c[8], c[9], c[10]

Stacktrace:
 [1] better_varmap_to_vars(varmap::Dict{…}, vars::Vector{…}; tofloat::Bool, container_type::Type, toterm::Function, promotetoconcrete::Nothing, check::Bool, allow_symbolic::Bool, is_initializeprob::Bool)
   @ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/problem_utils.jl:372
 [2] process_SciMLProblem(constructor::Type, sys::NonlinearSystem, u0map::Dict{…}, pmap::SciMLBase.NullParameters; build_initializeprob::Bool, implicit_dae::Bool, t::Nothing, guesses::Dict{…}, warn_initialize_determined::Bool, initialization_eqs::Vector{…}, eval_expression::Bool, eval_module::Module, fully_determined::Nothing, check_initialization_units::Bool, tofloat::Bool, u0_constructor::typeof(identity), du0map::Nothing, check_length::Bool, symbolic_u0::Bool, warn_cyclic_dependency::Bool, circular_dependency_max_cycle_length::Int64, circular_dependency_max_cycles::Int64, substitution_limit::Int64, use_scc::Bool, force_initialization_time_independent::Bool, algebraic_only::Bool, allow_incomplete::Bool, is_initializeprob::Bool, kwargs::@Kwargs{})
   @ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/problem_utils.jl:860
 [3] (NonlinearProblem{…})(sys::NonlinearSystem, u0map::Dict{…}, parammap::SciMLBase.NullParameters; check_length::Bool, kwargs::@Kwargs{…})
   @ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/nonlinear/nonlinearsystem.jl:556
 [4] NonlinearProblem (repeats 2 times)
   @ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/nonlinear/nonlinearsystem.jl:550 [inlined]
 [5] #NonlinearProblem#924
   @ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/nonlinear/nonlinearsystem.jl:547 [inlined]
 [6] top-level scope
   @ ~/.julia/dev/phase_separation_scripts/initial_guess_mwe.jl:35
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 25, 2025, 11:07am UTC](https://discourse.julialang.org/t/initial-guess-for-array-valued-variables-not-passed-to-nonlinearproblem/128372/2 "2025-04-25T11:07:35Z")

</div>

Open an issue, you shouldn’t have to scalarize here and this is causing some weird stuff, but I’m not sure why NonlinearSystem is particularly not handling array equations with broadcast here.
