The code uses `v` throughout, but I changed it in the function definition to match scikit-learn conventions. Actually the whole class should be reworked to use `X` instead of `v`, but I'm not going to do that in this PR.