**********************************************************************
* GENERATING SERIES Approach for Structural Identifiability Analysis *
**********************************************************************

Model name:     HighDimNonLin
Matlab version: 9.1.0.441655 (R2016b)
Computer:       PCWIN64
Options:
                verbose: 1
         reportCompTime: 1
                 noRank: 0
            closeFigure: 1
                  store: 1
    problem_folder_path: 'D:\data\Tom\Research\GenSSI\Examples\HighDimNonLin\run1'

**************
* INPUT DATA *
**************

Maximum number of derivatives for the analysis: 2

State variables (x):
  x1
  x2
  x3
  x4
  x5
  x6
  x7
  x8
  x9
 x10
 x11
 x12
 x13
 x14
 x15
 x16
 x17
 x18
 x19
 x20
 
Vector field for autonomous dynamics (f):
 - p1*x1 - (vm*x1)/(km + x1)
               p1*x1 - p2*x2
               p2*x2 - p3*x3
               p3*x3 - p4*x4
               p4*x4 - p5*x5
               p5*x5 - p6*x6
               p6*x6 - p7*x7
               p7*x7 - p8*x8
               p8*x8 - p9*x9
             p9*x9 - p10*x10
           p10*x10 - p11*x11
           p11*x11 - p12*x12
           p12*x12 - p13*x13
           p13*x13 - p14*x14
           p14*x14 - p15*x15
           p15*x15 - p16*x16
           p16*x16 - p17*x17
           p17*x17 - p18*x18
           p18*x18 - p19*x19
           p19*x19 - p20*x20
 
Control vector (g):
     1
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0

Initial conditions (x0):
  x01
  x02
  x03
  x04
  x05
  x06
  x07
  x08
  x09
 x010
 x011
 x012
 x013
 x014
 x015
 x016
 x017
 x018
 x019
 x020
 
Observables (y):
  x1
  x2
  x3
  x4
  x5
  x6
  x7
  x8
  x9
 x10
 x11
 x12
 x13
 x14
 x15
 x16
 x17
 x18
 x19
 x20
 
Parameters considered for structural identifiability analysis:
  vm
  km
  p1
  p2
  p3
  p4
  p5
  p6
  p7
  p8
  p9
 p10
 p11
 p12
 p13
 p14
 p15
 p16
 p17
 p18
 p19
 p20
 
Report inputs elapsed time: 0.075624
 
**********************************
* COMPUTATION OF LIE DERIVATIVES *
**********************************

COMPUTING LIE DERIVATIVES OF ORDER 1
.................................................................
   -> The rank of the Jacobian generated by 1 derivatives is  20.
   -> The rank of the next Jacobian is expected to be maximum 22.
.................................................................
 
 
COMPUTING LIE DERIVATIVES OF ORDER 2
.................................................................
   -> The rank of the Jacobian generated by 2 derivatives is 22.
 
Compute Lie derivatives elapsed time: 0.50018
 
******************************************
* COMPUTATION OF IDENTIFIABILITY TABLEAU *
******************************************

Rank of full Jacobian matrix: 22 
=> THE RANK OF THE FULL JACOBIAN IS COMPLETE, THUS AT LEAST LOCAL IDENTIFIABILITY IS GUARANTEED.

Compute tableau elapsed time: 2.4241
 
***************************************************
* COMPUTATION OF REDUCED IDENTIFIABILITY TABLEAUS *
***************************************************

Relations needed for computing parameters:
                                               - c1 - p1*x01 - (vm*x01)/(km + x01)
                                                              p1*x01 - c2 - p2*x02
                                                              p2*x02 - c3 - p3*x03
                                                              p3*x03 - c4 - p4*x04
                                                              p4*x04 - c5 - p5*x05
                                                              p5*x05 - c6 - p6*x06
                                                              p6*x06 - c7 - p7*x07
                                                              p7*x07 - c8 - p8*x08
                                                              p8*x08 - c9 - p9*x09
                                                           p9*x09 - c10 - p10*x010
                                                         p10*x010 - c11 - p11*x011
                                                         p11*x011 - c12 - p12*x012
                                                         p12*x012 - c13 - p13*x013
                                                         p13*x013 - c14 - p14*x014
                                                         p14*x014 - c15 - p15*x015
                                                         p15*x015 - c16 - p16*x016
                                                         p16*x016 - c17 - p17*x017
                                                         p17*x017 - c18 - p18*x018
                                                         p18*x018 - c19 - p19*x019
                                                         p19*x019 - c20 - p20*x020
 (p1*x01 + (vm*x01)/(km + x01))*(p1 + vm/(km + x01) - (vm*x01)/(km + x01)^2) - c21
                  - c22 - p1*(p1*x01 + (vm*x01)/(km + x01)) - p2*(p1*x01 - p2*x02)
 
Compute reduced tableau  elapsed time: 2.1287
 
