est # Empirical System Theory (Reference Tree) System # System argument of type struct(ure) "Vector field = @(x,u,p,t)" # Vector field function handle "Output functional = @(x,u,p,t)" # Output functional function handle "Adjoint Vector field = @(x,u,p,t)" # Adjoint vector field function handle "Number of Inputs" # Integer "Number of States" # Integer "Number of Outputs" # Integer "Time step width" # The time-step for the training (and test) simulations, Float "Time horizon" # The final time of for the training simulations, Float Task # Task argument of type struct(ure) "Singular Values = 'singular_values'" # Return singular values of empirical Gramian Method "Controllability Gramian = 'controllability'" "Observability Gramian = 'observability'" "Cross Gramian = 'minimality'" "Model Reduction = 'model_reduction'" # Dimension reduction of state-space Method "Poor Man = 'poor_man'" # aka POD "Dominant Subspaces = 'dominant_subspaces'" # aka DSPMR "Approximate Balancing = 'approx_balancing'" # aka Modified POD "Balanced Truncation = 'balanced_truncation'" # via Balanced POD Variant "Controllability Gramian only = 'controllability'" "(Controllability and) Observability Gramian = 'observability'" "Cross Gramian = 'minimality'" "Parameter Reduction = 'parameter_reduction'" Methods "Identifiability Gramian = 'observability'" "Cross-Identifiability Gramian = 'minimality'" "Combined State and Parameter Reduction = 'combined_reduction'" # Combines a parameter reduction method with model reduction method Method "Poor Man = 'poor_man'" "Dominant Subspaces = 'dominant_subspaces'" "Approximate Balancing = 'approx_balancing'" "Balanced Truncation = 'balanced_truncation'" Variant "Controllability, Observability, and Identifiability Gramian = 'observability'" "Cross and Cross-Identifiability Gramian = 'minimality'" "Decentralized Control = 'decentralized_control'" Method "Relative Gain Array = 'relative_gain_array'" "Input-Output Coherence = 'input_output_coherence'" "Input-Output Pairing = 'input_output_pairing'" "Hardy-2 Norm Based = 'hardy_2'" "Hardy-Infinity Norm Based = 'hardy_inf'" "Participation Matrix = 'participation_matrix'" "Hankel Interaction Array = 'hankel_interaction'" "Hilbert-Schmidt-Hankel Nrom Based = 'rms_hsv'" "State Sensitivity = 'state_sensitivity'" Method "Controllability-Based = 'controllability'" "Observability-Based = 'observability'" "Minimality-Based = 'minimality'" "Parameter Sensitivity = 'parameter_sensitivity'" Method "Controllability-Based = 'controllability'" "Observability-Based = 'observability'" "Minimality-Based = 'minimality'" "Parameter Identifiability = 'parameter_identifiability'" # Structural identifiability quantification Method "Observability-Based = 'observability'" "Minimality-Based = 'minimality'" "Uncertainty Quantification = 'uncertainty_quantification'" Method "Controllability-Based = 'controllability'" "Observability-Based = 'observability'" "Nonlinearity Quantification = 'nonlinearity_quantification'" # Compare system behavior to reference system via parametrization of the nonlinearity Method "Controllability-Based = 'controllability'" # Input-to-State nonlinearity "Observability-Based = 'observability'" # State-to-Output nonlinearity "Minimality-Based = 'minimality'" # Gain-based "Correlation-Based = 'correlation'" # Combines controllability, observability and minimality measures "Gramian Index = 'gramian_index'" # Evaluate Gramian index behavior under projection-based model reduction Method "Minimal Singular Value = 'sigma_min'" # -∞ Generalized mean "Harmonic Mean of Singular Values = 'harmonic_mean'" # -1 Generalized mean "Geometric Mean of Singular Values = 'geometric_mean'" # 0 Generalized mean "Relative Nuclear Norm (Trace Norm) = 'energy_fraction'" # 1 Generalized mean "Relative Operator Norm (Hilbert-Schmidt Norm) = 'operator_norm'" # 2 Generalized mean "Maximal Singular Value = 'sigma_max'" # ∞ Generalized mean "Energy Storage Efficiency = 'storage_efficiency'" "Performance Index = 'performance_index'" "System Index = 'system_index'" # Evaluate system index behavior under projection-based model reduction Method "Cauchy Index = 'cauchy_index'" # Discrete "System Entropy = 'system_entropy'" # Linear "Gramian Distance = 'gramian_distance'" # Linear "System Symmetry = 'system_symmetry'" # Logarithmic "Input-Output Coherence = 'io_coherence'" # Logarithmic "System Gain = 'system_gain'" # Logarithmic "Network Sensitivity = 'network_sensitivity'" # Logarithmic "Geometric Mean of Hankel singular values = 'geometric_mean_hsv'" # Logarithmic "RV Coefficient = 'rv_coefficient'" # Logarithmic "Approximate System Norm = 'system_norm'" # Evaluate system norm behavior under projection-based model reduction Method "Hardy-Infinity Norm = 'hardy_inf_norm'" # Schatten-1 norm of HSVs "Hilbert-Schmidt-Hankel Norm = 'hilbert_schmidt_hankel_norm'" # Schatten-2 norm of HSVs "Hankel Norm = 'hankel_norm'" # Schatten-∞ norm of HSVs "Hardy-2 Norm = 'hardy_2_norm'" # Via Output controllability Gramian "Tau Function = 'tau_function'" # Inverse spectral problem for Schrödinger's equation Config # Confi(guration) Argument "Solver = 'solver'" # Integrator for simulation of training and test trajectories "1st-Order Explicit Runge-Kutta = 'rk1ex'" # Euler method "2nd-Order Explicit Runge-Kutta = 'rk2ex'" # Heun method (DEFAULT) "4th/5th-Order Explicit Runge-Kutta = 'rk45ex'" # Dormand-Prince method "Custom solver = @(f,g,t,x0,u,p)" # Custom solver function handle "Inner Product Kernel = 'kernel'" # Kernel used for the Gramian computation "Sum Pseudo Kernel = 'sum'" # Pseudo kernel for computing the sum of all empirical Gramian elements "Trace Pseudo Kernel = 'trace'" # Pseudo kernel for computing the trace of an empirical Gramian "Diagonal Pseudo Kernel = 'diagonal'" # Pseudo kernel for computing only the diagonal of an empirical Gramian "Position Pseudo Kernel = 'position'" # Pseudo kernel for computing only the upper left diagonal block of half the state-space dimension "Velocity Pseudo Kernel = 'velocity'" # Pseudo kernel for computing only the lower right diagonal block of half the state-space dimension "Linear Kernel = 'linear'" # Linear standard L2 inner product (unit) kernel (DEFAULT) "Quadratic Polynomial Kernel = 'quadratic'" # Second order polynomial kernel with unit shift "Cubic Polynomial Kernel = 'cubic'" # Third order polynomial kernel with unit shift "Sigmoid Kernel = 'sigmoid'" # Sigmoid kernel with unit shift "Mercer Sigmoid Kernel = 'mercersigmoid'" # Mercer variant of Sigmoid kernel with unit shifts "Logarithmic Kernel = 'logarithmic'" # Logarithmic kernel with unit shift "Exponential Kernel = 'exponential'" # Exponential kernel "Gauss Kernel = 'gauss'" # Gaussian kernel with unit covariance "Custom kernel = @(x,y)" # Custom kernel function handle "Training Input = 'training'" # Input used for training trajectories "Delta Impulse = 'impulse'" # (DEFAULT) "Step Input = 'step'" # Constant input / load vector "Decaying Exponential Chirp = 'chirp'" # Exponential chirp with highest frequency 1/dt "Sinc = 'sinc'" # Cardinal sine input "Pseudo-Random Binary = 'random'" # (unseeded) once-sampled scalar {0,1}-sequence "Trajectory Weighting = 'weighting'" # Scale or normalize discrete trajectory "No weighting = 'none'" # (DEFAULT) "Linear Time Weighting = 'linear'" # Scale each trajectory column by the square-root of its time "Quadratic Time Weighting = 'quadratic'" # Scale each trajectory column by its time "Per-State Weighting = 'state'" # Normalize each trajectory column by its 2-norm "Max-Per-Component Weighting = 'scale'" # Normalize each trajectory row by its inf-norm "Trajectory Centering = 'centering' # Center or shift discrete trajectory "No centering = 'none'" # (DEFAULT) "Steady-State = 'steady'" # Center (output) trajectory around steady-state (output) "Final State = 'final'" # Center (output) trajectory around last state / output "Arithmetic Mean = 'mean'" # Center (output) trajectory around temporal arithmetic mean "Root-Mean-Square = 'rms'" # Center (output) trajectory around temporal quadratic mean "Mid-Range" = 'midrange'" # Center (output) trajectory around temporal midrange "Perturbation Scales = 'scales'" # Subdivision of perturbation "Single scale = 'single'" # (DEFAULT) "Linear Scaling = 'linear'" # [0.25,0.50,0.75,1.0] * max_perturbation "Geometric Scaling = 'geoemtric'" # [0.125,0.25,0.5,1.0] * max_perturbation "Logarithmic Scaling = 'logarithmic'" # [0.001,0.01,0.1,1.0] * max_perturbation "Sparse-Grid Scaling = 'sparse'" # [0.01,0.50,0.99,1.0] * max_perturbation "Direction Rotations = 'rotations'" # Perturbation rotations "Positive and Negative = 'posneg'" # Unit and negatve unit rotation (DEFAULT) "Only Positive = 'single'" # Only unit rotation "Gramian Normalization = 'normalization'" # Improve numerical behavior by scaling "No Normalization = 'none'" # (DEFAULT) "Steady-State = 'steady'" # Normalizes vector field argument and value with steady states "Jacobi Preconditioner = 'jacobi'" # Normalizes vector field argument and value with Gramian diagonal "State-Space Gramian Variant = 'stype'" # Special Gramian variants "Regular = 'standard'" # (DEFAULT) "Generic Special = 'special'" # Use generic special Gramian variant (for automation purposes) "Output Controllability Gramian = 'output_controllability'" # Use with controllability and sensitivity Gramians "Average Observability Gramian = 'average_observability'" # Use with observablity and identifiability Gramians "Non-Symmetric Cross Gramian = 'nonsymmetric_minimality'" # Use with (linear) cross and joint Gramians "Control Explicit Observability = 'extra_input'" # Additional input for observability (initial-state perturbation) simulations "No Extra Input = 'none'" # (DEFAULT) "Use Extra Input = 'yes'" "Parameter Centering = 'pcentering'" # Center parameter and generate parameter perturbations "No Centering = 'none'" # Minimal parameter is used as center, scaled linear perturbations (DEFAULT) "Linear = 'linear'" # Center at arithmetic mean, linear scaled perturbations "Logarithmic = 'logarithmic'" # Center at logarithmic mean, logarithmic scaled perturbations (Requires all strictly positive parameter components) "Parameter-Space Gramian Variant = 'ptype'" # Special parameter Gramian variants "Regular = 'standard'" # Regular parameter Gramian (DEFAULT) "Generic Special = 'special'" # Use generic special Gramian variant (for automation purposes) "Input-Output Sensitivity Gramian = 'io_sensitivity'" # Input-output sensitivity Gramian "Coarse Schur Complement = 'coarse_schur'" # Coarse Schur complement computation for empirical identifiability and joint Gramian "System Linearity = 'linearity'" # Assign system linearity "Nonlinear System = 'nonlinear'" # The system is nonlinear (DEFAULT) "Linear System = 'linear'" # The system is linear, which requires an adjoint vector field