Problem Report


Problem Associated with Manipulating Matrices in 10.5 SP2

An error has been found in GoldSim 10.5 SP2, related to changing the members of an array-label set that is used to define the rows or columns of a matrix.

The error occurs when:

  • A reference has been made to a row, a column, or a single item within a matrix-type output, using an expression such as: “M[Friday, *]” (which would reference the ‘Friday’ (sixth) row in a matrix), and
  • Subsequently the array-label set is edited so that the referenced row or column has a different ordinal value. This would happen if an earlier entry in the set (e.g. ‘Thursday’) was deleted.

When this happens the originally-referenced row or column number (i.e. 6) is not automatically corrected to reflect its new value. If the original row or column number is still valid then the model will still run, and will give incorrect results, as the wrong row or column will be accessed.

If this error has occurred in a model then in order to correct it you need to force GoldSim to reparse the input. You can do this in two ways:

  1. Press Ctrl-Alt-Shift-F11, which will cause GoldSim to reparse every input in your model; or
  2. Edit the affected input expression in any way, such as by appending a space to it, which will force it to be reparsed.

Unfortunately there is no way to identify whether a model has been affected by this problem, other than to save its results, force a reparse, re-run it, and compare the new to the previous results.

This problem was corrected in 10.5 SP3 (i.e., the problem cannot occur in any models created in 10.5 SP3 or later. However, if your model was created in a previous version, and the error was present in that version, simply opening the model in the new version will not eliminate the error. You must follow the steps above to reparse the model in order to correct the error permanently.


Making Better Decisions In An Uncertain World