Other Helpful Functions
StructuralIdentifiability.decompose_derivativeStructuralIdentifiability.extract_coefficientsStructuralIdentifiability.make_substitutionStructuralIdentifiability.replace_with_icStructuralIdentifiability.switch_ringStructuralIdentifiability.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 If yes, returns a pair (a, number), otherwise nothing
StructuralIdentifiability.extract_coefficients — Methodextract_coefficients(poly, variables)Input:
poly- multivariate polynomialvariables- a list of variables from the generators of the ring ofpoly
Output:
- dictionary with keys being tuples of length
length(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.replace_with_ic — Methodreplace_with_ic(ode::ODE, funcs)Takes an ode and a list of functions in the states and parameters and makes a change of variable names x(t) -> x(0). Function is used to prepare the output for the case of known initial conditions
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 offsuch thatfis their product with certain powers- if
certaintyis true,divis $Q$-irreducible