# Convex.jl affine constraint not respected in solution

**URL:** <https://discourse.julialang.org/t/convex-jl-affine-constraint-not-respected-in-solution/64741>\
**Category:** New to Julia\
**Tags:** optimization\
**Created:** [July 16, 2021, 11:13am UTC](https://discourse.julialang.org/t/convex-jl-affine-constraint-not-respected-in-solution/64741 "2021-07-16T11:13:09Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Thomas](https://avatars.discourse-cdn.com/v4/letter/t/e36b37/32.png) [@Thomas](https://discourse.julialang.org/u/Thomas)\
**Post date:** [July 16, 2021, 11:13am UTC](https://discourse.julialang.org/t/convex-jl-affine-constraint-not-respected-in-solution/64741/1 "2021-07-16T11:13:09Z")

</div>

Does anyone know why? Thanks!

```julia
using LinearAlgebra, Convex, MosekTools
rho = HermitianSemidefinite(4)
add_constraint!(rho, tr(rho) == 1)
p = satisfy(tr(rho) == 1)
solve!(p, Mosek.Optimizer)
p.status
rho_opt = round.(evaluate(rho))
tr(rho_opt) # should be 1
eigen(rho_opt)

```

---

<div class="post-metadata">

**Author:** ![ericphanson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ericphanson/32/215186_2.png) [@ericphanson](https://discourse.julialang.org/u/ericphanson)\
**Post date:** [July 16, 2021, 11:57am UTC](https://discourse.julialang.org/t/convex-jl-affine-constraint-not-respected-in-solution/64741/2 "2021-07-16T11:57:34Z")

</div>

`round` rounds to the nearest integer, so you’re just rounding `rho` away to the zero matrix. With SCS (I do not have a Mosek license), I get

```julia
julia> evaluate(rho)
4×4 Matrix{ComplexF64}:
 0.25+0.0im 0.0+0.0im 0.0+0.0im 0.0+0.0im
  0.0+0.0im 0.25+0.0im 0.0+0.0im 0.0+0.0im
  0.0+0.0im 0.0+0.0im 0.25+0.0im 0.0+0.0im
  0.0+0.0im 0.0+0.0im 0.0+0.0im 0.25+0.0im

julia> tr(evaluate(rho))
0.999999966223076 + 0.0im

```

---

<div class="post-metadata">

**Author:** ![Thomas](https://avatars.discourse-cdn.com/v4/letter/t/e36b37/32.png) [@Thomas](https://discourse.julialang.org/u/Thomas)\
**Post date:** [July 16, 2021, 12:04pm UTC](https://discourse.julialang.org/t/convex-jl-affine-constraint-not-respected-in-solution/64741/3 "2021-07-16T12:04:45Z")

</div>

Thank you. What an embarrassing mistake.

---

<div class="post-metadata">

**Author:** ![ericphanson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ericphanson/32/215186_2.png) [@ericphanson](https://discourse.julialang.org/u/ericphanson)\
**Post date:** [July 16, 2021, 12:12pm UTC](https://discourse.julialang.org/t/convex-jl-affine-constraint-not-respected-in-solution/64741/4 "2021-07-16T12:12:41Z")

</div>

No worries! I’ve certainly made simpler mistakes 🙂
