On success, S3L_sym_eigen returns S3L_SUCCESS.
S3L_sym_eigen performs generic checking of the arrays it accepts as arguments. If an array argument contains an invalid or corrupted value, the function terminates and an error code indicating which value of the array handle was invalid is returned. See Appendix A of this manual for a detailed list of these error codes.
In addition, the following conditions will cause the function to terminate and return the associated error code.
S3L_ERR_ARG_AXISNUM - Invalid value of axis1 or axis2.
S3L_ERR_MATCH_RANK - Ranks of the parallel arrays do not match.
S3L_ERR_ARRNOTSQ - The two-dimensional arrays in A are not square.
S3L_ERR_MATCH_EXTENTS - The extents of the parallel arrays do not match.
S3L_ERR_MATCH_DTYPE - The arguments are not all of the same data type and precision.
S3L_ERR_ARG_RANGE_INV - Invalid value used for range or limits.
S3L_ERR_ARG_NULL - Value of range is 1 or 2 but limits is a NULL pointer (C/C++) or 0 (F77/F90).