For the scalapack, when I set the lwork = -1, I can get a result from work[0].
For example, the work[0] == 900000000.
So the lwork = 900000000.
How about the length of work? is it lwork * sizeof(double), or just lwork?
should I use work = new double[900000000] or work = (double *)malloc(900000000)?