R/calculations-jacobian-metrics.R
compute_svd_decomp.RdCompute singular value decompositions of the Jacobian matrics
compute_svd_decomp(smap_matrices, s = NULL)
| smap_matrices | A list with the Jacobian matrix (of smap-coefficients)
at each time point, resulting from |
|---|---|
| s | the number of species in the system (optional parameter to restrict the analysis just to the portions of the Jacobian that are relevant for the forecasts) |
A list with three elements:
da list of the singular values (a vector) for each time point
ua list of the left singular vectors (a matrix, each column is an axis in the output space) for each time point
va list of the right singular vectors (a matrix, each column is an axis in the input space) for each time point
The full Jacobian resulting from compute_smap_matrices() is of
the form, J =
| C^0 | C^1 | ... | C^(d-1) | |
| C^d | I | 0 | ... | |
| 0 | 0 | 0 | I | |
| ... | 0 | 0 | ... | |
| ... | ... | ... | ... | |
| 0 | 0 | ... | I | 0 |
Note that this maps from the column vector [N(t) N(t-1) ... N(t-d)]^T to the column vector [N(t+1) N(t) ... N(t-(d-1))]^T. However, the only relevant components for our purposes are the rows which map the column vector [N(t) N(t-1) ... N(t-d)]^T to [N(t+1)]^T, let this be J_s.
Thus, we extract this portion of the Jacobian for applying SVD.