in src/main/java/org/apache/datasketches/vector/decomposition/MatrixOpsImplOjAlgo.java [140:158]
Matrix applyAdjustment(final Matrix A, final double svAdjustment) {
// copy A before decomposing
final Primitive64Store result
= Primitive64Store.FACTORY.copy((Primitive64Store) A.getRawObject());
svd(Matrix.wrap(result), true);
for (int i = 0; i < (k_ - 1); ++i) {
final double val = sv_[i];
final double adjSV = Math.sqrt((val * val) + svAdjustment);
S_.set(i, i, adjSV);
}
for (int i = k_ - 1; i < S_.countColumns(); ++i) {
S_.set(i, i, 0.0);
}
S_.multiply(Vt_, result);
return Matrix.wrap(result);
}