chjackson / msm

The msm R package for continuous-time multi-state modelling of panel data
https://chjackson.github.io/msm/
57 stars 17 forks source link

BLAS/LAPACK routine 'DGEBAL' gave error code -3 #28

Open MThomas312 opened 4 years ago

MThomas312 commented 4 years ago

Error in balance(baP$z, "S") : BLAS/LAPACK routine 'DGEBAL' gave error code -3 Calls: pmatrix.msm ... MatrixExp -> -> expm.Higham08 -> balance Execution halted

I got the following error when I tried to use pmatrix.msm() on a model that I fit with specified values for all covariates. An initial sweep on Google didn't return too many results. I'm not sure exactly what the error means or how to avoid it.

Many thanks in advance for all your help,

Matt

chjackson commented 4 years ago

Looks like something has gone wrong with the default method used to calculate matrix exponentials, which comes from the expm package.

You can supply arguments to expm through pmatrix.msm. See help(expm::expm) for documentation of them, e.g. pmatrix.msm(..., method="Pade") to change the method used.

More generally when there are numerical errors I'd also check whether the model is sensible, e.g. here does the matrix you are trying to exponentiate contain extreme values that correspond to parameters that are unrealistic in practice?