  We introduce schemes for linear-optical quantum state generation. A quantum
state generator is a device that prepares a desired quantum state using product
inputs from photon sources, linear-optical networks, and postselection using
photon counters. We show that this device can be concisely described in terms
of polynomial equations and unitary constraints. We illustrate the power of
this language by applying the Grobner-basis technique along with the notion of
vacuum extensions to solve the problem of how to construct a quantum state
generator analytically for any desired state, and use methods of convex
optimization to identify bounds to success probabilities. In particular, we
disprove a conjecture concerning the preparation of the maximally
path-entangled |n,0)+|0,n) (NOON) state by providing a counterexample using
these methods, and we derive a new upper bound on the resources required for
NOON-state generation.
