def tridiag(): m = Matrix(TRI_DIAGONAL) a = [0] # a0 is not used but must be present a.extend(m.diag(-1)) b = m.diag(0) c = m.diag(+1) return a, b, c
def test_diag(): m = Matrix(DIAG) assert m.diag(0) == [1, 2, 3, 4] assert m.diag(1) == [2, 3, 4] assert m.diag(2) == [5, 6] assert m.diag(3) == [7] assert m.diag(4) == [] assert m.diag(-1) == [5, 4, 3] assert m.diag(-2) == [7, 6] assert m.diag(-3) == [8] assert m.diag(-4) == []