A size (n, n) bidiagonal matrix has a diagonal length of n and a subdiagonal of length n-1.
This statement is checked in the constructor of Bidigonal, but is false for n == 0.
The empty Bidiagonal should be allowed and contain empty diagonal and subdiagonal.
Remark: the processing of case n == 0 is already present in the code, as I could see at many places.