Other Helpful Functions
StructuralIdentifiability.decompose_derivative
StructuralIdentifiability.extract_coefficients
StructuralIdentifiability.make_substitution
StructuralIdentifiability.replace_with_ic
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
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 off
such thatf
is their product with certain powers- if
certainty
is true,div
is $Q$-irreducible