Skip to main content

MATLAB functions

Network operations

Module framework

NameDescription
algebrloopsEvaluates the presence of algebraic loops in a network topology;
cannoiseTransforms a network to a canonical noise representation for a given set of measured nodes;
confvariablesDetermines which signals ee act as confounding variable between two sets of ww-nodes, for a given set of measured nodes, and specifies all corresponding confounding paths;
disconset4pplDetermines a disconnecting set for satisfying the PPL condition for a particular target module;
immersionImmerses a selected set of w-nodes in a network, including processing the properties: fixed, switching and delays;
invariantmodulesShows all modules that are invariant when only a given set of measured nodes are taken into account, and the remaining nodes are immersed;
parpathlooptestTests whether for a given target module and a given set of measured nodes, the parallel path and loop condition is satisfied;

DCN framework

NameDescription
immersion_dcnImmerses a selected set of w-nodes in a DCN network, including processing the properties: fixed, switching and delays;
invariantmodules_dcnShows all links in a DCN network that are invariant when only a given set of measured nodes are taken into account, and the remaining nodes are immersed;
parpathlooptest_dcnTests whether for a given target subnetwork and a given set of measured nodes, the parallel path and loop condition is satisfied;

Module framework

NameDescription
modidfanalysis_fullmAnalyse the generic identifiability of a subset of modules in a dynamic network on the basis of full measurements of all nodes;
modidfanalysis_partialAnalyse 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)).
modidfsynthesisAllocates 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.
netwidfanalysisAnalysis whether a full network model set is generically identifiable;
netwidfsynthesisDetermines 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).

DCN framework

NameDescription
modidfanalysis_dcnAnalyse the generic identifiability of a set of links in a DCN dynamic network model set;
modidfsynthesis_dcnAllocates sensors and actuators such that a set of links in a DCN network becomes generically identifiable.
netwidfanalysis_dcnAnalysis whether a full DCN network model set is generically identifiable;
netwidfsynthesis_dcnAllocates sensors and actuators for full DCN network generic identifiability.
subnetwidfanalysis_dcnAnalyse the generic identifiability of a subnetwork of a DCN dynamic network model set;
subnetwidfsynthesis_dcnAllocates sensors and actuators such that the selected subnetwork becomes generically identifiable.
NameDescription
construct_TuGiven the structural properties (input and output nodes) of a predictor model, the matrix T(q)T(q) is constructed, representing the mapping from external excitation signals u to predictor outputs.
datainform_analysisFor 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.
datainform_analysis_dm_fullpmFor a given dynamic network topology, a target module and predictor model, it is tested whether it satisfies the generic data-informativity conditions of the full predictor model for the local direct method;
datainform_analysis_multistep_fullpmFor a given dynamic network topology, a target module and predictor model, it is tested whether it satisfies the generic data-informativity conditions of the full predictor model for the multistep method;
delaycond_analysis_dmFor 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_dmTests whether a given predictor model satisfies the (structural) conditions for consistent estimation of a single module with the direct method.
predmodel_analysis_multistepTests whether a given predictor model satisfies the (structural) conditions for consistent estimation of a single module with the multistep method.
predmodel_analysis_indirectTests whether a given predictor model satisfies the (structural) conditions for consistent estimation of a single module with the indirect method.
predmodel_syn_dm_fullinputA 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_mininputSame function as the previous file, but now "the minimum input" algorithm is followed.
predmodel_syn_dm_userselSame function as the previous file, but now the "userselection" algorithm is followed.
predmodel_syn_dm_usersel2Same function as the previous file, but now with the predictor model construction method of Shengling Shi (IFAC, 2023).
predmodel_syn_dmCommand-line file for running any of the four algorithms listed previously.
predmodel_syn multistepPredictor model construction, but now with the predictor model construction method of the multi-step method (Fonken et al., CDC 2023).
predmodel_syn_indirect_fullmPredictor model construction for the indirect method, full measurement case.
predmodel_addrAdding the r-dependent input to a predictor model determined by predictor model inputs and outputs.
predmodel_addiorAdding 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.

Network data structures

NameDescription
LabelledAdjStructNetwork structure (topology) with all structural properties of the network.
nwdataData object to encapsulate node/excitation data of networked system and its properties.
nwpredmodelPredictor model class, which specifies the mapping between nodes and excitations of a network structure to input and outputs of a predictor model.
nwmodelNetwork model class: special case of the network predictor model class, in which all nodes and excitations are included.

Identification of directed / module networks

NameDescription
nwidfullSLSFull network identification through a sequential Least-Squares (SLS) algorithm applied to an ARMAX mdel structure;
nwidPEMIdentification of a single module / full network through a (local) direct method;
nwidsingleMultiStepIdentification of a single module through a multi-step method;

Identification of undirected / diffusively coupled networks

NameDescription
nwidARMAX_dcnMulti-step time-domain method for discrete-time DCN identfication;
nwidFreq_dcnMulti-step frequency-domain method for discrete-time and continuous-time DCN identification;

Topology estimation (directed networks)

NameDescription
nwtopestBayesTopology estimation with a Bayesian method;
nwtopevalBayesEvaluation of an estimated topology with the Bayesian method;

Simulation

NameDescription
nwsimulateSimulation of a directed / module or an undirected / DCN network;

Network conversions

NameDescription
slx2adjConvert a Simulink file (.slx) to an adjacency matrix;

Specific technical functions for DCN models

NameDescription
adj2laplacianConverts a 3d adjacency matrix to Laplacian
a2xyConverts a (3d) polynomial matrix to diagonal and Laplacian term
diag3dExtract the diagonal terms of a polynomial matrix
issymmetrix3dCheck if a polynomial matrix is symmetric
issymmetrictfCheck if a transfer function matrix is symmetric
laplacian2adjConverts a 3d Laplacian matrix to an adjancency matrix
par2xyConverts a coefficient vector into 3d polynomial matrices X,YX,Y
poly2tfConverts a polynomial matrix to tf format.
poly_d2cConverts a DT polynomial matrix (in q1)q^{-1}) into a CT form (in pp)
poly_c2dConverts a CT polynomial matrix (in pp) into a CT form (in q1q^{-1})
xy2parConverts polynomial matrices X,YX,Y to a coefficient vector

Technical tasks

NameDescription
blockedpathsVerify whether all paths between a single node and a set of nodes are blocked by a specified set of blocking nodes.
confseqeunceDetermines whether there exists a sequence of linked confounders between two nodes in a network.
delaycheckFor 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_analysisVerfy whether a given set is a disconnecting set between two specified node sets.
EsourcesForExcitationDetermine which ee-nodes can be used as sources for exciting inputs in a predictor model.
existunmeasuredpathTest whether there exists a direct or unmeasured path between two sets of nodes.
mindismaxpathDetermines a minimum disconnecting set and a maximum number of vertex disjoint paths between two sets of nodes;
nodeselectFor 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.
numberofinstrumentsFinds the number of independent instrumentations for a given excitation and measurement setup.
predmodel_separateABFor the (ww-) inputs and outputs of a predictor model, separate the inputs in sets AA and BB, according to the confounding variable condition for consistent estimation (direct method);
unblockedpathsConstruct all paths between two specified single nodes that are not blocked by a specified set of blocking nodes.
unmeasuredpathFinds a direct or unmeasured path between each pair of nodes in two node sets;