# Nonnegative over a variety

The polynomial $1 - y^2$ is nonnegative for all $y$ in the unit circle. This can be verified using Sum-of-Squares.

```
using DynamicPolynomials
using SumOfSquares
@polyvar x y
S = @set x^2 + y^2 == 1
```

```
Algebraic Set defined by 1 equalitty
x^2 + y^2 - 1.0 = 0
```

We need to pick an SDP solver, see here for a list of the available choices. The domain over which the nonnegativity of $1 - y^2$ should be certified is specified through the `domain`

keyword argument.

```
import CSDP
model = SOSModel(CSDP.Optimizer)
set_silent(model)
con_ref = @constraint(model, 1 - y^2 >= 0, domain = S)
optimize!(model)
```

We can see that the model was feasible:

`solution_summary(model)`

```
* Solver : CSDP
* Status
Termination status : OPTIMAL
Primal status : FEASIBLE_POINT
Dual status : FEASIBLE_POINT
Message from the solver:
"Problem solved to optimality."
* Candidate solution
Objective value : 0.00000e+00
Dual objective value : 0.00000e+00
* Work counters
Solve time (sec) : 1.79100e-03
```

The certificate can be obtained as follows:

`sos_decomposition(con_ref, 1e-6)`

`(1.0000000044266208*x)^2`

It returns $x^2$ which is a valid certificate as: $ 1 - y^2 \equiv x^2 \pmod{x^2 + y^2 - 1} $

*This page was generated using Literate.jl.*