Remove the setter for lp_degree property of the MultiIndexSet
Currently, the lp_degree
property of the MultiIndexSet
is equipped with a setter.
However, the lp_degree
is required for the construction of a MultiIndexSet
instances (although there is a default value) and should be considered a fixed property of the multi-index set.
While the spatial dimension and the polynomial degree1 can be inferred from a given set of exponents, and can even change itself if the underlying exponents change (say, new exponents), the lp_degree
property cannot be inferred.
Furthermore, lp_degree
is the basis on which the polynomial degree is inferred from a given set of exponents; it would be shaky for this property to be set to another value once the object is instantiated.
Changing the value of the property after the object has been instantiated, therefore, is not meaningful and potentially dangerous. I propose to remove this setter altogether. At least, in the current code base, the property is never assigned (i.e., appears on the left-hand side of an assignment statement).
-
specifically, the minimum polynomial degree (
n
) that can contain the all the exponents (\boldsymbol{\alpha}
) such that for the given lp-degree (l_p
) the condition\lVert\boldsymbol{\alpha}\rVert_{l_p} \leq n
holds.↩