* @return the orthonormal basis generated by this method.
* @throws RuntimeException if the given vectors are not linear independent.
*/
private Matrix generateOrthonormalBasis(List<Vector> vectors) {
Vector first = vectors.get(0);
first = first.times(1.0 / first.euclideanLength());
Matrix ret = new Matrix(first.getDimensionality(), vectors.size());
ret.setCol(0, first);
for(int i = 1; i < vectors.size(); i++) {
// System.out.println("Matrix:" + ret);
Vector v_i = vectors.get(i);