backwardDifferenceTable method

RealMatrix backwardDifferenceTable()

Computes the backward differences table and stores the results in a RealMatrix object.

Implementation

RealMatrix backwardDifferenceTable() {
  final size = nodes.length;
  final table = List<List<double>>.generate(
    size,
    (_) => List<double>.generate(size, (_) => 0, growable: false),
    growable: false,
  );

  // Initializing the column
  var index = 0;
  for (final node in nodes) {
    table[index++].first = node.y;
  }

  // Backward difference table
  for (var i = 1; i < size; i++) {
    for (var j = size - 1; j >= i; j--) {
      table[j][i] = table[j][i - 1] - table[j - 1][i - 1];
    }
  }

  return RealMatrix.fromData(
    columns: size,
    rows: size,
    data: table,
  );
}