*****************************************************************************************************
* DETECTION OF (DIRECT) STRUCTURALLY GLOBALLY IDENTIFIABLE PARAMETERS AND REORGANIZATION OF TABLEAU *
*****************************************************************************************************

=> NO STRUCTURALLY GLOBALLY IDENTIFIABLE PARAMETER COULD BE DETERMINED DIRECTLY
=> NO STRUCTURALLY LOCALLY IDENTIFIABLE PARAMETER COULD BE DETERMINED DIRECTLY

*******************************************************************************************************
* REMAINING PARAMETERS (APART FROM IDENTIFIABLE OR NON-IDENTIFIABLE), AND THE CORRESPONDING RELATIONS * 
*******************************************************************************************************

--> Parameters: 
  vm
  km
  p1
  p2
  p3
  p4
  p5
  p6
  p7
  p8
  p9
 p10
 p11
 p12
 p13
 p14
 p15
 p16
 p17
 p18
 p19
 p20
 
--> Relations: 
                                               - c1 - p1*x01 - (vm*x01)/(km + x01)
                                                              p1*x01 - c2 - p2*x02
                                                              p2*x02 - c3 - p3*x03
                                                              p3*x03 - c4 - p4*x04
                                                              p4*x04 - c5 - p5*x05
                                                              p5*x05 - c6 - p6*x06
                                                              p6*x06 - c7 - p7*x07
                                                              p7*x07 - c8 - p8*x08
                                                              p8*x08 - c9 - p9*x09
                                                           p9*x09 - c10 - p10*x010
                                                         p10*x010 - c11 - p11*x011
                                                         p11*x011 - c12 - p12*x012
                                                         p12*x012 - c13 - p13*x013
                                                         p13*x013 - c14 - p14*x014
                                                         p14*x014 - c15 - p15*x015
                                                         p15*x015 - c16 - p16*x016
                                                         p16*x016 - c17 - p17*x017
                                                         p17*x017 - c18 - p18*x018
                                                         p18*x018 - c19 - p19*x019
                                                         p19*x019 - c20 - p20*x020
 (p1*x01 + (vm*x01)/(km + x01))*(p1 + vm/(km + x01) - (vm*x01)/(km + x01)^2) - c21
                  - c22 - p1*(p1*x01 + (vm*x01)/(km + x01)) - p2*(p1*x01 - p2*x02)
 
--> Symbolic solution(s) of the remaining parameters: 
--> The parameter vm has the solution/solutions: 
  -((c1^3*x02 - c1*c2^2*x01 - c1^2*c2*x01 + c1*c22*x01*x02)*(c1^2*x02 - c2^2*x01 - c1*c2*x01 + c22*x01*x02))/((c1*x02 - c2*x01)*(c1^3*x02 - c1^2*c2*x01 + c2*c21*x01^2 - c1*c21*x01*x02))
--> The parameter km has the solution/solutions: 
  -(c1*c2^2*x01^2 + c2*c21*x01^3 - c1*c21*x01^2*x02 - c1*c22*x01^2*x02)/(c1^3*x02 - c1^2*c2*x01 + c2*c21*x01^2 - c1*c21*x01*x02)
--> The parameter p1 has the solution/solutions: 
  (c22*x02 - c2^2)/(c1*x02 - c2*x01)
--> The parameter p2 has the solution/solutions: 
  -(c1*c2 - c22*x01)/(c1*x02 - c2*x01)
