Analytica 4.0 beta Release Notes/

Changes in

(Since Note: Most beta testers will be upgrading from build If that is you, you probably want to also view the release nodes for

Some minor bug fixes not listed here.

Patch for

A minor bug (see Graphing below) found already in can be patched (if you don't want to wait for the next release) by replacing your Analytica.ini file with this one: Analytica fixed.ini. After you download the file, rename it and replace the Analytica.ini file in your Analytica install directory.

The problem is minor and easily worked around, so this patch is no where near critical.

Influence Diagrams

  • When you remove an arrow by redrawing it, if the definition is impacted, a confirmation dialog now appears before deleting it.
  • An experimental functionality when you delete an arrow from a scalar variable to another variable has been disabled. Suppose you delete an arrow A → B, and A's Mid-value is a scalar. The experimental functional replaced occurrences of A in B's definition with the actual scalar value, so that B's definition remained value. For example, if B is defined as Sqrt(A)+A, and A is 7.2, then when you delete A→B, the definition would be re-written as Sqrt(7.2)+7.2. This functionality has been present for several months in 4.0 beta on a tentative basis to see if people thought it desirable or undesirable. The verdict: disliked.
  • The feature that automatically comments input variable identifiers in definitions when an arrow is deleted has been extended to work even when the definition does not successfully parse. This allows it to work when arrows are deleted in succession. For example, suppose C := A+B. When you delete the arrow A → C, the definition becomes {A}+B, which no longer parses. If you now delete the arrow B → C, the definition will be re-written again to become {A}+{B}. (Previously, the definition wasn't changed if the arrow deletion took place on an unparseable definition).
  • With a single node selected on a diagram, the dialog Uncertainty Settings... (or CTRL-U) now applies to that selected node. (Previously, you had to be in a result view to set the variable's own settings).

Sensitivity Analyses

  • Make Importance now defines the index as a list of identifiers, rather than as a self-indexed table. This has several advantages. For example, you can press CTRL-Y when viewing the result to toggle between viewing the identifier or title of the inputs. Also, you can double click on the identifier from the result table to jump directly to the input variable.

Functions & Evaluation

  • JoinText(A) can now be used on a list, to perform the join over the implicit index. Use the syntax
JoinText(A, separator', ')


JoinText]](A, , ', ')

to specify a separator without specifying the index.

  • When an optional index parameter is omitted to common built-in functions, like Sum or Max, the operation should occur over the implicit index (if there is an implicit index). For example:
Max([A, B])

takes larger of the values in A or in B, cell-by-cell -- the maximum is taken over the list-dimension. The recognition of which dimension is explicit has been extended to be a bit smarter. So, for example, if you write:

Var C := [A, B] Do Max(C)

it will recognize the list dimension as the implicit dimension. In this example, C can also be used explicitly, as in Max(C,C), to disambiguate the index being operated over. Because that was possible, Analytica did not always treat C as the outer-most dimension when it was named in this fashion. This enhancement ensures that Analyica recognizes that C is an implicit dimension in a case like this, even though it can also be used explicitly. Note: If you were to write

Fn(Var C := [A, B] Do C)

then inside the body of the Var..Do, C can be referred to explicitly where an index parameter is expected. But, once that value leaves the lexical context of the Var..Do, it can no longer be used explicitly, and thus would be an implicit dimension. So the parameter passed to Fn, the dimension corresponding can no longer be referred to by name, and is then implicit. (This has not changed). If you wanted it to remain explict outside of the lexical context, then you would use the Index..Do declaration.

  • The previous bullet also extends to user-defined functions with a parameter declared as List. For example:
Fu1(L: List)

iterates over any explicit dimensions of the parameter, so that inside the function, L has only the implicit (list) dimension. A call like this remains uneffected:

Fu1([A, B])

But in a call like this:

Var C:=[A, B] Do Fu(C)

C was not previous recognized to be an implicit (list) dimension, while now it is.


  • The font face for axis labels can be set to "(same as axis titles)". Similarly for key titles and key labels. Graphical artists recommend that a single font face be used for all labels on a graph, so it is normal to have all these the same, and this default setting allows the face to be controlled normally via a single selection. Previously, this option was presented as a blank selection, but all font attributes (size, bold, italics) were inherited when this was selected. Now only the face is, and size or style can be different while only face is being inherited. PATCH: Unfortunately, we discovered a problem with this feature in this build. You can patch this problem by replacing your Analytica.ini file (in the Analytica install directory) with this one: Analytica fixed.ini, making sure to rename it to Analytica.ini after downloading.


  • A problem in made it impossible to add a reference to ADE from a new project in Visual Studio. This has been fixed.

You are not allowed to post comments.