      Library routines IB01AD, IB01BD, and IB01CD.
          On exit, if  INFO = -23,  DWORK(1)  returns the minimum
          value of LDWORK.

  LDWORK  INTEGER
          The length of the array DWORK.
          In the formulas below, N should be taken not larger than
          NOBR - 1, if N &lt; 0 on entry.
          LDWORK = MAX( LW1, LW2, LW3, LW4 ), where
          LW1 = 0, if INIT = 'S' or 'N'; otherwise,
          LW1 = MAX( 2*(M+L)*NOBR*(2*(M+L)*(NOBR+1)+3) + L*NOBR,
                     4*(M+L)*N