code: private ParameterizationFunction project(double[][] basis, ParameterizationFunction f) {
      // Matrix m = new Matrix(new
      // double[][]{f.getPointCoordinates()}).times(basis);
      double[] m = transposeTimes(basis, f.getColumnVector());
      return new ParameterizationFunction(DoubleVector.wrap(m));
    }
docs: Projects the specified parameterization function into the subspace
  described by the given basis.
  
  @param basis the basis defining he subspace
  @param f the parameterization function to be projected
  @return the projected parameterization function