Other Helpful Functions

StructuralIdentifiability.default_cmpMethod
default_cmp(ode)

Returns a comparator for rational functions. Used as a default measure of simplicity in StructuralIdentifiability.jl.

Example

julia> using StructuralIdentifiability

julia> ode = @ODEmodel(
           x0'(t) = -(a01 + a21) * x0(t) + a12 * x1(t),
           x1'(t) = a21 * x0(t) - a12 * x1(t),
           y(t) = x0(t)
       );

julia> f1, f2 = (a01 + a21) // a12, x0 // a12;

julia> cmp = default_cmp(ode);

julia> cmp(f1, f2) # returns true, so f1 is considered simpler than f2
true
source
StructuralIdentifiability.extract_coefficientsMethod
extract_coefficients(poly, variables)

Input:

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

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)
source
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
source
StructuralIdentifiability.replace_with_icMethod
replace_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

source
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
source