There is no straightforward way in AMPL to specify that a "matrix" of variables must be positive semidefinite. In principle it would be possible to create a user-defined suffix, say .psd, such that all variables with the same .psd value would be treated by the solver interface as a matrix to be conveyed to the solver with a positive semi-definite restriction; but this has not been done in any solver interfaces that I know of, and since there isn't a matrix data type in AMPL, it would depend upon some assumptions about the ordering of variables. A different approach using a general nonlinear solver is described in the paper On Formulating Semidefinite Programming Problems as Smooth Convex Nonlinear Optimization Problems by Vanderbei and Benson; that relies on a user-defined function (C source is available) and also makes some assumptions about variable ordering.
Bob Fourer
am...@googlegroups.com