# What's new in Analytica 6.3?

(Redirected from Analytica 6.3)

This page lists enhancements and more notable bug fixes in Analytica or ADE release 6.3 since the previous Analytica 6.2 release.

Release 6.3 is currently in beta. If you would like to use it as a beta tester, see Beta Tester Page.

## Arrows

### Dashed appearance for arrows without real dependency

When you draw an influence arrow from node A to B, it now shows a dashed arrow (by default) -- known as a "display arrow". The dashes indicate it is a potential dependency, but A is not actually in the Definition of B. If you then add or edit the Definition of B to include A, the arrow becomes solid. Or if you change the Definition to not include B, the arrow disappears.

#### Sticky arrows

Sometimes you may want a dashed arrow between node A and B to indicate that considerations in A may influence B even though A is not explicitly mentioned in the Definition of B -- as inAlignment probability above. For example, when you make a subjective assessment, you may take several factors into account when making that assessment, but you can't turn this into a precise formula that expresses the assessment in terms of these inputs. However, you still want to include these factors on your influence diagram, since you feel they remain part of the qualitative story behind the estimate. In other cases, In other cases, you might want to include some of the conceptual inputs that went into the creation of a mathematical relationship. These examples are conceptual inputs, but don't appear explicitly in the model. Since they don't appear explicitly in the Definition, the arrows between these nodes would normally be removed when you enter or change the Definition in order to keep the arrows consistent with the Definition. Making the arrow sticky means that it will stick (i.e., not be removed) even if it does not appear in the Definition.

To label an arrow as stick, open the right-mouse context menu for the arrow in edit mode, and select Sticky, and the dashed arrow will stick around:

#### Changing defaults

If you don't like this new behavior of showing display arrows as dashed, here's how to restore them to use the old solid lines: Press F12 to access the Typescript window and type (or copy) this into the Typescript:

att_arrowproperties::displayDashStyle arrowclass:0

To undo this change, type this into the Typescript:

att_arrowproperties::displayDashStyle arrowclass:1

### No arrow from X to module containing alias of X

It no longer shows an arrow from a variable node X to a module that contains an alias for X (unless the module contains another variable using X). It also now lets you draw a "display arrow" to a module without adding an alias node into the module.

For backward compatibility, it adds a display arrow from a variable to a module when you run it in Analytica 6.3 if an arrow appeared in a legacy model .

### Arrow to system variable alias nodes

It now displays influence arrows to aliases of system variables.

## Slider controls

Slider controls are a user input method that let a user set a value by dragging a pointer (thumb) along a scale. A slider can specify a single value (scalar), an interval, or multiple values. The values can be continuous numbers over a range, or discrete numbers or text values. You can also use a slider in a cell of an Edit table. It offers quite a few ways to set styles and colors. See slider controls for details and instructions for creating a slider.

## Show/Hide Attributes

Normally, the Object Window or Attribute pane show a standard set of attributes. Previously, you had to use the Attributes dialog to show other attributes. You can now toggle which attribute(s) to show for the current object from inside that view. This makes it much easier to see or modify advanced attributes such as Cell Default, OnChange, or OnClick.

In the Object Window in Edit mode, the new hover icon () appears in the bottom left corner. Click it to see a context menu where you can toggle which attributes to show in the current object only.

The Attribute pane in Edit mode now has a More ▸ submenu, which also lets you select other Attributes to show or hide for each node.

You can still use the Attributes dialog t(from the Object menu) to control which attributes to show by default for all objects. These new object-level Attribute settings override the default visibility set in the Attributes dialog, but only for that object.

## Built-in functions

New built-in functions:

• NextFloatToward(x, to): Allows you to increase or decrease by eplison, the smallest increment possible relative to what numbers can be represented. When the parameter «to» is greater than «x», it returns the smallest representable number that is larger than «x». When «to» is less than «x», returns the largest representable number that is smaller than «x».

Smallest representable number greater that x, or largest less than x. Useful in some algorithms that must contend with round-off errors.

• Log(x,b): The logarithm to an arbitrary base. (for convenience)
• Relu(x): Returns 0 when x is negative, x otherwise. (convenience, has gained common usage in literature)

Enhancement to existing functions:

