# Other Helpful Functions

StructuralIdentifiability.extract_coefficientsMethod
extract_coefficients(poly, variables)

Intput:

• poly - multivariate polynomial
• variables - a list of variables from the generators of the ring of p

Output:

• dictionary with keys being tuples of length lenght(variables) and values being polynomials in the variables other than those which are the coefficients at the corresponding monomials (in a smaller polynomial ring)
StructuralIdentifiability.make_substitutionMethod
make_substitution(f, var_sub, val_numer, val_denom)

Substitute a variable in a polynomial with an expression

Input:

• f - the polynomial
• var_sub - the variable to be substituted
• var_numer - numerator of the substitution expression
• var_denom - denominator of the substitution expression

Output:

• polynomial - result of substitution
StructuralIdentifiability.parent_ring_changeMethod
parent_ring_change(poly, new_ring)

Converts a polynomial to a different polynomial ring Input

• poly - a polynomial to be converted
• new_ring - a polynomial ring such that every variable name appearing in poly appears among the generators

Output:

• a polynomial in new_ring "equal" to poly
StructuralIdentifiability.uncertain_factorizationMethod
uncertain_factorization(f)

Input:

• f - polynomial with rational coefficients

Output:

• list of pairs (div, certainty) where
• div's are divisors of f such that f is their product with certain powers
• if certainty is true, div is $Q$-irreducible