wise, where
                    R = 0, if M + P is even,
                    R = 1, if M + P is odd.
          On exit, if INFO = 0, IWORK(1) returns the number of
          iterations performed by the iterative algorithm
          (possibly 0).

  DWORK   DOUBLE PRECISION array, dimension (LDWORK)
          On exit, if INFO = 0, DWORK(1) contains the optimal value
          of LDWORK.
          On exit, if  INFO = -28,  DWORK(1)  returns the minimum
          value of LDWORK. These values are also set when