• New 'chararacterName' and 'chararacterName' options for the «type» parameter of TextCharacterEncode.
• Added a new optional flag «resultIfNoVariation» to RankCorrel and Correlation, which is return when a result has fewer than 3 numeric points.
• Make Importance sets «resultIfNoVariation» to 0, eliminating some annoying NaN and Chance nodes with no uncertainty spread.
• Added a few conveniences to MdTable:
• MdTable can automatically set the index value for one or more of your global target indexes to the sorted unique values that appear in the corresponding column. To do this, first create your index and define it as ComputedBy(X), where X is the name of the variable that calls MdTable.
• MdTable can automatically create a local target index for any of you required target indexes, using the sorted unique values that appear in the corresponding column.
• You can have MdTable ignore any coordinate column by specifying Null in the corresponding entry to the «vars» parameter.
• Ability to use a 'Count' agglomeration without any value column. Done by setting «valueColumn» to Null, or by listing all indexes in a list to «vars».
• «vars» can be indexed by «Cols». In this case, «valueColumn» can be any column or 1-D array of columns (i.e., the index columns don't have to come first). For example,
MdTable(T, Row, Col, '.'&Col )
automatically creates local indexes for every column of your relational table. This is an easy way to do a quick transformation without having to set stuff up first (i.e., you don't have to create target indexes before).
• Added optional «showZeroImPart» parameter to NumberToText and CellNumberFormat functions.
• Added 'j' and 'J' to Formatted Text Literals' format flags.

## Libraries

Diagram Color Themes available in Color Themes Library
2023

2023 Dark

Classic

Monochrome

Viridis

Plasma

## Evaluation

• The following expressions are normally prone to underflow when x is very small (especially when abs(x)<1)
• Exp(x)-1 or 1-Exp(x)
• Ln( x + 1 ), Ln( 1 + x ), Log( x + 1, b ), Log( 1 + x, b ), Logten( x + 1 ), or Logten( 1 + x )
The parser now recognizes these syntactic forms and replaces them with a call to an internal function, either _Expm1 or _Log1p, which avoids the underflow for small x.
• Removed an automatic conversion of a complex number to a real number when its imaginary part is zero.
By convention, you have always been able to compute a complex function f(z) when z is complex even when EnableComplexNumbers is off. For example, Ln(-2-3j). But this convention would fail with Ln(-2+0j), since that would evaluate as Ln(-2), which issues a warning and returns NaN (unless EnableComplexNumbers is on), which made the convention somewhat inconsistent.
• Added a number format flag to control whether a zero imaginary part is printed for a complex number. For example, when it is on it might print 5+0j for a value of 5 with a data type of ComplexNumber.
• In typescript or assignment, the flag can be set using: NumberFormat::showZeroImPart of Va1 := 1
• In the Number format dialog, appears as a new checkbox named Show complex number im part when it is zero.
• Controllable in a Formatted Text Literal with 'j' (to show, e.g. 5+0j) or 'J' (to hide, e.g., 5).
• New option parameter «showZeroImPart» to NumberToText and CellNumberFormat functions.

• The huge arrays capability is now active in the Professional edition. (Not in the Free edition).
• This allows you to have Monte Carlo sample sizes > 32000, and index lengths >32000 in Professional.
• Other editions are unchanged with respect to this feature.

## UI Fonts

### Font fallback for Unicode characters

In various places in the UI, extended unicode characters that are not in the current font would appear as a box (e.g., ▯). It now "falls back" to other a different font that has the character when such a character is encountered.

### Configuring default fonts

You can change the default fonts used by the UI via these registry settings

• {HKLM,HKCU}/SOFTWARE/Lumina Decision Systems/Analytica/6.3/UI Font
• {HKLM,HKCU}/SOFTWARE/Lumina Decision Systems/Analytica/6.3/UI Fixed Font

You can list several font names separated by commas. The first font in the list that is installed on your computer is used. At this time, this is intended mostly for our internal experimentation.

## Typing extended characters

You can now type an extended character that does not correspond to a key on your keyboard by using its name. Press a backslash (\), type its name, then press the TAB key. For example, when you type \sigma[TAB], it inserts the character σ. Or, you can type a character using its hexadecimal code as \+22ed[TAB] which would become ⋭.

## Graphing

• There is now a graph setting option to turn off the edge line in an area fill plot.
Left image is without a fill border (the new option). Right image is with the fill border.
The option for this is on the Chart Type tab of the Graph setup dialog#Chart_Type_tab, and appears when Area Fill is on.

## Preview features

These "preview" features exist in build 6.3.0.220, but are not quite finalized or fully documented. Some may only become "official" in release 6.4:

• You can now use Import... option on the File menu to:
• Import a *.csv file into a diagram (with no nodes selected), which automatically adds a new variable and its required indexes as new nodes.
• Import from *.csv file into an edit table
• Import an image file into a diagram, which automatically creates a new Picture node.
• Import an image as the icon image into a selected node
• When you select a column from an edit table or result table in edit mode, the right-click context menu has a new option New variable from column.... It makes a new variable using the values from that column (so without the Column index). This is convenient when you have an imported table with different columns that mix different quantities together, and you want to split them into separate variables, which is a best practice in Analytica.
• When viewing a relational result table in edit mode, the new Relational table to array... option on the right-click context menu, opens a wizard dialog to help convert the table into a multidmensional array. It generates a new variable defined using the MdTable function, along with any needed extra indexes, local or global. This wizard makes it much easier to do this common transformation without having to write code using MdTable and manually create the new indexes.

• Please share you opinions and rationale to support@lumina.com.