Straight-forward. Type = anti-diagonal. Equal unit stride.
2.0   3.0
4.0   9.0
 4
 1 1
1.0 2.0 3.0 4.0
5.0 6.0 7.0 8.0
Straight-forward. Type = anti-diagonal. Equal non-unit stride
2.0   3.0
4.0   9.0
 4
 2 2
1.0 2.0 3.0 4.0
5.0 6.0 7.0 8.0
Straight-forward. Type = anti-diagonal. Unequal non-unit stride.
2.0   3.0
4.0   9.0
 3
 2 3
1.0 2.0 3.0
5.0 6.0 7.0
Straight-forward. Type = unit diagonal
3.0   2.0
9.0   4.0
 4
 2 2
1.0 2.0 3.0 4.0
5.0 6.0 7.0 8.0
Row removal. H=0. Type = diagonal. Equal unit stride.
3.0   2.0
-1.0  1.0
 4
 1 1
1.0 2.0 3.0 4.0
5.0 6.0 7.0 8.0
Row removal. H=0. Type = diagonal. Equal non-unit stride.
3.0   2.0
-1.0  1.0
 4
 2 2
1.0 2.0 3.0 4.0
5.0 6.0 7.0 8.0
Row removal. H=0. Type = diagonal. Unequal non-unit stride.
3.0   2.0
-1.0  1.0
 3
 2 3
1.0 2.0 3.0
5.0 6.0 7.0
Attempted row removal but z1>w1. Error.
2.0   3.0
-1.0  1.0
 4
 1 1
1.0 2.0 3.0 4.0
5.0 6.0 7.0 8.0
Input vector is of the form (x1,0). H = I. Type = unit diagonal
2.0   0.0
4.0   9.0
 1
 1 1
1.0
2.0
Input vector is of the form (0,0). H = I. Type = unit diagonal
0.0   0.0
4.0   9.0
 1
 1 1
1.0
2.0
Input vector is of the form (0,x1). Type = anti-diagonal. Diag elems = 0
0.0   3.0
4.0   9.0
 1
 1 1
1.0
2.0
Error: 1/d(2) = 0.
2.0   3.0
4.0   0.0
0
Error: 1/d(1) = 0.
2.0   3.0
0.0   9.0
0
Error: 1/d(2) = 0, x(2) = 0.
2.0   0.0
4.0   0.0
0
Error: 1/d(1) = 0, x(1) = 0.
0.0   3.0
0.0   9.0
0
Error: d(2) < 0.
3.0   2.0
9.0  -4.0
0
