A Hessenberg matrix is a matrix of the form [a_11 | a_12 | a_13 | ... | a_(1(n - 1)) | a_(1n) a_21 | a_22 | a_23 | ... | a_(2(n - 1)) | a_(2n) 0 | a_32 | a_33 | ... | a_(3(n - 1)) | a_(3n) 0 | 0 | a_43 | ... | a_(4(n - 1)) | a_(4n) 0 | 0 | 0 | ⋱ | a_(5(n - 1)) | a_(5n) ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ 0 | 0 | 0 | a_((n - 1)(n - 2)) | a_((n - 1)(n - 1)) | a_((n - 1) n) 0 | 0 | 0 | 0 | a_(n(n - 1)) | a_(n n)].