usnistgov / pyMCR

pyMCR: Multivariate Curve Resolution for Python
https://pages.nist.gov/pyMCR
Other
80 stars 27 forks source link

Error with the pyMCR demo #42

Closed antonyvam closed 2 years ago

antonyvam commented 2 years ago

Seems like the demo does not describe correctly how to use the NNLS as it gives the following error

mcrar = McrAR(max_iter=100, st_regr='NNLS', c_regr=OLS(), c_constraints=[ConstraintNonneg(), ConstraintNorm()])

image

This also fails for the same reason: mcrar = McrAR(c_regr=NNLS(), st_regr=NNLS(), c_constraints=[], st_constraints=[])

The OLS runs without errors: mcrar = McrAR(c_regr=OLS(), st_regr=OLS(), c_constraints=[ConstraintNonneg()], st_constraints=[ConstraintNonneg()])

Could you please provide some clarification or edit the Demo.ipynb and the JRes_NIST_Paper.ipynb accordingly?

CCampJr commented 2 years ago

Thanks for the info @antonyvam -- first I've heard of this problem. I'll get right on it.

CCampJr commented 2 years ago

@antonyvam Unfortunately, it looks like that's a Scipy bug https://github.com/scipy/scipy/issues/12273 for whatever version you have installed. I just run Demo and JRes* without a problem on my system.

I'm running: Python 3.8.5 Scipy 1.5.2 pyMCR 0.5.1

Upgrading Scipy and possibly your python distro my be the easiest solution.

Let me know if you need further help!