There are, you should look at 'Semidefinite Programming':
http://en.wikipedia.org/wiki/Semidefinite_programming
EDIT:
See Pag 58 of L. Vandenberghe and S. Boyd, “Semidefinite programming,” SIAM Rev., vol. 38, pp. 49–95, 1996. regarding results about the problem.