dla_gerpvgrw function

double dla_gerpvgrw(
  1. int N,
  2. int NCOLS,
  3. Matrix<double> A_,
  4. int LDA,
  5. Matrix<double> AF_,
  6. int LDAF,
)

Implementation

double dla_gerpvgrw(
  final int N,
  final int NCOLS,
  final Matrix<double> A_,
  final int LDA,
  final Matrix<double> AF_,
  final int LDAF,
) {
  final A = A_.having(ld: LDA);
  final AF = AF_.having(ld: LDAF);
  int I, J;
  double AMAX, UMAX, RPVGRW;

  RPVGRW = 1.0;

  for (J = 1; J <= NCOLS; J++) {
    AMAX = 0.0;
    UMAX = 0.0;
    for (I = 1; I <= N; I++) {
      AMAX = max(A[I][J].abs(), AMAX);
    }
    for (I = 1; I <= J; I++) {
      UMAX = max(AF[I][J].abs(), UMAX);
    }
    if (UMAX != 0.0) {
      RPVGRW = min(AMAX / UMAX, RPVGRW);
    }
  }
  return RPVGRW;
}