# Math operations on NLparameter

**URL:** <https://discourse.julialang.org/t/math-operations-on-nlparameter/1474>\
**Category:** Optimization (Mathematical)\
**Tags:** jump\
**Created:** [January 13, 2017, 10:59pm UTC](https://discourse.julialang.org/t/math-operations-on-nlparameter/1474 "2017-01-13T22:59:00Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![deepakagrawal](https://avatars.discourse-cdn.com/v4/letter/d/7c8e57/32.png) [@deepakagrawal](https://discourse.julialang.org/u/deepakagrawal)\
**Post date:** [January 13, 2017, 10:59pm UTC](https://discourse.julialang.org/t/math-operations-on-nlparameter/1474/1 "2017-01-13T22:59:00Z")

</div>

I am trying to write a NLexpression

```julia
sum(alpha^j/prod(i for i=1:max(0,j)) for j=0:floor(C))

```

where C is NLparameter. I am getting following

```julia
MethodError: no method matching floor(::JuMP.NonlinearParameter)
Closest candidates are:
  floor(!Matched::Type{BigInt}, !Matched::BigFloat) at mpfr.jl:151
  floor(!Matched::Float64) at float.jl:216
  floor(!Matched::Float32) at float.jl:217
  ...
 in macro expansion; at /home/deepak/.julia/v0.5/JuMP/src/parseExpr_staged.jl:489 [inlined]
 in macro expansion; at /home/deepak/.julia/v0.5/JuMP/src/parsenlp.jl:225 [inlined]
 in macro expansion; at /home/deepak/.julia/v0.5/JuMP/src/macros.jl:1187 [inlined]
 in anonymous at ./<missing>:?
 in include_string(::String, ::String) at ./loading.jl:441
 in include_string(::String, ::String, ::Int64) at /home/deepak/.julia/v0.5/CodeTools/src/eval.jl:28
 in include_string(::Module, ::String, ::String, ::Int64, ::Vararg{Int64,N}) at /home/deepak/.julia/v0.5/CodeTools/src/eval.jl:32
 in (::Atom.##55#58{String,Int64,String})() at /home/deepak/.julia/v0.5/Atom/src/eval.jl:40
 in withpath(::Atom.##55#58{String,Int64,String}, ::String) at /home/deepak/.julia/v0.5/CodeTools/src/utils.jl:30
 in withpath(::Function, ::String) at /home/deepak/.julia/v0.5/Atom/src/eval.jl:46
 in macro expansion at /home/deepak/.julia/v0.5/Atom/src/eval.jl:57 [inlined]
 in (::Atom.##54#57{String,Int64,String})() at ./task.jl:60

```

looks like I cannot do floor operation on NLparameter. I can pass this parameter as a julia parameter. But I am trying to modify this problem with different parameter and run it multiple times. Is there a way I can modify C multiple times and solve my optimization model without creating it from scratch?

---

<div class="post-metadata">

**Author:** ![miles.lubin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/miles.lubin/32/279_2.png) [@miles.lubin](https://discourse.julialang.org/u/miles.lubin)\
**Post date:** [January 14, 2017, 1:31am UTC](https://discourse.julialang.org/t/math-operations-on-nlparameter/1474/2 "2017-01-14T01:31:33Z")

</div>

No, parameters can _only_ appear in the same place as variables, and variables cannot be used to define index sets.

---

<div class="post-metadata">

**Author:** ![deepakagrawal](https://avatars.discourse-cdn.com/v4/letter/d/7c8e57/32.png) [@deepakagrawal](https://discourse.julialang.org/u/deepakagrawal)\
**Post date:** [January 14, 2017, 3:33pm UTC](https://discourse.julialang.org/t/math-operations-on-nlparameter/1474/3 "2017-01-14T15:33:33Z")

</div>

I am not trying to define index sets using variables. C is NLparameter. Can’t I do floor operation on that? Since C is just a parameter I should be able to use floor operations on that right?

---

<div class="post-metadata">

**Author:** ![miles.lubin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/miles.lubin/32/279_2.png) [@miles.lubin](https://discourse.julialang.org/u/miles.lubin)\
**Post date:** [January 15, 2017, 6:07pm UTC](https://discourse.julialang.org/t/math-operations-on-nlparameter/1474/4 "2017-01-15T18:07:49Z")

</div>

The floor operation isn’t the relevant part here. You cannot define index sets using variables _or_ parameters. `0:floor(C)` is an index set. A better error message wouldn’t hurt (PRs accepted).

---

<div class="post-metadata">

**Author:** ![deepakagrawal](https://avatars.discourse-cdn.com/v4/letter/d/7c8e57/32.png) [@deepakagrawal](https://discourse.julialang.org/u/deepakagrawal)\
**Post date:** [January 17, 2017, 10:48pm UTC](https://discourse.julialang.org/t/math-operations-on-nlparameter/1474/5 "2017-01-17T22:48:15Z")

</div>

Oh ok. Got it. Thank you.
