0 votes
1.3k views

A question from my inexpertise, but, the custom process/product system I am making has a "matrix is singular" error occurring and I am unsure how to proceed in debugging. I am using an Ecoinvent database. It occurs in both Lazy and Eager calculation types (the Eager not completing the calculation after it finds the singular matrix).

14:32:39ERRORorg.openlca.app.results.InfoPageMatrix error: the matrix is probably singular.

Below is listed additional information and things I done so far to debug, but I suspect that error comes in my amounts. Either from misuse of parameters in the process or lack of understanding in how openLCA needs data input.

This process is a template to evaluate individual products controlled by global parameters, implying that many of its input values will be 0 for any given calculation. However, through testing of other custom processes I don't have reason to believe that by itself is an issue. I have confirmed that the processes that make up this template calculate normally/as intended by themselves. This seems to rule out the only other answer I have seen related to this error, which noted a problem with the database autoconnecting.

This template is built around inputting global parameters to link it and all of the other processes I needed to construct together. Almost all of the input amounts are governed by global parameters. While I am not 100% certain, I am at reasonable sure that everything that should have a value does. Everything else is set to 0.

My guess is that there is something either with the dataset or with my parameters that isn't well. I would expect the calculation to work even if it was wrong, but I am getting the "matrix is singular" error and no output. A lazy calculation does bring up the results screen but all of the amount values are "NaN" and there are no connects or sources visible on any of the readouts.

If you are kind enough to read and answer this, let me know if you need anymore information or files

in openLCA by (130 points)

1 Answer

+1 vote
by (126k points)
Hi, singular matrices are explained e.g. here https://www.geeksforgeeks.org/singular-matrix/ . Basically, a square matrix that has linearly dependent rows or columns is singular. In this case, one row or column is just the same as another, multiplied with a constant factor. This can happen if you have two times a column that is entirely 0, for all values, for example. Which could indeed be caused by your parameter setttings.
by (130 points)
Thank you! Adding values to the items that were 0 cleared up the error. Unfortunate for how I was looking to use this template but workable.
...