START
D <- dimensional matrix
m <- number of rows of D
n <- number of columns of D
r <- rank of D
p <- n - r
Dsub_LHS <- D(rows 1 to m, columns 1 to p) size is m x p
Dsub_RHS <- D(rows 1 to m, columns p+1 to n) size is m x r
Augmented matrix <- [Dsub_RHS | (-1)*Dsub_LHS] size is m x (p + r)
STOP