# Error when defining PINN optimizer

**URL:** <https://discourse.julialang.org/t/error-when-defining-pinn-optimizer/112786>\
**Category:** New to Julia\
**Tags:** question\
**Created:** [April 10, 2024, 4:03pm UTC](https://discourse.julialang.org/t/error-when-defining-pinn-optimizer/112786 "2024-04-10T16:03:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Donald](https://avatars.discourse-cdn.com/v4/letter/d/ac8455/32.png) [@Donald](https://discourse.julialang.org/u/Donald)\
**Post date:** [April 10, 2024, 4:03pm UTC](https://discourse.julialang.org/t/error-when-defining-pinn-optimizer/112786/1 "2024-04-10T16:03:15Z")

</div>

Hello. I’m trying to replicate [this example](https://docs.sciml.ai/NeuralPDE/dev/tutorials/pdesystem/) in the NeuralPDE.jl documentation, but with a different PDE. I’m getting an error when I define the optimizer for the PINN. Here is my code:

```julia
using NeuralPDE, Lux, ModelingToolkit, Optimization, OptimizationOptimJL
using ModelingToolkit: Interval
using Plots

@parameters x y
@variables u(..)
Dx = Differential(x)
Dy = Differential(y)

# Velocity (speed) field
V(x, y) = 1 + 0.1x + 0.1y

# Define PDE
eq = Dx(u(x, y))^2 + Dy(u(x, y))^2 ~ V(x, y)^-2

# Boundary condition for source point
bcs = [u(2.5, 2.5) ~ 0.0]

# Spatial domains
domains = [x ∈ Interval(0.0, 5.0), y ∈ Interval(0.0, 5.0)]

# Neural network
dim = 2 # number of dimensions
chain = Lux.Chain(Dense(dim, 16, Lux.σ), Dense(16, 16, Lux.σ), Dense(16, 1))

# Build PhysicsInformedNN algorithm
discretization = PhysicsInformedNN(chain, QuadratureTraining(; batch = 200, abstol = 1e-6, reltol = 1e-6))

# Define the PDESystem and create PINNs
@named pde_system = PDESystem(eq, bcs, domains, [x, y], [u(x, y)])
prob = discretize(pde_system, discretization)

# Define the optimizer and callback function
opt = OptimizationOptimJL.LBFGS(linesearch = BackTracking())
callback = function (p, l)
    println("Current loss is: $l")
    return false
end

```

This is producing the following error and stacktrace:

```julia
ERROR: UndefVarError: `BackTracking` not defined
Stacktrace:
 [1] top-level scope
   @ c:\Users\user\SciML\test.jl:34

#5 (generic function with 1 method)

```

Has the correct syntax changed since this tutorial was written?

---

<div class="post-metadata">

**Author:** ![contradict](https://avatars.discourse-cdn.com/v4/letter/c/ac91a4/32.png) [@contradict](https://discourse.julialang.org/u/contradict)\
**Post date:** [April 10, 2024, 6:13pm UTC](https://discourse.julialang.org/t/error-when-defining-pinn-optimizer/112786/2 "2024-04-10T18:13:45Z")

</div>

You are missing `using LineSearches`.

---

<div class="post-metadata">

**Author:** ![Donald](https://avatars.discourse-cdn.com/v4/letter/d/ac8455/32.png) [@Donald](https://discourse.julialang.org/u/Donald)\
**Post date:** [April 10, 2024, 11:05pm UTC](https://discourse.julialang.org/t/error-when-defining-pinn-optimizer/112786/3 "2024-04-10T23:05:47Z")

</div>

Thank you, this worked!
