  In this paper, we introduce the problem of unitarization. Unitarization is
the problem of taking several input quantum circuits that produce orthogonal
states from the all 0 state, and create an output circuit implementing a
unitary with its first columns as those states. We allow the resulting
circuits, and even the input circuits, to use ancilla qubits initialized to 0.
But ancilla qubits must always be returned to 0 for ANY input, and we are only
guaranteed the input circuits returns ancilla qubits to 0 on the all 0 input.
  The unitarization problem seems hard if the output states are neither
orthogonal to or in the span of the computational basis vectors that need to
map to them. In this work, we approximately solve this problem in the case
where input circuits are given as black box oracles by probably finding an
approximate basis for our states. This method may be more interesting than the
application.
  Specifically, we find an approximate basis in polynomial time for the
following parameters. Take any natural $n$, $k =
O\left(\frac{\ln(n)}{\ln(\ln(n))}\right)$, and $\epsilon =
2^{-O(\sqrt{\ln(n)})}$. Take any $k$ input unit vectors, $(\lvert \psi_i
\rangle)_{i\in [k]}$ on polynomial in $n$ qubits prepared by quantum oracles,
$(V_i)_{i \in [k]}$, (that we can control call and control invert). Then there
is a quantum circuit with polynomial size in $n$ and access to the oracles
$(V_i)_{i \in [k]}$ that with at least $1 - \epsilon$ probability, computes at
most $k$ circuits with size polynomial in $n$ and oracle access to $(V_i)_{i
\in [k]}$ that $\epsilon$ approximately computes an $\epsilon$ approximate
orthonormal basis for $(\lvert \psi_i \rangle)_{i\in [k]}$.
