variables is None. In such a case, all arguments above are ignored.
All arguments are set as class properties.
The arrays variables and coefficients must have the same size.
If submodels, equations and fixed_values are not omitted, they too must have
the same length as variables. It is interpreted as the
-th variable
is connected to the
-th coefficient in the
-th equation (if there are
any) in the
-th submodel (if there are any). If the
-th fixed value is non-zero, the
-th coefficient
is not to be estimated. All entries of other_fields must also be of the same size
as variables.
Values of equations and
submodels should be strictly positive integers. Coefficients should
have different names across equations, i.e. if there would be
and
for
which the coefficients[i]==coefficients[j] and
equations[i]<>equations[j] and submodels[i]==submodels[j], it
would lead to errors when connecting specification and coefficients.
An alternative way of defining a specification is a dictionary format (passed to the constructor via the argument
specification_dict).
Keys of the dictionary are submodels. If there
is only one submodel, the value
should be used as key.
The value for each submodel entry is a list containing specification for the particular submodel.
The elements of each list can be defined in one of the following forms:
specification_dict can contain an entry '_definition_' which should be a list of elements in one of the forms above.
In such a case, the entries defined for submodels can contain only the variable aliases. The corresponding
coefficient names and fixed values (if defined) are taken from the definition section. Examples of specifications in
a dictionary format can be found in the unit tests of the EquationSpecification class.