--> The parameter p3 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 - c22*x01*x02)/(x03*(c1*x02 - c2*x01))
--> The parameter p4 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 - c22*x01*x02)/(x04*(c1*x02 - c2*x01))
--> The parameter p5 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 - c22*x01*x02)/(x05*(c1*x02 - c2*x01))
--> The parameter p6 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 - c22*x01*x02)/(x06*(c1*x02 - c2*x01))
--> The parameter p7 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 - c22*x01*x02)/(x07*(c1*x02 - c2*x01))
--> The parameter p8 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 - c22*x01*x02)/(x08*(c1*x02 - c2*x01))
--> The parameter p9 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 - c22*x01*x02)/(x09*(c1*x02 - c2*x01))
--> The parameter p10 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 + c1*c10*x02 - c2*c10*x01 - c22*x01*x02)/(x010*(c1*x02 - c2*x01))
--> The parameter p11 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 + c1*c10*x02 - c2*c10*x01 + c1*c11*x02 - c2*c11*x01 - c22*x01*x02)/(x011*(c1*x02 - c2*x01))
--> The parameter p12 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 + c1*c10*x02 - c2*c10*x01 + c1*c11*x02 - c2*c11*x01 + c1*c12*x02 - c2*c12*x01 - c22*x01*x02)/(x012*(c1*x02 - c2*x01))
--> The parameter p13 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 + c1*c10*x02 - c2*c10*x01 + c1*c11*x02 - c2*c11*x01 + c1*c12*x02 - c2*c12*x01 + c1*c13*x02 - c2*c13*x01 - c22*x01*x02)/(x013*(c1*x02 - c2*x01))
--> The parameter p14 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 + c1*c10*x02 - c2*c10*x01 + c1*c11*x02 - c2*c11*x01 + c1*c12*x02 - c2*c12*x01 + c1*c13*x02 - c2*c13*x01 + c1*c14*x02 - c2*c14*x01 - c22*x01*x02)/(x014*(c1*x02 - c2*x01))
--> The parameter p15 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 + c1*c10*x02 - c2*c10*x01 + c1*c11*x02 - c2*c11*x01 + c1*c12*x02 - c2*c12*x01 + c1*c13*x02 - c2*c13*x01 + c1*c14*x02 - c2*c14*x01 + c1*c15*x02 - c2*c15*x01 - c22*x01*x02)/(x015*(c1*x02 - c2*x01))
--> The parameter p16 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 + c1*c10*x02 - c2*c10*x01 + c1*c11*x02 - c2*c11*x01 + c1*c12*x02 - c2*c12*x01 + c1*c13*x02 - c2*c13*x01 + c1*c14*x02 - c2*c14*x01 + c1*c15*x02 - c2*c15*x01 + c1*c16*x02 - c2*c16*x01 - c22*x01*x02)/(x016*(c1*x02 - c2*x01))
--> The parameter p17 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 + c1*c10*x02 - c2*c10*x01 + c1*c11*x02 - c2*c11*x01 + c1*c12*x02 - c2*c12*x01 + c1*c13*x02 - c2*c13*x01 + c1*c14*x02 - c2*c14*x01 + c1*c15*x02 - c2*c15*x01 + c1*c16*x02 - c2*c16*x01 + c1*c17*x02 - c2*c17*x01 - c22*x01*x02)/(x017*(c1*x02 - c2*x01))
--> The parameter p18 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 + c1*c10*x02 - c2*c10*x01 + c1*c11*x02 - c2*c11*x01 + c1*c12*x02 - c2*c12*x01 + c1*c13*x02 - c2*c13*x01 + c1*c14*x02 - c2*c14*x01 + c1*c15*x02 - c2*c15*x01 + c1*c16*x02 - c2*c16*x01 + c1*c17*x02 - c2*c17*x01 + c1*c18*x02 - c2*c18*x01 - c22*x01*x02)/(x018*(c1*x02 - c2*x01))
--> The parameter p19 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 + c1*c10*x02 - c2*c10*x01 + c1*c11*x02 - c2*c11*x01 + c1*c12*x02 - c2*c12*x01 + c1*c13*x02 - c2*c13*x01 + c1*c14*x02 - c2*c14*x01 + c1*c15*x02 - c2*c15*x01 + c1*c16*x02 - c2*c16*x01 + c1*c17*x02 - c2*c17*x01 + c1*c18*x02 - c2*c18*x01 + c1*c19*x02 - c2*c19*x01 - c22*x01*x02)/(x019*(c1*x02 - c2*x01))
--> The parameter p20 has the solution/solutions: 
  -(c1*c2*x02 + c1*c3*x02 - c2*c3*x01 + c1*c4*x02 - c2*c4*x01 + c1*c5*x02 - c2*c5*x01 + c1*c6*x02 - c2*c6*x01 + c1*c7*x02 - c2*c7*x01 + c1*c8*x02 - c2*c8*x01 + c1*c9*x02 - c2*c9*x01 + c1*c10*x02 - c2*c10*x01 + c1*c11*x02 - c2*c11*x01 + c1*c12*x02 - c2*c12*x01 + c1*c13*x02 - c2*c13*x01 + c1*c14*x02 - c2*c14*x01 + c1*c15*x02 - c2*c15*x01 + c1*c16*x02 - c2*c16*x01 + c1*c17*x02 - c2*c17*x01 + c1*c18*x02 - c2*c18*x01 + c1*c19*x02 - c2*c19*x01 + c1*c20*x02 - c2*c20*x01 - c22*x01*x02)/(c1*x02*x020 - c2*x01*x020)
 
Order tableau elapsed time: 3.6341
 
***************************************
* RESULTS OF IDENTIFIABILITY ANALYSIS *
***************************************

=> THE MODEL IS STRUCTURALLY GLOBALLY IDENTIFIABLE 

Structurally globally identifiable parameters: 
  vm
  km
  p1
  p2
  p3
  p4
  p5
  p6
  p7
  p8
  p9
 p10
 p11
 p12
 p13
 p14
 p15
 p16
 p17
 p18
 p19
 p20
 
Structurally locally identifiable parameters: 
 []
 
Structurally non-identifiable parameters: 
 []
 
Report results elapsed time: 0.019044
 
Total elapsed time: 8.783
