/** @see http://tedlab.mit.edu/~dr/svdlibc/SVD_F_ST.html */
public void storeSparseOn(Appendable appendable) {
// this stores the transposed matrix, but as we will transpose it again
// when reading it, this can be done without loss of generality.
PrintOn out = new PrintOn(appendable);
out.print(this.columnCount()).space();
out.print(this.rowCount()).space();
out.print(this.used()).cr();
for (Vector row: rows()) {
out.print(row.used()).cr();
for (Entry each: row.entries()) {
out.print(each.index).space().print(each.value).space();
}
out.cr();
}
out.close();
}