Kolda TG, O'Leary DP.  2000.  Algorithm 805: computation and uses of the semidiscrete matrix decomposition. ACM Trans. Math. Softw.. 26(3):415-435.