There is a specification bug in 2.0 for Matrix_diag. On page 86, lines 1972 and 1973, there are two cases for k >= 0, and there is no case for k < 0. What was probably meant is that line 1973 should read like this:
L(C) = {(i+k, i, v_i) : (i, v_i) ∈ L(v)} if k < 0.
Somebody probably thought that "i+k" is confusing because i should be decremented by some value. ;)
Maybe another formulation could be this:
L(C) = {(i-|k|, i, v_i) : (i, v_i) ∈ L(v)} if k < 0.
Hi,
There is a specification bug in 2.0 for Matrix_diag. On page 86, lines 1972 and 1973, there are two cases for k >= 0, and there is no case for k < 0. What was probably meant is that line 1973 should read like this:
L(C) = {(i+k, i, v_i) : (i, v_i) ∈ L(v)} if k < 0.
Somebody probably thought that "i+k" is confusing because i should be decremented by some value. ;)
Maybe another formulation could be this:
L(C) = {(i-|k|, i, v_i) : (i, v_i) ∈ L(v)} if k < 0.
Pascal