koblas

applyEquilibration

Undoes the scaling equilibrationScale applied, in place in x. The factors are of E·B, so a forward solve scales its right-hand side going in and a transposed solve scales its result coming out.

equilibrationScale

The per-row factors the portable factorization equilibrates with: a power of two near 1/max|row|, so scaling is exact in binary floating point and a host binding that scales for itself agrees with the portable one entry for entry.

A row is left alone when its factor would be 1.0 or would not be finite, which a row below 2^-1023 would need. Reading the factors from the CSC arrays rather than a matrix keeps this usable from a binding that already holds them.

scaledValues

values with every entry multiplied by its row's factor from scale, as a fresh array.