This section lists various attributes of lattices which can be examined and set by the user. This allows low-level control of information stored in lattices. Note that when an attribute is set, only minimal testing can be done on the value so if an incorrect value is set, unpredictable results may occur. Note also that if an attribute is not set, referring to it in an expression (using the ` operator) will not trigger the calculation of it (while intrinsic functions do); rather an error will ensue. Use the assigned operator to test whether an attribute is set.
The attribute for the minimum of a rational or integer lattice L. If the attribute L`Minimum is examined, either the minimum is known so it is returned or an error results. If the attribute L`Minimum is set by assignment, it must be a positive number equal to the minimum of the lattice. Magma will not check that this is correct since that may be very time-consuming. If the attribute is already set, the new value must be the same as the old value.
The attribute for an upper bound to the minimum of a rational or integer lattice L. If the attribute L`MinimumBound is examined, either an upper bound to the minimum is known so it is returned or an error results. If the attribute L`MinimumBound is set by assignment, it must be a positive number greater than or equal to the minimum of the lattice. Magma will not check that this is correct since that may be very time-consuming. If the attribute is already set, the new value must be the same as or smaller than the old value.