in src/main/java/org/apache/datasketches/vector/decomposition/MatrixOps.java [60:79]
public static MatrixOps newInstance(final Matrix A, final SVDAlgo algo, final int k) {
final int n = (int) A.getNumRows();
final int d = (int) A.getNumColumns();
final MatrixOps mo;
switch (A.getMatrixType()) {
case OJALGO:
mo = new MatrixOpsImplOjAlgo(n, d, algo, k);
break;
default:
throw new IllegalArgumentException("Unknown MatrixType: " + A.getMatrixType().toString());
}
if (algo == SVDAlgo.SISVD) {
mo.setNumSISVDIter((int) Math.ceil(Math.log(d)));
}
return mo;
}