next up previous contents index
Next: Modified indices Up: Generating beliefs Previous: Abbreviating collections of data-carrying

Functional forms and indices

 

These remarks about declaring functional indices apply to the following commands: the creation of functions via the F:  command, the declaration of assignments via the ASSIGN:  command, and the specification of functional beliefs over components and between components and elements via the FVAR:  and FE:  commands.

The quantities addressed by these commands can be defined so that they have indices that are allowed to vary and will later take positive integer values (assignments are a special exception). Suppose, for example, that you wished to generate an ANOVA type model of the form tex2html_wrap_inline34552 . We could explicitly create as elements all the terms given here, but it is more convenient and natural to define them as one assignment with indices that are permitted to vary as necessary. For example we might establish this model in [B/D] by issuing the command

BD>assign  Y.i.j=m+a.i+b.j+e.i.j tex2html_wrap_inline33712

Notice that we use the full stop character `.', followed by an alphabetic character to represent an index that can vary. When integer values to replace the indices become known, the integers replace the alphabetic characters, but not the full stop. Thus, were we actually to create an element from the assignment with i=2 and j=3, we would create an element with the name `Y.2.3'. Moreover, the act of creation would make reference to the quantities `a.2', `b.3', and `e.2.3'. The alphabetic characters representing a particular index must be unique to the occasion. That is, it is not permitted to define the assignment tex2html_wrap_inline34554 .

Given a particular command, we call the part to the left hand side of the equals symbol the naming part, and the part to the right hand side the definition part of the construction. Thus here tex2html_wrap_inline34556 is the naming part, and tex2html_wrap_inline34558 is the definition part of the construction.

To avoid confusion about when an index is not an index, we insist that the naming part may not contain both varying indices and integer indices. That is, the assignment name `X.2.i' is not allowed as it contains both integer and varying indices. However, as we have seen `Y.i.j' is allowed as it contains only varying indices, and `Z.4.1' is allowed as it contains only integer indices. However, the definition part is not limited in this way, so that you may mix varying and integer indices freely. For example, the following modification to the previous example is permitted:

BD>assign  Y.i.j=m+a.i+b.j+e.2.j tex2html_wrap_inline33712




next up previous contents index
Next: Modified indices Up: Generating beliefs Previous: Abbreviating collections of data-carrying

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