Dominancia diagonal

Una matriz cuadrada (con el mismo número de filas que de columnas) se denomina diagonalmente dominante por filas si «el valor absoluto de cada elemento de la diagonal principal es estrictamente mayor que la suma de los valores absolutos de los demás elementos de su fila».

Para ilustrarlo...

[
  [10, 3, 6],
  [2, -9, -6],
  [1, -1, 4]
]

Los valores absolutos de arriba a la izquierda hacia abajo a la derecha son:

  • 10 = Primer elemento de la primera fila.
  • 9 = Segundo elemento de la segunda fila.
  • 4 = Tercer elemento de la tercera fila.

... lo que da un total de 23 para la diagonal.

En la primera fila...

  • El valor absoluto del elemento diagonal es 10.
  • Los valores absolutos de los demás elementos son 3 y 6, cuya suma es 9.

... por lo que, hasta aquí, la matriz es diagonalmente dominante por filas, ya que 10 > 9.

En la segunda fila...

  • El valor absoluto del elemento diagonal es 9.
  • Los valores absolutos de los demás elementos de la segunda fila son 2 y 6, cuya suma es 8.

... por lo que la segunda fila es diagonalmente dominante, ya que 9 > 8.

Si el primer valor fuera de la diagonal de esa fila cambia de 2 a 3, la suma de los demás valores absolutos es 9, así que no se cumple la dominancia estricta:

[
  [10, 3, 6],
  [3, -9, -6],
  [1, -1,  4]
]

Para que una matriz cuadrada sea diagonalmente dominante por filas, todas sus filas deben cumplir la misma condición que la fila 1.

Escribe una función que determine si una matriz cuadrada dada es diagonalmente dominante por filas.

Ejemplos

Program.diagDom(new int[][]{new int[]{2, -1}, new int[]{-1, 2}}) ➞ true

Program.diagDom(new int[][]{new int[]{0, 1}, new int[]{1, 0}}) ➞ false

Program.diagDom(new int[][]{new int[]{10, 3, 6}, new int[]{2, -9, -6}, new int[]{1, -1, 4}}) ➞ true

Program.diagDom(new int[][]{new int[]{10, 3, 6}, new int[]{3, -9, -6}, new int[]{1, -1, 4}}) ➞ false

Notas

Como se muestra en los ejemplos, el tamaño de las matrices cambiará, pero siempre serán cuadradas.