Every finite-dimensional inner product space has an orthonormal basis (can be generalized to arbitrary (infinite-dimensional) inner product spaces), which may be obtained from an arbitrary basis using the GramSchmidt process.
The determinant formula for the Gram-Schmidt is computationally slower (exponentially slower) than the recursive algorithms described above; it is mainly of theoretical interest. Every finite-dimensional inner product space has an orthonormal basis, which may be obtained from an arbitrary basis using the GramSchmidt process. In functional analysis, the concept of an orthonormal basis can be generalized to arbitrary (infinite-dimensional) inner product spaces. 
