  We describe a protocol capable of preparing an arbitrary state of two photons
in several spatial modes using pairs of photons generated by spontaneous
parametric down-conversion, linear optical elements and single-photon detectors
or post-selection. The protocol involves unitary and non-unitary
transformations realizable by beam splitters and phase shifters. Non-unitary
transformations are implemented by attenuation filters. The protocol contains
several optimization capabilities with the goal of improving overall
probability of its success. We also show how entangled two-photon states
required for quantum computing with linear optics can be prepared using a very
simple and feasible scheme.

Quantum Physics