Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uninformative error message in update: "Matrix is singular." #9581

Open
eivindjahren opened this issue Dec 18, 2024 · 0 comments
Open

Uninformative error message in update: "Matrix is singular." #9581

eivindjahren opened this issue Dec 18, 2024 · 0 comments

Comments

@eivindjahren
Copy link
Contributor

eivindjahren commented Dec 18, 2024

Image

This behavior can be reproduced with this setup: https://github.com/eivindjahren/ert/tree/update_err_msgs/test-data/ert/counter_examples/matrix-is-singular-0

This is the traceback of the thrown error:


Traceback (most recent call last):
  File "/../ert/src/ert/gui/simulation/run_dialog.py", line 426, in _on_event
    @Slot(object)

  File "/../ert/src/_ert/threading.py", line 85, in _handler
    raise current_exception
_ert.threading.ErtThreadError: Matrix is singular. in thread 'ert_gui_simulation_thread'
 Traceback (most recent call last):
  File "/../ert/src/_ert/threading.py", line 57, in run
    super().run()
  File "/.../opentelemetry/instrumentation/threading/__init__.py", line 129, in __wrap_threading_run
    return call_wrapped(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/threading.py", line 1010, in run
    self._target(*self._args, **self._kwargs)
  File "/../ert/src/ert/gui/simulation/run_dialog.py", line 354, in run
    self._run_model.start_simulations_thread(
  File "/usr/lib/python3.12/contextlib.py", line 81, in inner
    return func(*args, **kwds)
           ^^^^^^^^^^^^^^^^^^^
  File "/../ert/src/ert/run_models/base_run_model.py", line 355, in start_simulations_thread
    raise e
  File "/../ert/src/ert/run_models/base_run_model.py", line 331, in start_simulations_thread
    self.run_experiment(
  File "/usr/lib/python3.12/contextlib.py", line 81, in inner
    return func(*args, **kwds)
           ^^^^^^^^^^^^^^^^^^^
  File "/../ert/src/ert/run_models/ensemble_smoother.py", line 98, in run_experiment
    posterior = self.update(prior, ensemble_format % 1)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/../ert/src/ert/run_models/base_run_model.py", line 792, in update
    smoother_update(
  File "/../ert/src/ert/analysis/_es_update.py", line 798, in smoother_update
    raise e
  File "/../ert/src/ert/analysis/_es_update.py", line 772, in smoother_update
    analysis_ES(
  File "/../ert/src/ert/analysis/_es_update.py", line 518, in analysis_ES
    T = smoother_es.compute_transition_matrix(Y=S, alpha=1.0, truncation=truncation)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/.../iterative_ensemble_smoother/esmda.py", line 350
, in compute_transition_matrix
    return inversion_func(
           ^^^^^^^^^^^^^^^
  File "/.../iterative_ensemble_smoother/esmda_inversion.py"
, line 229, in inversion_exact_cholesky
    T = sp.linalg.solve(C_DD, D - Y, **solver_kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/.../scipy/linalg/_basic.py", line 253, in solve
    _solve_check(n, info)
  File "/.../scipy/linalg/_basic.py", line 40, in _solve_che
ck
    raise LinAlgError('Matrix is singular.')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant