Suppose we have a set of vectors formula_1 that form a basis for formula_2, and that we wish to convert these into a friendly basis. We begin by finding out which component of a vector is being unfriendly to a second vector, which we may do with inner products. If we have two vectors formula_3, then we may find the component of formula_4 being unfriendly to formula_5 with formula_6. By subtracting this from formula_5, we get the component friendly to formula_4. By returning to our abstract set formula_1, we may make use of this observation to construct a general algorithm to convert an arbitrary basis into a friendly basis. Like from our original set, each time we use the process on a new vector, it is guaranteed to be mutually friendly with all the previous vectors.