Last Updated July 6, 2026
Infrastructure Interdependence shows how linear algebra can model connected infrastructure systems whose risks do not stay inside one sector. Power, water, transportation, telecommunications, health services, fuel, logistics, finance, food systems, emergency response, and digital platforms depend on one another through physical, cyber, geographic, operational, economic, and institutional relationships.
This article continues Part X of the Linear Algebra for Systems Modeling series by applying network, matrix, and systems concepts to infrastructure interdependence: dependency matrices, multilayer networks, adjacency blocks, coupling matrices, flow constraints, service disruption, cascading failure, redundancy, vulnerability, robustness, sensitivity analysis, scenario stress testing, recovery priorities, evidence boundaries, uncertainty, governance, and responsible interpretation.
The central modeling question is not only “Which infrastructure assets are connected?” It is “How can disruptions move across systems, which dependencies matter most, and what can the model responsibly say before public decisions are made?”

Infrastructure systems rarely fail in isolation. A power disruption can affect water pumping, communications, hospitals, fuel distribution, traffic control, logistics, cooling, payment systems, and emergency response. A transportation disruption can slow repair crews, fuel delivery, medical access, supply chains, and food distribution. A communications disruption can weaken coordination across every other sector.
Linear algebra helps represent these relationships as matrices. A dependency matrix can encode how much one sector depends on another. A block adjacency matrix can represent multiple infrastructure layers. A coupling matrix can represent cross-sector effects. A state vector can record service levels. Matrix multiplication can propagate disruption or recovery across the system. But the model must be interpreted carefully because real infrastructure includes geography, time, behavior, redundancy, capacity, institutional coordination, uncertainty, and uneven consequences.
Why Infrastructure Interdependence Matters
Infrastructure interdependence matters because disruptions can travel across systems. A failure in one sector can become a service problem, safety problem, economic problem, governance problem, or public health problem elsewhere. The system’s risk is therefore not only the sum of individual asset risks. It is shaped by dependencies among assets, sectors, regions, institutions, and recovery capacities.
Linear algebra is useful because interdependence is relational. A dependency matrix can show which sectors rely on which other sectors. A state vector can show current service levels. A propagation matrix can show how disruption may spread. A recovery matrix can show which interventions improve downstream service.
| Infrastructure question | Linear algebra object | What it can clarify |
|---|---|---|
| Which sectors depend on which others? | Dependency matrix | Cross-sector reliance and exposure. |
| How does disruption propagate? | Coupling or propagation matrix | Cascading service loss across connected systems. |
| Which services are most critical? | Criticality vector | Relative priority under defined criteria. |
| Where is redundancy weak? | Alternative-path or backup matrix | Single points of failure and limited substitutes. |
| How does recovery affect other systems? | Recovery-impact matrix | Downstream benefits of repair or restoration. |
| Which conclusions are fragile? | Sensitivity matrix or scenario ensemble | Dependence on uncertain assumptions and weights. |
Infrastructure interdependence modeling is most useful when it makes hidden dependencies visible. It is most dangerous when it turns uncertain dependencies into false certainty.
Case Study Framing
This case study uses a small synthetic infrastructure system with five sectors: power, water, communications, transportation, and health services. Each sector has a service level between zero and one. A dependency matrix records how much each sector relies on others. A disruption scenario reduces power service, and the model examines possible downstream effects.
The case asks:
- Which sectors are directly and indirectly affected by a power disruption?
- Which dependencies create the largest downstream service loss?
- How does interdependence change recovery priorities?
- Which outputs are robust under sensitivity checks?
- What must be documented before the model informs planning?
| Case element | Modeling meaning | Interpretive warning |
|---|---|---|
| Sector | Infrastructure service layer. | Each sector contains many assets, operators, locations, and internal dependencies. |
| Service level | Relative operational availability from zero to one. | Service quality may not be linear in this score. |
| Dependency weight | Relative reliance of one sector on another. | Weights are assumptions unless validated with operational evidence. |
| Disruption scenario | Initial shock to one service layer. | Scenario is exploratory, not a prediction. |
| Cascade estimate | Modeled downstream service loss. | Real cascades depend on time, capacity, backup systems, and behavior. |
| Recovery priority | Potential restoration leverage. | Ethical, legal, geographic, and equity constraints must also be considered. |
The synthetic case is deliberately small so the linear algebra remains visible. The modeling discipline scales to more complex infrastructure networks only when data, validation, and governance scale with it.
Infrastructure as a System of Systems
Infrastructure is a system of systems because each sector operates internally while also depending on other sectors. Water systems require power for pumping and treatment. Communications systems require power and physical access. Hospitals require power, water, communications, transportation, medical supplies, staffing, fuel, and digital systems. Transportation systems require fuel, power, communications, and maintenance logistics.
\mathcal{I}=\{I_1,I_2,\ldots,I_m\}
\]
Interpretation: An infrastructure system can be modeled as a collection of interacting sectors or service layers.
The modeling challenge is that each sector can be represented at different levels: assets, facilities, regions, operators, services, flows, customers, or functions. A sector-level matrix may clarify broad dependency patterns while hiding asset-level bottlenecks. An asset-level model may clarify local vulnerabilities while becoming data-intensive and difficult to validate.
| Representation level | Clarifies | Can hide |
|---|---|---|
| Sector level | Broad interdependence among power, water, transport, communications, and health. | Local assets, geographic constraints, and operator-specific details. |
| Asset level | Substations, pumps, bridges, towers, hospitals, depots, and facilities. | Higher-level institutional and economic dependencies. |
| Regional level | Spatial exposure and regional service dependencies. | Fine-grained asset conditions and neighborhood variation. |
| Flow level | Movement of electricity, water, people, fuel, supplies, or data. | Governance and behavioral response. |
| Service level | Functional availability for users. | Internal physical mechanisms and repair constraints. |
| Institutional level | Coordination, authority, ownership, and emergency response. | Physical flow constraints and asset-level fragility. |
The right level depends on the modeling purpose. Resilience planning, emergency response, infrastructure investment, equity review, and systems research each need different representations.
Dependency Matrices
A dependency matrix records how much one infrastructure layer depends on another. If \(D_{ij}\) measures how much sector \(i\) depends on sector \(j\), then rows can be read as dependency profiles and columns can be read as dependency burdens placed on a sector by others.
D_{ij}=\text{dependency of sector } i \text{ on sector } j
\]
Interpretation: A dependency matrix converts cross-sector reliance into a structured table for analysis.
The meaning of each entry must be defined. A dependency weight may represent physical necessity, operational reliance, probability of disruption transfer, expected service loss, expert judgment, historical evidence, or scenario-based sensitivity. These meanings should not be mixed without documentation.
| Dependency meaning | Example | Review warning |
|---|---|---|
| Physical dependency | Water pumps require electricity. | Backup generators and storage can change effective dependency. |
| Cyber dependency | Control systems require communications networks. | Manual fallback and local control may reduce dependency. |
| Geographic dependency | Assets share flood, fire, or storm exposure. | Shared exposure is not the same as direct operational dependency. |
| Operational dependency | Repair crews require transportation access. | Emergency routing and staging can change the dependency. |
| Economic dependency | Fuel, labor, or supply chains support service continuity. | Substitution and inventories can change short-run effects. |
| Institutional dependency | Coordination depends on agencies, operators, or contracts. | Governance relationships are not always captured by physical matrices. |
A dependency matrix should be treated as a documented representation of assumptions, evidence, and uncertainty, not as a neutral map of reality.
Multilayer Network Representation
Infrastructure interdependence can be represented as a multilayer network. Each layer contains nodes and edges for one infrastructure sector, while cross-layer edges represent dependencies between sectors.
A=
\begin{bmatrix}
A_{PP} & A_{PW} & A_{PC} \\
A_{WP} & A_{WW} & A_{WC} \\
A_{CP} & A_{CW} & A_{CC}
\end{bmatrix}
\]
Interpretation: A block adjacency matrix can represent within-sector links on the diagonal and cross-sector dependencies off the diagonal.
In a larger model, blocks may represent power-power, water-water, communication-communication, power-water, transportation-health, fuel-transportation, or other cross-sector connections. This structure makes interdependence visible while preserving the identity of each layer.
| Block type | Meaning | Example |
|---|---|---|
| Diagonal block | Within-sector network structure. | Power grid connections among substations. |
| Off-diagonal block | Cross-sector dependency. | Water treatment plant depends on power supply. |
| Weighted block | Strength, capacity, risk, or dependency intensity. | Degree of reliance on communications for control. |
| Directed block | Dependency direction. | Health service depends on power; power may not depend equally on health. |
| Sparse block | Few direct dependencies. | Only specific assets are coupled across sectors. |
| Dense block | Many inferred or aggregate dependencies. | Sector-level dependency summaries. |
Multilayer models are powerful because they keep sector identity and cross-sector coupling together. They are risky when the off-diagonal blocks contain uncertain or poorly defined dependencies.
Coupling Matrices and Cross-Sector Effects
A coupling matrix represents how a change in one sector may affect another. If \(\mathbf{x}\) is a vector of service disruptions, a coupling matrix \(C\) can approximate how disruptions propagate across sectors.
\mathbf{x}_{t+1}=C\mathbf{x}_t
\]
Interpretation: A coupling matrix can approximate how disruptions propagate from one infrastructure state to the next.
This is a strong simplification. Real coupling may be nonlinear, delayed, threshold-dependent, geographically constrained, capacity-limited, or mediated by emergency response. Still, a coupling matrix can be valuable for scenario exploration and sensitivity analysis.
| Coupling assumption | Clarifies | Can distort when |
|---|---|---|
| Linear propagation | Approximate downstream effects. | Failures have thresholds or nonlinear escalation. |
| Stable coefficients | Reusable dependency structure. | Dependencies change during crisis or recovery. |
| Immediate effect | One-step disruption estimate. | Delays, storage, reserves, and buffers matter. |
| Sector-level aggregation | Broad interdependence patterns. | Local asset failures dominate outcomes. |
| Known weights | Ranked dependency strengths. | Weights come from uncertain judgment or incomplete records. |
| No adaptive behavior | Baseline cascade scenario. | Operators reroute, substitute, conserve, or coordinate. |
Coupling matrices should be communicated as scenario tools unless validated against observed disruptions and operational data.
State Vectors and Service Levels
A state vector records service levels, disruption levels, demand levels, capacity levels, or recovery levels across sectors. In this case study, service levels range from zero to one, where one means fully available and zero means unavailable under the model definition.
\mathbf{s}=
\begin{bmatrix}
s_{\text{power}} \\
s_{\text{water}} \\
s_{\text{communications}} \\
s_{\text{transportation}} \\
s_{\text{health}}
\end{bmatrix}
\]
Interpretation: A service-level vector summarizes infrastructure availability across sectors.
Service-level vectors are useful for computation, but their meaning must be defined carefully. A value of 0.8 may mean eighty percent of customers served, eighty percent of capacity available, eighty percent of service quality, or a qualitative score converted to a number. These meanings are not interchangeable.
| State-vector entry | Possible meaning | Interpretive warning |
|---|---|---|
| Service availability | Fraction of service operational. | May hide uneven geographic or demographic distribution. |
| Capacity | Fraction of technical capacity available. | Capacity is not the same as actual delivered service. |
| Demand served | Fraction of demand currently met. | Demand may change during disruption. |
| Reliability score | Expected continuity or uptime. | Score may be model-based rather than measured. |
| Recovery status | Fraction restored after disruption. | Restoration may differ across communities. |
| Risk score | Relative vulnerability or exposure. | Risk score may not be linear or comparable across sectors. |
State vectors make complex infrastructure conditions computable. Responsible modeling keeps their definitions visible.
Cascading Disruption
Cascading disruption occurs when one failure produces downstream failures in connected systems. Linear algebra can approximate this through repeated propagation, matrix powers, or iterative state updates.
\mathbf{x}_{t+k}=C^k\mathbf{x}_t
\]
Interpretation: Powers of a coupling matrix can approximate multi-step propagation under stable linear assumptions.
This approach can clarify possible paths of disruption. But it can also exaggerate or understate real cascades if coupling is nonlinear, time-varying, threshold-based, or mitigated by operator action.
| Cascade issue | Linear model clarifies | Linear model may miss |
|---|---|---|
| Direct dependency | Immediate downstream exposure. | Backup systems, reserves, and manual workarounds. |
| Indirect dependency | Multi-step propagation paths. | Timing, sequence, and operational intervention. |
| Feedback | Repeated cross-sector effects. | Nonlinear escalation or stabilization. |
| Amplification | How disruption grows under coupling. | Capacity thresholds and behavioral adaptation. |
| Damping | How redundancy may reduce propagation. | Uneven protection across locations or populations. |
| Recovery coupling | How restoration in one sector helps another. | Repair crew access, parts availability, and institutional coordination. |
Cascade analysis should be treated as structured scenario exploration unless supported by validated operational models.
Redundancy and Robustness
Redundancy means that a system has substitutes, backups, alternative paths, spare capacity, reserves, or operational workarounds. Robustness means that the system can absorb disruption without unacceptable service loss. Linear algebra can support redundancy analysis by comparing alternative paths, backup dependencies, spare capacity, and scenario outcomes.
\mathbf{s}_{\text{after shock}} = \mathbf{s}_{\text{baseline}}-\Delta\mathbf{s}
\]
Interpretation: Robustness analysis compares baseline service with service after disruption and mitigation.
| Robustness feature | Model representation | Review warning |
|---|---|---|
| Backup power | Reduced dependency on grid power. | Fuel supply, maintenance, duration, and load limits matter. |
| Alternative routes | Additional transportation paths. | Road capacity, congestion, debris, and emergency access matter. |
| Water storage | Delay before water disruption propagates. | Storage varies by location and demand. |
| Communication redundancy | Multiple channels or fallback systems. | Shared physical or power dependencies may remain. |
| Spare capacity | Buffer against demand or supply disruption. | Spare capacity may not be geographically available. |
| Mutual aid | External support links. | Support may be unavailable during regional events. |
Robustness is not only a property of the matrix. It depends on physical resources, time, people, institutions, maintenance, and governance.
Criticality and Prioritization
Infrastructure models often support prioritization: which assets to protect, repair, harden, inspect, or restore first. Linear algebra can help identify sectors or assets with high dependency burden, high downstream effect, low redundancy, high centrality, or large recovery leverage.
\mathbf{p}=w_1\mathbf{c}+w_2\mathbf{v}+w_3\mathbf{r}
\]
Interpretation: A priority vector may combine criticality, vulnerability, and recovery leverage, but the weights encode value judgments.
Prioritization is never purely technical. It involves ethical, legal, economic, equity, safety, and public-interest judgment. A model can inform priority, but it should not silently decide priority.
| Priority signal | Model can show | Decision must also consider |
|---|---|---|
| Dependency burden | How many services depend on a sector or asset. | Who is affected and how severely. |
| Service criticality | Importance to modeled continuity. | Life safety, legal duties, vulnerable populations. |
| Vulnerability | Exposure to modeled disruptions. | Feasibility, cost, maintenance, and local context. |
| Recovery leverage | Downstream benefit from restoring one component. | Repair time, workforce, access, and supply constraints. |
| Redundancy gap | Lack of alternatives or backup paths. | Short-term workarounds and mutual aid. |
| Scenario sensitivity | Whether priority changes across assumptions. | Risk tolerance and planning horizon. |
Responsible prioritization keeps mathematical rankings connected to explicit values, evidence, uncertainty, and accountability.
Geography, Time, and Capacity
Sector-level dependency matrices can hide three important infrastructure realities: geography, time, and capacity. A dependency may exist only in a particular location. A disruption may propagate after a delay. A service may operate normally until capacity is exceeded, then fail sharply.
| Hidden dimension | Why it matters | Modeling response |
|---|---|---|
| Geography | Dependencies are spatially uneven. | Use regional matrices, asset-level networks, or spatial layers. |
| Time | Storage, delay, repair, and depletion shape cascades. | Use time-indexed state vectors and dynamic scenarios. |
| Capacity | Systems may fail only after thresholds are crossed. | Add capacity constraints, nonlinear response, or scenario thresholds. |
| Behavior | Operators and users adapt during disruption. | Model response assumptions and alternative scenarios. |
| Institutional authority | Control and coordination affect recovery. | Document governance roles and decision processes. |
| Equity | Impacts are not evenly distributed. | Disaggregate service loss by population, place, and vulnerability. |
Infrastructure interdependence models are strongest when they show what they include and what they leave out.
Uncertainty and Data Quality
Infrastructure dependency data can be incomplete, sensitive, proprietary, outdated, aggregated, confidential, or based on expert judgment. This makes uncertainty central to responsible interpretation.
| Data issue | Model consequence | Review method |
|---|---|---|
| Missing dependency | Cascade risk may be underestimated. | Expert review, scenario expansion, and sensitivity testing. |
| Overstated dependency | Risk may be exaggerated. | Compare with operational evidence and backup capacity. |
| Outdated data | Model may not reflect current assets or service arrangements. | Versioned datasets and update schedule. |
| Confidential data gaps | Critical dependencies may be hidden. | Use uncertainty flags and restricted review processes. |
| Aggregation | Local vulnerability may disappear. | Compare sector, regional, and asset-level views. |
| Judgment-based weights | Results depend on expert assumptions. | Document elicitation method and test weight sensitivity. |
Uncertainty should travel with the model output. A dependency score without uncertainty context can be misleading.
Equity and Distributional Risk
Infrastructure disruptions do not affect everyone equally. The same modeled service loss can have different consequences depending on neighborhood, income, disability, age, health status, mobility, language access, housing quality, digital access, and institutional support.
A sector-level interdependence model may show aggregate service disruption while hiding distributional harm. Responsible modeling should connect system-level metrics to people, places, and unequal exposure where the use case requires it.
| Equity question | Modeling need | Warning |
|---|---|---|
| Who loses service? | Spatially disaggregated service impact. | Average loss can hide concentrated harm. |
| Who has alternatives? | Backup access, mobility, affordability, redundancy. | Formal redundancy may not be usable by everyone. |
| Who faces compounding risk? | Overlap of health, housing, transport, digital, and economic vulnerability. | Single-sector scores may understate compound harm. |
| Who can recover quickly? | Repair access, insurance, savings, social networks, public support. | Technical restoration does not equal social recovery. |
| Who is represented in the data? | Data quality and missingness review. | Undercounted communities may be underprotected. |
| Who can challenge the model? | Governance, transparency, appeal, and public accountability. | Opaque models can intensify institutional harm. |
Equity analysis is not an optional add-on when infrastructure models inform public decisions. It helps prevent technical averages from masking unequal consequences.
Mathematical Deepening
This section adds a more formal layer. Infrastructure interdependence modeling connects dependency matrices, block adjacency matrices, coupling matrices, state vectors, propagation models, sensitivity tests, recovery vectors, scenario ensembles, uncertainty records, and responsible interpretation.
Representation Review
Sector Semantics
Define whether sectors represent services, assets, operators, regions, facilities, or institutional functions.
Dependency Semantics
State whether dependencies are physical, cyber, geographic, operational, economic, institutional, or mixed.
Weight Semantics
Define whether weights represent reliance, probability, service loss, capacity dependence, expert judgment, or scenario sensitivity.
Boundary Semantics
Record excluded sectors, external dependencies, time horizon, geographic scope, and omitted recovery resources.
Matrix Review
Dependency Matrix
Use \(D\) to record how much each infrastructure sector depends on the others.
Coupling Matrix
Use \(C\) to approximate how disruption or recovery propagates across sectors.
State Vector
Use \(\mathbf{s}\) or \(\mathbf{x}\) to represent service levels, disruptions, capacities, or recovery states.
Scenario Ensemble
Compare multiple matrices or state updates across plausible assumptions and stress conditions.
Diagnostic Review
Dependency Burden
Identify sectors whose disruption affects many other services.
Cascade Sensitivity
Test how downstream service losses change when dependency weights or initial shocks vary.
Recovery Leverage
Estimate which restoration actions may produce the largest downstream service benefit.
Robustness Gap
Flag sectors where redundancy, backup capacity, or alternative paths are weak or undocumented.
Responsibility Review
Uncertainty
Attach uncertainty flags to dependency weights, missing links, scenario assumptions, and data sources.
Validation
Compare modeled cascades against historical events, exercises, domain expertise, and operational records where available.
Equity
Review whether aggregate service-loss metrics hide uneven impacts across populations and places.
Governance
Preserve decision-use limits, review status, accountability paths, and stop-use conditions with model outputs.
Case Study Workflow
A responsible infrastructure interdependence workflow moves from sector definitions to dependency modeling, disruption scenarios, sensitivity testing, and governance review.
1. Define Infrastructure Layers
Specify whether the model uses sectors, assets, services, regions, operators, or functional systems as its unit of analysis.
2. Build Dependency Matrix
Construct a matrix showing how each sector depends on others, with documented weight meanings and evidence sources.
3. Apply Disruption Scenario
Create a state vector for initial service loss, such as a power disruption affecting water, communications, transport, and health services.
4. Estimate Cascade Effects
Use matrix operations to explore downstream service loss, dependency burden, recovery leverage, and fragile assumptions.
5. Test Sensitivity
Vary dependency weights, recovery assumptions, initial shocks, redundancy assumptions, and sector boundaries.
6. Interpret Responsibly
Report what the model clarifies, what it omits, how uncertain it is, and what decisions require additional review.
This workflow treats infrastructure interdependence modeling as decision support, not decision replacement.
Computation and Reproducible Workflows
Computational workflows for infrastructure interdependence should document sector definitions, dependency meanings, dependency weights, data provenance, uncertainty flags, state-vector definitions, disruption scenarios, cascade assumptions, recovery assumptions, sensitivity tests, validation evidence, equity review, governance status, and responsible-use warnings.
The companion repository treats infrastructure interdependence as an auditable modeling workflow. Python, R, Julia, SQL, Haskell, C, C++, Fortran, Rust, Go, notebooks, schemas, generated outputs, Canvas artifacts, advanced reports, and calculators each support a different layer of dependency-matrix construction, scenario propagation, sensitivity review, and responsible interpretation.
For this article, the computational examples build a small sector dependency matrix, apply a power-disruption scenario, estimate one-step downstream service loss, compute dependency burden, and export a governance-ready audit report.
Python Workflow: Infrastructure Interdependence Audit
The Python workflow below creates a synthetic five-sector infrastructure dependency matrix, applies a disruption scenario, estimates downstream loss, identifies the highest dependency-burden sector, and exports a structured audit record.
from __future__ import annotations
from dataclasses import asdict, dataclass
from pathlib import Path
import csv
import json
@dataclass(frozen=True)
class InfrastructureInterdependenceAudit:
workflow_name: str
scenario_name: str
sector_count: int
initial_shock_sector: str
initial_shock_magnitude: float
highest_dependency_burden_sector: str
highest_dependency_burden: float
largest_downstream_loss_sector: str
largest_downstream_loss: float
total_estimated_downstream_loss: float
sensitivity_warning: str
interpretation_warning: str
SECTORS = ["power", "water", "communications", "transportation", "health"]
# D[i][j] = dependency of sector i on sector j.
# Rows depend on columns.
DEPENDENCY = [
[0.00, 0.05, 0.10, 0.10, 0.00], # power
[0.70, 0.00, 0.10, 0.20, 0.00], # water
[0.60, 0.00, 0.00, 0.10, 0.00], # communications
[0.30, 0.00, 0.20, 0.00, 0.05], # transportation
[0.80, 0.50, 0.40, 0.30, 0.00], # health
]
def matvec(matrix: list[list[float]], vector: list[float]) -> list[float]:
return [sum(row[j] * vector[j] for j in range(len(vector))) for row in matrix]
def column_sums(matrix: list[list[float]]) -> list[float]:
n = len(matrix)
return [sum(matrix[i][j] for i in range(n)) for j in range(n)]
def build_audit() -> InfrastructureInterdependenceAudit:
initial_disruption = [0.0 for _ in SECTORS]
power_index = SECTORS.index("power")
initial_disruption[power_index] = 0.40
downstream_loss = matvec(DEPENDENCY, initial_disruption)
burden = column_sums(DEPENDENCY)
highest_burden_index = max(range(len(SECTORS)), key=lambda i: burden[i])
largest_loss_index = max(range(len(SECTORS)), key=lambda i: downstream_loss[i])
return InfrastructureInterdependenceAudit(
workflow_name="infrastructure_interdependence_audit",
scenario_name="synthetic_power_disruption_dependency_scenario",
sector_count=len(SECTORS),
initial_shock_sector="power",
initial_shock_magnitude=0.40,
highest_dependency_burden_sector=SECTORS[highest_burden_index],
highest_dependency_burden=round(burden[highest_burden_index], 12),
largest_downstream_loss_sector=SECTORS[largest_loss_index],
largest_downstream_loss=round(downstream_loss[largest_loss_index], 12),
total_estimated_downstream_loss=round(sum(downstream_loss), 12),
sensitivity_warning=(
"Dependency weights are scenario assumptions. Results should be compared across alternative "
"weights, redundancy assumptions, time delays, and recovery capacities."
),
interpretation_warning=(
"This one-step linear cascade estimate supports exploratory planning only. It does not predict "
"real failure behavior without geography, capacity, timing, backup systems, operational response, "
"validation evidence, and equity review."
),
)
def write_outputs(output_dir: Path) -> None:
(output_dir / "tables").mkdir(parents=True, exist_ok=True)
(output_dir / "json").mkdir(parents=True, exist_ok=True)
(output_dir / "reports").mkdir(parents=True, exist_ok=True)
audit = build_audit()
row = asdict(audit)
with (output_dir / "tables" / "infrastructure_interdependence_audit.csv").open(
"w", newline="", encoding="utf-8"
) as handle:
writer = csv.DictWriter(handle, fieldnames=list(row.keys()))
writer.writeheader()
writer.writerow(row)
(output_dir / "json" / "infrastructure_interdependence_audit.json").write_text(
json.dumps(row, indent=2, sort_keys=True),
encoding="utf-8",
)
report = [
"# Infrastructure Interdependence Audit",
"",
f"- Workflow: {audit.workflow_name}",
f"- Scenario: {audit.scenario_name}",
f"- Sector count: {audit.sector_count}",
f"- Initial shock sector: {audit.initial_shock_sector}",
f"- Initial shock magnitude: {audit.initial_shock_magnitude}",
f"- Highest dependency-burden sector: {audit.highest_dependency_burden_sector}",
f"- Highest dependency burden: {audit.highest_dependency_burden}",
f"- Largest downstream-loss sector: {audit.largest_downstream_loss_sector}",
f"- Largest downstream loss: {audit.largest_downstream_loss}",
f"- Total estimated downstream loss: {audit.total_estimated_downstream_loss}",
"",
audit.sensitivity_warning,
"",
audit.interpretation_warning,
]
(output_dir / "reports" / "infrastructure_interdependence_audit.md").write_text(
"\\n".join(report) + "\\n",
encoding="utf-8",
)
if __name__ == "__main__":
write_outputs(Path("outputs"))
print("Infrastructure interdependence audit complete.")
This workflow keeps the dependency matrix, disruption scenario, sensitivity warning, and interpretation boundary together in one auditable artifact.
R Workflow: Dependency and Cascade Review
R can support the same case study by constructing a dependency matrix, applying an initial shock, computing downstream service loss, and exporting a responsible modeling audit.
sectors <- c("power", "water", "communications", "transportation", "health")
dependency <- matrix(
c(
0.00, 0.05, 0.10, 0.10, 0.00,
0.70, 0.00, 0.10, 0.20, 0.00,
0.60, 0.00, 0.00, 0.10, 0.00,
0.30, 0.00, 0.20, 0.00, 0.05,
0.80, 0.50, 0.40, 0.30, 0.00
),
nrow = length(sectors),
byrow = TRUE
)
rownames(dependency) <- sectors
colnames(dependency) <- sectors
initial_disruption <- rep(0, length(sectors))
names(initial_disruption) <- sectors
initial_disruption["power"] <- 0.40
downstream_loss <- dependency %*% initial_disruption
dependency_burden <- colSums(dependency)
audit_record <- data.frame(
workflow_name = "infrastructure_interdependence_audit",
scenario_name = "synthetic_power_disruption_dependency_scenario",
sector_count = length(sectors),
initial_shock_sector = "power",
initial_shock_magnitude = 0.40,
highest_dependency_burden_sector = names(which.max(dependency_burden)),
highest_dependency_burden = max(dependency_burden),
largest_downstream_loss_sector = rownames(downstream_loss)[which.max(downstream_loss)],
largest_downstream_loss = max(downstream_loss),
total_estimated_downstream_loss = sum(downstream_loss),
sensitivity_warning = paste(
"Dependency weights are scenario assumptions.",
"Results should be compared across alternative weights, redundancy assumptions,",
"time delays, and recovery capacities."
),
interpretation_warning = paste(
"This one-step linear cascade estimate supports exploratory planning only.",
"It does not predict real failure behavior without geography, capacity, timing,",
"backup systems, operational response, validation evidence, and equity review."
)
)
dir.create("outputs/tables", recursive = TRUE, showWarnings = FALSE)
write.csv(
audit_record,
"outputs/tables/r_infrastructure_interdependence_audit.csv",
row.names = FALSE
)
print(audit_record)
This R workflow emphasizes that dependency weights and cascade estimates should be exported with assumptions and warnings, not only numerical outputs.
Haskell Workflow: Typed Infrastructure Audit
Haskell can represent infrastructure interdependence review as a typed record, preserving scenario details, dependency-burden findings, downstream-loss estimates, and interpretation warnings.
module Main where
data InfrastructureInterdependenceAudit = InfrastructureInterdependenceAudit
{ workflowName :: String
, scenarioName :: String
, sectorCount :: Int
, initialShockSector :: String
, initialShockMagnitude :: Double
, highestDependencyBurdenSector :: String
, highestDependencyBurden :: Double
, largestDownstreamLossSector :: String
, largestDownstreamLoss :: Double
, totalEstimatedDownstreamLoss :: Double
, sensitivityWarning :: String
, interpretationWarning :: String
} deriving (Show)
buildAudit :: InfrastructureInterdependenceAudit
buildAudit =
InfrastructureInterdependenceAudit
"infrastructure_interdependence_audit"
"synthetic_power_disruption_dependency_scenario"
5
"power"
0.40
"power"
2.40
"health"
0.32
0.96
"Dependency weights are scenario assumptions and should be compared across alternative weights, redundancy assumptions, time delays, and recovery capacities."
"This one-step linear cascade estimate supports exploratory planning only and does not predict real failure behavior without validation."
main :: IO ()
main =
print buildAudit
The typed record keeps the scenario, computed result, and responsible-use warning attached to the same modeling artifact.
SQL Workflow: Infrastructure Governance Registry
SQL can document infrastructure interdependence assumptions when dependency models support repositories, dashboards, audits, planning workflows, or institutional decision systems.
CREATE TABLE infrastructure_interdependence_governance_registry (
governance_key TEXT PRIMARY KEY,
governance_name TEXT NOT NULL,
modeling_role TEXT NOT NULL,
review_requirement TEXT NOT NULL,
responsible_use_warning TEXT NOT NULL
);
INSERT INTO infrastructure_interdependence_governance_registry VALUES
(
'sector_definition',
'Sector definition',
'Defines the infrastructure layers represented by rows and columns.',
'Document whether sectors represent services, assets, operators, regions, facilities, or institutional functions.',
'Sector-level models can hide asset-level bottlenecks and uneven service impacts.'
);
INSERT INTO infrastructure_interdependence_governance_registry VALUES
(
'dependency_semantics',
'Dependency semantics',
'Defines what cross-sector reliance means.',
'State whether dependencies are physical, cyber, geographic, operational, economic, institutional, or mixed.',
'Different dependency types should not be mixed without documentation.'
);
INSERT INTO infrastructure_interdependence_governance_registry VALUES
(
'weight_evidence',
'Weight evidence',
'Defines how dependency weights were estimated.',
'Record whether weights come from operational data, historical events, expert judgment, simulations, or scenario assumptions.',
'Judgment-based weights require sensitivity testing and uncertainty flags.'
);
INSERT INTO infrastructure_interdependence_governance_registry VALUES
(
'cascade_assumption',
'Cascade assumption',
'Defines how disruption is propagated across sectors.',
'Document whether the model uses one-step, multi-step, linear, threshold, delayed, or nonlinear propagation.',
'Linear cascade estimates should not be treated as predictions without validation.'
);
INSERT INTO infrastructure_interdependence_governance_registry VALUES
(
'redundancy_review',
'Redundancy review',
'Records backups, alternative paths, spare capacity, reserves, and workarounds.',
'Document backup duration, fuel, access, capacity, staffing, and geographic availability.',
'Redundancy on paper may not be usable during regional disruptions.'
);
INSERT INTO infrastructure_interdependence_governance_registry VALUES
(
'equity_review',
'Equity review',
'Connects service loss to people, places, and uneven vulnerability.',
'Review whether aggregate sector losses hide concentrated impacts across communities.',
'Average service loss can understate harm to vulnerable populations.'
);
INSERT INTO infrastructure_interdependence_governance_registry VALUES
(
'validation_status',
'Validation status',
'Records whether modeled dependencies and cascades have evidence support.',
'Compare results with historical disruptions, exercises, operational records, and domain expertise.',
'Unvalidated cascade scenarios should be communicated as exploratory.'
);
INSERT INTO infrastructure_interdependence_governance_registry VALUES
(
'decision_boundary',
'Decision boundary',
'Defines what the model can and cannot support.',
'Attach interpretation limits, uncertainty notes, review status, and stop-use conditions to outputs.',
'The model should inform public decisions, not replace accountable institutional judgment.'
);
SELECT
governance_name,
modeling_role,
review_requirement,
responsible_use_warning
FROM infrastructure_interdependence_governance_registry
ORDER BY governance_key;
This registry keeps sector definitions, dependency meanings, weight evidence, cascade assumptions, redundancy, equity, validation, and decision boundaries visible in the modeling workflow.
GitHub Repository
The companion repository for this article is designed as a reproducible infrastructure interdependence modeling workspace. It supports dependency matrix construction, sector-state vectors, disruption scenarios, one-step cascade estimates, dependency burden metrics, recovery leverage review, sensitivity warnings, governance tables, generated artifacts, advanced audit reports, and reusable calculator scripts.
Complete Code Repository
Companion article folder with Python, R, Julia, SQL, Haskell, C, C++, Fortran, Rust, Go, notebooks, documentation, synthetic teaching data, generated outputs, schemas, Canvas-ready workflow artifacts, and reusable calculator scripts for infrastructure interdependence, dependency matrices, multilayer networks, coupling matrices, cross-sector effects, service-level vectors, cascading disruption, redundancy, robustness, criticality, recovery prioritization, uncertainty, equity review, validation, governance, and responsible systems modeling.
Interpretive Limits and Responsible Use
Infrastructure interdependence modeling is powerful because it reveals dependencies that are often invisible in sector-by-sector planning. It can show how power, water, communications, transportation, health, logistics, fuel, and other systems support one another. It can help identify cascade pathways, recovery leverage, redundancy gaps, and fragile assumptions.
Its limits are equally important. Dependency matrices simplify real assets, operations, institutions, geography, timing, behavior, capacity, and uncertainty. Linear propagation can miss thresholds, delays, operator adaptation, emergency response, and nonlinear escalation. Sector-level averages can hide concentrated harm. Rankings can appear more precise than the evidence supports.
Responsible infrastructure interdependence modeling requires documented sector definitions, dependency meanings, weight evidence, scenario assumptions, uncertainty flags, validation status, redundancy review, equity review, governance context, and interpretation boundaries. A useful model does not claim to predict everything. It clarifies where dependencies deserve attention, where assumptions are fragile, and where accountable human judgment remains necessary.
Related Articles
- Case Study: Network System Modeling
- Case Study: Economic Input-Output Analysis
- Network Adjacency Matrices
- Incidence Structure and Graph Representation
- Graph Theory Foundations for Systems Modeling
- Network Flow Modeling
- Infrastructure Network Models
- Flow, Connectivity, and System Vulnerability
- State Transition Models and System Dynamics
- Representation Choices and Model Assumptions
- Scaling, Normalization, and Comparative Structure
- When Linear Models Clarify and When They Distort
- Interpretation, Approximation, and Responsible Mathematical Modeling
- Systems Modeling
- Mathematical Modeling
- Scientific Computing for Systems Modeling
Further Reading
- Buldyrev, S.V. et al. (2010) ‘Catastrophic cascade of failures in interdependent networks’, Nature, 464, pp. 1025–1028. Available at: https://doi.org/10.1038/nature08932.
- Haimes, Y.Y. (2009) ‘On the definition of resilience in systems’, Risk Analysis, 29(4), pp. 498–501. Available at: https://doi.org/10.1111/j.1539-6924.2009.01216.x.
- Johansson, J. and Hassel, H. (2010) ‘An approach for modelling interdependent infrastructures in the context of vulnerability analysis’, Reliability Engineering & System Safety, 95(12), pp. 1335–1344. Available at: https://doi.org/10.1016/j.ress.2010.06.010.
- Little, R.G. (2002) ‘Controlling cascading failure: understanding the vulnerabilities of interconnected infrastructures’, Journal of Urban Technology, 9(1), pp. 109–123. Available at: https://doi.org/10.1080/106307302317379855.
- Ouyang, M. (2014) ‘Review on modeling and simulation of interdependent critical infrastructure systems’, Reliability Engineering & System Safety, 121, pp. 43–60. Available at: https://doi.org/10.1016/j.ress.2013.06.040.
- Rinaldi, S.M., Peerenboom, J.P. and Kelly, T.K. (2001) ‘Identifying, understanding, and analyzing critical infrastructure interdependencies’, IEEE Control Systems Magazine, 21(6), pp. 11–25. Available at: https://doi.org/10.1109/37.969131.
- National Academies of Sciences, Engineering, and Medicine (2012) Disaster Resilience: A National Imperative. Washington, DC: National Academies Press. Available at: https://doi.org/10.17226/13457.
- Newman, M.E.J. (2018) Networks. 2nd edn. Oxford: Oxford University Press. Available at: https://global.oup.com/academic/product/networks-9780198805090.
- Pescaroli, G. and Alexander, D. (2016) ‘Critical infrastructure, panarchies and the vulnerability paths of cascading disasters’, Natural Hazards, 82, pp. 175–192. Available at: https://doi.org/10.1007/s11069-016-2186-3.
- Vespignani, A. (2010) ‘Complex networks: the fragility of interdependency’, Nature, 464, pp. 984–985. Available at: https://doi.org/10.1038/464984a.
References
- Buldyrev, S.V. et al. (2010) ‘Catastrophic cascade of failures in interdependent networks’, Nature, 464, pp. 1025–1028. Available at: https://doi.org/10.1038/nature08932.
- Haimes, Y.Y. (2009) ‘On the definition of resilience in systems’, Risk Analysis, 29(4), pp. 498–501. Available at: https://doi.org/10.1111/j.1539-6924.2009.01216.x.
- Johansson, J. and Hassel, H. (2010) ‘An approach for modelling interdependent infrastructures in the context of vulnerability analysis’, Reliability Engineering & System Safety, 95(12), pp. 1335–1344. Available at: https://doi.org/10.1016/j.ress.2010.06.010.
- Little, R.G. (2002) ‘Controlling cascading failure: understanding the vulnerabilities of interconnected infrastructures’, Journal of Urban Technology, 9(1), pp. 109–123. Available at: https://doi.org/10.1080/106307302317379855.
- Ouyang, M. (2014) ‘Review on modeling and simulation of interdependent critical infrastructure systems’, Reliability Engineering & System Safety, 121, pp. 43–60. Available at: https://doi.org/10.1016/j.ress.2013.06.040.
- Rinaldi, S.M., Peerenboom, J.P. and Kelly, T.K. (2001) ‘Identifying, understanding, and analyzing critical infrastructure interdependencies’, IEEE Control Systems Magazine, 21(6), pp. 11–25. Available at: https://doi.org/10.1109/37.969131.
- National Academies of Sciences, Engineering, and Medicine (2012) Disaster Resilience: A National Imperative. Washington, DC: National Academies Press. Available at: https://doi.org/10.17226/13457.
- Newman, M.E.J. (2018) Networks. 2nd edn. Oxford: Oxford University Press. Available at: https://global.oup.com/academic/product/networks-9780198805090.
- Pescaroli, G. and Alexander, D. (2016) ‘Critical infrastructure, panarchies and the vulnerability paths of cascading disasters’, Natural Hazards, 82, pp. 175–192. Available at: https://doi.org/10.1007/s11069-016-2186-3.
- Vespignani, A. (2010) ‘Complex networks: the fragility of interdependency’, Nature, 464, pp. 984–985. Available at: https://doi.org/10.1038/464984a.
