next up previous contents index
Next: Recursion in assignments Up: Declaring and using linear Previous: Examples

Using assignments

Assigned quantities are generally used for constructing beliefs. Beliefs about themselves may be constructed by a subsequent BUILD:  command, or they may be included in the definition part of other BUILD:  commands, without being themselves constructed. Assignments defined with varying indices are particular useful for constructing many related quantities. Refer to the BUILD:  and COBUILD:  commands for further details.

Beware of making circular specifications, for example:

BD>assign : X=Y tex2html_wrap_inline33712

BD>assign : Y=X tex2html_wrap_inline33712

This is a permitted sequence of definitions, but the attempt to construct X would fail as the sequence of definitions is circular, and [B/D] would report an error.

If there is any confusion between assignment and element names in the definition part of an ASSIGN: , BUILD:  or COBUILD:  command, because an assignment of the same name as an element exists, the element name takes priority. The assignment name can be given priority by explicity prefixing it with the ! symbol, as in the example:

BD>assign : X.2=!Y.1 tex2html_wrap_inline33712

which defines the assignment X.2 to be explicitly the assignment whose name is Y.1 even if an element with the same name exists.

Assigned elements are accessed in such a way that cross-products and covariances are correcly evaluated for both the BUILD:  and COBUILD:  commands, so as correctly to determine the variance of the quantity that you are building.

Various commands allow the automatic creation of assignments where the linear combination is a more natural quantity to be retained than beliefs about them. As an example, the canonical quantities that result from an adjustment can be retained as assignments. The ascf  and ascl  operators can be used to inspect these assignments.



David Wooff
Wed Oct 21 15:14:31 BST 1998