# MATLAB functions for structural operations

## Network operations

Name | Description |
---|---|

cannoise | Transforms a network to a canonical noise representation for a given set of measured nodes; |

disconset4ppl | Determines a disconnecting set for satisfying the PPL condition for a particular target module. |

immersion | Immerses a selected set of w-nodes in a network, including processing the properties: fixed, switching and delays; |

invariantmodules | Shows all modules that are invariant when only a given set of measured nodes are taken into account, and the remaining nodes are immersed; |

parpathlooptest | Tests whether for a given target module and a given set of measured nodes, the parallel path and loop condition is satisfied; |

## Identifiability related operations

Name | Description |
---|---|

modidfanalysis_fullm | Analyse the generic identifiability of a subset of modules in a dynamic network on the basis of full measurements of all nodes; |

modidfanalysis_partial | Analyse the generic identifiability of a subset of modules in a dynamic network on the basis of a preselected set of measured nodes; R modules are assumed to be fixed. The test is based on a sufficient condition (Proposition 2 in Shi et al. (TAC-2023)). |

modidfsynthesis | Allocates sensors and actuators such that the selected target modules become generically identifiable, where the inputs and outputs of the target modules will be measured; The allocated actuator dynamics are all known/fixed. |

netwidfanalysis | Analysis whether a full network model set is generically identifiable; |

netwidfsynthesis | Determines locations of external excitation signals for full network generic identifiability; algorithm of X. Cheng et al. (TAC-2022) in its extended form for dealing with fixed modules as published in M. Dreef et al. (L-CSS 2022). |

## Predictor model related operations

Name | Description |
---|---|

construct_Tu | Given the structural properties (input and output nodes) of a predictor model, the matrix $T(q)$ is constructed, representing the mapping from external excitation signals u to predictor outputs. |

datainform_analysis | For a given dynamic network topology, a target module and predictor model, it is tested whether it satisfies the generic data-informativity conditions of the target module for any of the identification methods. |

delaycond_analysis_dm | For a given dynamic network topology, a predictor model is tested whether it satisfies the delay conditions for consistent identification of a target module with the direct method. |

predmodel_analysis_dm | Tests whether a given predictor model satisfies the (structural) conditions for consistent estimation of a single module with the direct method. |

predmodel_analysis_multistep | Tests whether a given predictor model satisfies the (structural) conditions for consistent estimation of a single module with the multistep method. |

predmodel_analysis_indirect | Tests whether a given predictor model satisfies the (structural) conditions for consistent estimation of a single module with the indirect method. |

predmodel_syn_dm_fullinput | A predictor model is constructed that satisfies the structural conditions for consistent identification of a target module with the direct method. The structural conditions concern the parallel path and loop condition, and the absence of confounding variables. As option also the structural data-informativity conditions can be included. The ”fullinput” algorithm is followed to arrive at the choice of predictor model inputs and outputs. See Ramaswamy and Van den Hof (IEEE-TAC, 2021) |

predmodel_syn_dm_mininput | Same function as the previous file, but now "the minimum input" algorithm is followed. |

predmodel_syn_dm_usersel | Same function as the previous file, but now the "userselection" algorithm is followed. |

predmodel_syn_dm_usersel2 | Same function as the previous file, but now with the predictor model construction method of Shengling Shi (IFAC, 2023). |

predmodel_syn_dm | Command-line file for running any of the four algorithms listed previously. |

predmodel_syn multistep | Predictor model construction, but now with the predictor model construction method of the multi-step method (Fonken et al., CDC 2023). |

predmodel_syn_indirect_fullm | Predictor model construction for the indirect method, full measurement case. |

predmodel_addr | Adding the r-dependent input to a predictor model determined by predictor model inputs and outputs. |

predmodel_addior | Adding the structural properties in terms of structured G, H and T to a predictor model for either the direct, multistep or indirect method, and deliver a predictor model in nwpredmodel class format. |

## Technical tasks

Name | Description |
---|---|

blockedpaths | Verify whether all paths between a single node and a set of nodes are blocked by a specified set of blocking nodes. |

confvariables | Determines which signals e act as confounding variable between two sets of w-nodes, for a given set of measured nodes, and specifies all corresponding confounding paths; |

delaycheck | For a given dynamic network topology and the delay properties of each module in G, it is verified whether all paths from nodes in one set to the nodes in another set have at least a delay. This file works with negative delays also. |

disconset_analysis | Verfy whether a given set is a disconnecting set between two specified node sets. |

existunmeasuredpath | Test whether there exists a direct or unmeasured path between two sets of nodes. |

mindismaxpath | Determines a minimum disconnecting set and a maximum number of vertex disjoint paths between two sets of nodes |

nodeselect | For a set of vectors of node numbers, a (minimal) selection of nodes is chosen such that for each vector at least one member is included. The algorithm can either provide a (nonunique) solution or provide options for the user to choose from. |

unblockedpaths | Construct all paths between two specified single nodes that are not blocked by a specified set of blocking nodes. |