Other Helpful Functions
StructuralIdentifiability.decompose_derivative
StructuralIdentifiability.eval_at_dict
StructuralIdentifiability.extract_coefficients
StructuralIdentifiability.make_substitution
StructuralIdentifiability.parent_ring_change
StructuralIdentifiability.switch_ring
StructuralIdentifiability.uncertain_factorization
StructuralIdentifiability.decompose_derivative
— Methoddecompose_derivative(varname, prefixes)
Determines if it is possible to represent the varname
as a_number
where a
is an element of prefixes
StructuralIdentifiability.eval_at_dict
— Methodeval_at_dict(f, d)
Evaluates a polynomial/rational function on a dictionary of type var => val
and missing values are replaced with zeroes
StructuralIdentifiability.extract_coefficients
— Methodextract_coefficients(poly, variables)
Intput:
poly
- multivariate polynomialvariables
- 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_substitution
— Methodmake_substitution(f, var_sub, val_numer, val_denom)
Substitute a variable in a polynomial with an expression
Input:
f
- the polynomialvar_sub
- the variable to be substitutedvar_numer
- numerator of the substitution expressionvar_denom
- denominator of the substitution expression
Output:
polynomial
- result of substitution
StructuralIdentifiability.parent_ring_change
— Methodparent_ring_change(poly, new_ring)
Converts a polynomial to a different polynomial ring Input
poly
- a polynomial to be convertednew_ring
- a polynomial ring such that every variable name appearing in poly appears among the generators
Output:
- a polynomial in
new_ring
"equal" topoly
StructuralIdentifiability.switch_ring
— Methodswitch_ring(v, ring)
For a variable v
, returns a variable in ring
with the same name
StructuralIdentifiability.uncertain_factorization
— Methoduncertain_factorization(f)
Input:
f
- polynomial with rational coefficients
Output:
- list of pairs
(div, certainty)
wherediv
's are divisors off
such thatf
is their product with certain powers- if
certainty
is true,div
is $Q$-irreducible