Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install hiyenwong-ai-collection-collection-skills-data-driven-reachability-matrix-perturbationgit clone https://github.com/hiyenwong/ai_collection.gitcp ai_collection/SKILL.MD ~/.claude/skills/hiyenwong-ai-collection-collection-skills-data-driven-reachability-matrix-perturbation/SKILL.md---
name: data-driven-reachability-matrix-perturbation
description: "Data-driven reachability analysis framework using matrix perturbation theory. Provides Cai-Zhang bounds for matrix zonotopes and constrained matrix zonotopes. Enables efficient reachable-set propagation with coefficient-space approximation. Use for: safety verification of uncertain systems, robust control synthesis, formal verification of dynamical systems, computational reachability analysis."
---
# Data-Driven Reachability Analysis Using Matrix Perturbation Theory
## Overview
This skill provides a matrix zonotope perturbation framework that leverages matrix perturbation theory to characterize how noise-induced distortions alter the dynamics within sets of models. The framework derives interpretable Cai-Zhang bounds for matrix zonotopes (MZs) and extends them to constrained matrix zonotopes (CMZs).
## Core Innovation
The framework introduces:
1. **Cai-Zhang bounds**: Interpretable error bounds for matrix zonotope operations
2. **Coefficient-space approximation**: Over-approximation of constrained coefficient space by unconstrained zonotope
3. **Scalable reachable-set update**: Replacing CMZ-constrained-zonotope products with unconstrained MZ-zonotope multiplication
## When to Use This Skill
Use this methodology when:
- Analyzing safety of uncertain dynamical systems
- Computing reachable sets for data-driven models
- Verifying properties of systems with bounded noise
- Need computationally efficient reachability analysis
- Working with linear systems subject to disturbances
## Mathematical Framework
### Matrix Zonotope (MZ)
A matrix zonotope M is defined as:
```
M = { M_0 + sum(beta_i * M_i) | beta_i in [-1, 1] }
```
where:
- M_0 is the center matrix
- M_i are generator matrices
- beta_i are bounded coefficients
### Constrained Matrix Zonotope (CMZ)
A constrained matrix zonotope extends MZ with linear constraints:
```
C = { M_0 + sum(beta_i * M_i) | A*beta = b, beta in [-1, 1] }
```
where A*beta = b represents linear equality constraints on coefficients.
### Cai-Zhang Bounds
For matrix perturbations, the Cai-Zhang bound provides:
```
|| Delta M || <= sqrt(sum(||M_i||^2)) * epsilon
```
where epsilon characterizes the noise level.
## Algorithm: Reachable-Set Propagation
### Step 1: System Representation
Represent uncertain system as:
```
x_{k+1} = (A + Delta A)*x_k + (B + Delta B)*u_k + w_k
```
where:
- A, B are nominal matrices
- Delta A, Delta B are bounded uncertainties (matrix zonotopes)
- w_k is process noise
### Step 2: Coefficient-Space Approximation
Convert CMZ to over-approximating unconstrained zonotope:
```
C ⊆ ~M
```
where ~M has more generators but no constraints.
### Step 3: Scalable Reachable-Set Update
Replace CMZ-CZ products with MZ-zonotope multiplication:
```
// Traditional: CMZ × CZ (computationally expensive)
// Proposed: MZ × Zonotope (efficient)
R_{k+1} = A · R_k ⊕ B · U ⊕ W
```
where:
- · is matrix-zonotope multiplication
- ⊕ is Minkowski sum
- R_k, U, W are zonotopes
## Implementation
```python
def reachable_set_propagation(system, initial_set, num_steps):
"""
Compute reachable sets using matrix perturbation theory.
Args:
system: Linear system with matrix zonotope uncertainties
initial_set: Initial state zonotope
num_steps: Number of propagation steps
Returns:
List of reachable sets at each time step
"""
reachable_sets = [initial_set]
for k in range(num_steps):
# Get current reachable set
R_k = reachable_sets[-1]
# Compute next reachable set using coefficient-space approximation
R_next = matrix_zonotope_multiplication(system.A_mz, R_k)
R_next = minkowski_sum(
R_next,
matrix_zonotope_multiplication(system.B_mz, system.U)
)
R_next = minkowski_sum(R_next, system.W)
reachable_sets.append(R_next)
return reachable_sets
```
## Key Features
| Feature | Benefit |
|---------|---------|
| Cai-Zhang bounds | Interpretable error characterization |
| Coefficient-space approximation | Computational tractability |
| Unconstrained MZ operations | Efficient matrix operations |
| Formal guarantees | Safety verification capability |
## Performance
The proposed method demonstrates:
- **Substantially faster** computation vs traditional CMZ-based propagation
- **Maintained accuracy** through tight over-approximation
- **Scalable** to higher-dimensional systems
## Applications
1. **Safety Verification**: Check if system trajectories stay within safe regions
2. **Controller Synthesis**: Design controllers that guarantee safety
3. **Fault Detection**: Identify anomalous behavior outside expected reachable sets
4. **Robust Planning**: Plan trajectories considering all possible uncertainties
## References
- **Paper**: "Data-Driven Reachability Analysis Using Matrix Perturbation Theory"
- **Authors**: Peng Xie, Abdulla Fawzy, Zhen Zhang, Amr Alanwar
- **arXiv**: 2604.13862v1
- **Published**: April 15, 2026
- **Category**: Systems and Control (eess.SY)
## Related Concepts
- Zonotope calculus
- Reachability analysis
- Uncertainty quantification
- Formal verification
- Robust control
- Set-based computing
## Activation Keywords
- data-driven reachability analysis
- matrix perturbation theory
- matrix zonotope
- constrained matrix zonotope
- cai-zhang bounds
- reachable-set propagation
- formal verification uncertain systems
- safety verification zonotopes