def negative(a: Woodbury): return Woodbury(B.negative(a.diag), B.negative(a.lr))
def negative(a: Kronecker): return Kronecker(B.negative(a.left), a.right)
def negative(a: UpperTriangular): return UpperTriangular(B.negative(a.mat))
def negative(a: LowRank): return LowRank(a.left, a.right, B.negative(a.middle))
def negative(a: LowerTriangular): return LowerTriangular(B.negative(a.mat))
def negative(a: Diagonal): return Diagonal(B.negative(a.diag))
def negative(a: Dense): return Dense(B.negative(a.mat))
def __neg__(self): return B.negative(self)
def subtract(a: AbstractMatrix, b: AbstractMatrix): return B.add(a, B.negative(b))