I need a method of finding the maximum of a real valued trigonometric polynomial where I can trade accuracy for speed. The accepted answer to this question:
https://mathoverflow.net/questions/35538/the-maximum-of-a-real-trigonometric-polynomial
gives a method using semidefinite programming:
Let $f(x)=F(e^{ix})$ where $F(z)=\sum_{n=-N}^{N}c_n z^n$, with $c_n=\tfrac{1}{2}(a_n−i b_n)$ and $c_{−n}=\bar{c}_n$. Then $\min_x \,f(x)$ is equal to $c_0$ minus the value of the following semidefinite program: $\min_F tr(F)$ such that $F⪰0$, and $\sum_{p=k}^{N} F_{p,p_−k}=c_k$ for $k=1,…,N$.
However, I don't understand what this means or how to implement it. Would anyone be able to explain in simpler terms and give an idea of how one would code this in MATLAB?