Thanks for your reply.
I checked the norm quantities and they are all near machine precision.
1st check : || A - U * S * VT || / || A ||
Lapack value : 7.7566e-015, Matlab value: 4.7706e-015
2nd check : || I - U^T * U ||
Lapack value : 5.0908e-015, Matlab value: 6.6682e-015
3rd check : || I - V^T V ||
Lapack value : 4.5241e-015, Matlab value: 6.2875e-015
I agree with you when you say both could be solutions to the problem considering the conditioning of the matrix. But since I am solving a problem which has an exact and unique solution, it baffles me to see the same algorithm gives different solutions. I am not sure why Matlab gives the solution that I need and not ZGESVD
Much appreciate your time and comments. Thanks.