numpoly.clean_attributes

numpoly.clean_attributes(poly: numpoly.baseclass.ndpoly, retain_coefficients: Optional[bool] = None, retain_names: Optional[bool] = None)numpoly.baseclass.ndpoly[source]

Clean up polynomial attributes that does not affect representation.

Some operations results in polynomial with structures that are redundant. This includes extra unused indeterminants and coefficients consisting of only zeros.

Args:
poly:

Polynomial to clean up.

retain_coefficients:

Do not remove redundant coefficients. If omitted use global defaults.

retain_names:

Do not remove redundant names. If omitted use global defaults.

Return:

Same as poly, but with attributes cleaned up.

Example:
>>> q0, _ = numpoly.align_polynomials(*numpoly.variable(2))
>>> q0.indeterminants
polynomial([q0, q1])
>>> q0.exponents
array([[0, 1],
       [1, 0]], dtype=uint32)
>>> q0 = numpoly.clean_attributes(
...     q0, retain_coefficients=False, retain_names=False)
>>> q0.indeterminants
polynomial([q0])
>>> q0.exponents
array([[1]], dtype=uint32)