# Container of PSD variables in JuMP

**URL:** <https://discourse.julialang.org/t/container-of-psd-variables-in-jump/27448>\
**Category:** Optimization (Mathematical)\
**Tags:** jump\
**Created:** [August 12, 2019, 10:44am UTC](https://discourse.julialang.org/t/container-of-psd-variables-in-jump/27448 "2019-08-12T10:44:59Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nrontsis](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nrontsis/32/38535_2.png) [@nrontsis](https://discourse.julialang.org/u/nrontsis)\
**Post date:** [August 12, 2019, 10:44am UTC](https://discourse.julialang.org/t/container-of-psd-variables-in-jump/27448/1 "2019-08-12T10:44:59Z")

</div>

What is the best way to create a container of PSD “variables” such that  
`X[i] = i-th PSD variable`?

---

<div class="post-metadata">

**Author:** ![blegat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/blegat/32/217090_2.png) [@blegat](https://discourse.julialang.org/u/blegat)\
**Post date:** [August 12, 2019, 1:10pm UTC](https://discourse.julialang.org/t/container-of-psd-variables-in-jump/27448/2 "2019-08-12T13:10:29Z")

</div>

To create a vector of 10 PSD variables of size 1x1, 2x2, …, 10x1:

```julia
X = Vector{Symmetric{Matrix{VariableRef}}}(undef, 10)
for i in 1:10
    X[i] = @variable(model, [1:i, 1:i], PSD)
end  

```

---

<div class="post-metadata">

**Author:** ![nrontsis](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nrontsis/32/38535_2.png) [@nrontsis](https://discourse.julialang.org/u/nrontsis)\
**Post date:** [August 12, 2019, 1:16pm UTC](https://discourse.julialang.org/t/container-of-psd-variables-in-jump/27448/3 "2019-08-12T13:16:55Z")

</div>

Thanks!

---

<div class="post-metadata">

**Author:** ![mbesancon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbesancon/32/6528_2.png) [@mbesancon](https://discourse.julialang.org/u/mbesancon)\
**Post date:** [August 12, 2019, 4:02pm UTC](https://discourse.julialang.org/t/container-of-psd-variables-in-jump/27448/4 "2019-08-12T16:02:21Z")

</div>

If you don’t want to have to infer the type of the container yourself:

```julia
using JuMP

model = Model()
X = [@variable(model, [1:i, 1:i], PSD) for i in 1:10]

```
