Ich würde es nicht Elimination nennen, besser: elementare Spaltenoperationen.
Im Übrigen korrigiere ich mich und behaupte das Gegenteil: Der Rang kann durchaus gleich 3 sein.
Das folgende Skript
import numpy as np
a1,a2,a3,b1,b2,b3 = 1,2,-3,-4,5,6
a = np.array([
[a1 + b1, a1 + b2, a1 + b3],
[a2 + b1, a2 + b2, a2 + b3],
[a3 + b1, a3 + b2, a3 + b3]])
print(a)
b = mat.rref(a)
print(b)
liefert die Ausgabe
[[-3 6 7]
[-2 7 8]
[-7 2 3]]
[[1 0 0]
[0 1 0]
[0 0 1]]