ICISAnalysis: Perform identifiability analysis of an ODE system A at the...

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/IdentAnalysis.R

Description

this function computes the initial condition-based identifiability score (ICIS) and a few related quantitative measures of identifiability of an ODE system at initial conditon x0.

Usage

1
ICISAnalysis(A, x0, n.digits=3)

Arguments

A

The original system matrix.

x0

The initial condition.

n.digits

Number of significant digits used in computing w0k.norm hence ICIS.

Details

The initial condition-based identifiability score ICIS is a quantitative measure of identifiability of an ODE system A at the initial value x0. If ICIS equals zero (the significant digits of ICIS is less than n.digits), A is not mathematically identifiable at x0. Besides, A may be unidentifiable due to having repeated eigenvalues, which will also be checked by ICISAnalysis.

Value

Identifiable

A logic variable, TRUE means identifiable, FALSE means unidentifiable.

Ident1

A logic variable, TRUE means ICIS is greater than zero, FALSE means ICIS is zero (up to n.digits of significant digits) therefore A is not identifiable at x0.

Ident2

A logic variable, TRUE means there is no repeated eigenvalue of A (up to n.digits of significant digits), FALSE means there are repeated eigenvalues of A, therefore A is not identifiable (for any x0).

ICIS

The initial condition-based identifiability score. Larger value of ICIS implies better practical identifiability.

w0k.norm

A vector of K elements. w0k.norm[k] represents the projection of x0 on the linear space spanned by the kth invariant subspace of A. Note that ICIS is defined as the minimum of w0k.norm.

I0

A dxd-dimensional diagonal matrix with either zero or one on the diagonal. If the ith diagonal entry is one, A is not identifiable on the invariant subspace corresponds with the ith eigenvector.

Iplus

A dxd-dimensional diagonal matrix that is the complement of I0. I_{+} := I_{d\times d} - I_{0}.

Jordan

Some useful information provided by the Jordan decomposition of A on the field of real numbers.

J

The block-diagonal matrix that represents real (1x1 blocks) and complex eigenvalues (2x2 blocks) of A.

Qmat

The matrix of eigenvectors and semi-eigenvectors (for complex eigenvalues).

Qinv

The inverse of Qmat.

K1

Number of real eigenvalues.

K2

Number of pairs of complex eigenvalues. So d=K1+2*K2.

Lgap

The smallest gap between eigenvalues. If this quantity is zero (up to n.digits of significant digits), A is not identifiable for all x0.

RepEigenIdx

A list of the indices of eigenvalues that have repeated values.

Author(s)

Xing Qiu

References

X. Qiu, T. Xu, B. Soltanalizadeh, and H. Wu. (2020+) Identifiability Analysis of Linear Ordinary Differential Equation Systems with a Single Trajectory. Submitted.

See Also

PISAnalysis

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
A1  <- matrix(c(0, 1, -1,
                2, 0, 0,
                3, 1, 0), 3, byrow=TRUE)
jcf1 <- JordanReal(A1); J1 <- jcf1$J; Qmat1 <- jcf1$Qmat; Qinv1 <- jcf1$Qinv

## A1 is identifiable at x0.a but not identifiable at x0.b
x0.a <- Qmat1 %*% c(2, -1, 0)
x0.b <- Qmat1 %*% c(0, -2, 3)

## now check the identifiability of A1 at x0.a and x0.b
ICISAnalysis(A1, x0.a) #yes
ICISAnalysis(A1, x0.b) #no because ICIS==0; I0 is not a zero matrix

qiuxing/ode.ident documentation built on Sept. 30, 2020, 11:17 a.m.