Transforming SAT to Quadratic Programming in polynomial time
The reduction of SAT to quadratic programming is pretty simple. The idea is that we can use the quadratic objective to "force" the variables to be Boolean, and so we can implement an integer linear program whose feasibility is equivalent to the SAT instance.

Given a SAT instance on a set of variables $x_1,\ldots,x_n$, we define the following quadratic program:
$$
\begin{align*}
&amp; \min \sum_{i=1}^n x_i - \sum_{i=1}^n x_i^2 \\
\text{s.t.} &amp; \\
&amp; 0 \leq x_i \leq 1 &amp; 1 \leq i \leq n \\
&amp; x_{i_1} + \cdots + x_{i_j} + (1 - x_{k_1}) + \cdots + (1 - x_{k_\ell}) \geq 1 &amp; \forall \text{ cl. } x_{i_1} \lor \cdots \lor x_{i_j} \lor \bar{x}_{k_1} \lor \cdots \lor \bar{x}_{k_l}
\end{align*}
$$
The linear constraints have a $0,1$ solution if and only if the SAT instance is satisfiable. Since $0 \leq x_i \leq 1$, a solution is $0,1$ if and only if $\sum_{i=1}^n x_i - \sum_{i=1}^n x_i^2 = 0$, and for any other solution $\sum_{i=1}^n x_i - \sum_{i=1}^n x_i^2 &gt; 0$. Therefore the SAT instance is satisfiable if and only if the minimum is $0$ (or at most $0$).