I was suprised to see that iterating a
V instead of
Vt. After all it is
U * Diagonal(S) * Vt which restores the factorized matrix.
Vt would also make more sense to me from a technical point of view as the algorithm produces
V has to be (lazily) calculated.
Note that because of this, one unfortunately can’t unpack a SVD like so
U, S, Vt = svd(M)
Is there any deeper reason behind this choice or would it make sense to change this? However, It’d be a breaking change, wouldn’t it?