This is the sort of thing that I feel *should* be a function, rather than a class. Functions make it clearer what the inputs and outputs are of a function. If you're concerned about updating in-place to save memory, this can be done with keyword arguments, `out=`...