# Collections of quadratic expressions causes @expression to throw error

**URL:** <https://discourse.julialang.org/t/collections-of-quadratic-expressions-causes-expression-to-throw-error/32359>\
**Category:** General Usage\
**Tags:** jump\
**Created:** [December 16, 2019, 11:07pm UTC](https://discourse.julialang.org/t/collections-of-quadratic-expressions-causes-expression-to-throw-error/32359 "2019-12-16T23:07:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stivanification](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stivanification/32/11864_2.png) [@Stivanification](https://discourse.julialang.org/u/Stivanification)\
**Post date:** [December 16, 2019, 11:07pm UTC](https://discourse.julialang.org/t/collections-of-quadratic-expressions-causes-expression-to-throw-error/32359/1 "2019-12-16T23:07:45Z")

</div>

Hi,

As the title says, I’m getting an error trying to create an array of quadratic expressions in JuMP. I’m using julia v1.1.0 and JuMP v0.20.1. Minimal example:

```julia
using JuMP

model = Model()

@variables(model, begin
    0 <= x[1:3] <= 30, Int
end)

c = [1,2]

@expression(model, q_expr[k=1:2], sum([sum([x[i]*x[j]*c[k] for i in 1:3]) for j in 1:3]))

```

This produces the output

```julia
julia> @expression(model, q_expr[k=1:2], sum([sum([x[i]*x[j]*c[k] for i in 1:3]) for j in 1:3]))
ERROR: Collection of expressions with @expression must be linear. For quadratic expressions, use your own array.

```

I don’t understand the error message here. In contrast,

```julia
julia> @expression(model, q_expr, sum([sum([x[i]*x[j]*c[1] for i in 1:3]) for j in 1:3]))
x[1]² + 2 x[1]*x[2] + 2 x[1]*x[3] + x[2]² + 2 x[2]*x[3] + x[3]²

```

works just fine. Any hope there’s a quick fix/workaround?

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [December 16, 2019, 11:15pm UTC](https://discourse.julialang.org/t/collections-of-quadratic-expressions-causes-expression-to-throw-error/32359/2 "2019-12-16T23:15:13Z")

</div>

I believe this is fixed in an upcoming JuMP release.

Until then, the quick work-around is:

```nohighlight
q_expr = [
    @expression(model, sum(...))
    for k = 1:2
]
model[:q_expr] = q_expr

```

---

<div class="post-metadata">

**Author:** ![Stivanification](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stivanification/32/11864_2.png) [@Stivanification](https://discourse.julialang.org/u/Stivanification)\
**Post date:** [December 16, 2019, 11:51pm UTC](https://discourse.julialang.org/t/collections-of-quadratic-expressions-causes-expression-to-throw-error/32359/3 "2019-12-16T23:51:27Z")

</div>

Works for me, great! Thanks!
