List<SparseDoubleVector> scaledVectors =
new ArrayList<SparseDoubleVector>(matrix.rows());
SparseMatrix sm = (SparseMatrix) matrix;
for (int r = 0; r < matrix.rows(); ++r) {
SparseDoubleVector v = sm.getRowVector(r);
scaledVectors.add(new ScaledSparseDoubleVector(
v, 1/v.magnitude()));
}
return Matrices.asSparseMatrix(scaledVectors);
} else {
List<DoubleVector> scaledVectors =