Nonlinear separation principle for recurrent neural networks using contraction theory. Guarantees global exponential stability for interconnected controller-observer systems. Applicable to: neural network stability analysis, nonlinear control design, implicit deep learning, observer design, firing rate networks. Activation: separation principle, contraction theory, RNN stability, nonlinear control, observer design, firing rate neural network, Hopfield network stability
Scanned 9/11/2026
Install to Claude Code
npx -y skills add hiyenwong/ai_collection --skill nonlinear-separation-principle --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Nonlinear Separation Principle?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hiyenwong-nonlinear-separation-principle)More formats (shields.io, HTML) on the badges page.
---
name: nonlinear-separation-principle
description: "Nonlinear separation principle for recurrent neural networks using contraction theory. Guarantees global exponential stability for interconnected controller-observer systems. Applicable to: neural network stability analysis, nonlinear control design, implicit deep learning, observer design, firing rate networks. Activation: separation principle, contraction theory, RNN stability, nonlinear control, observer design, firing rate neural network, Hopfield network stability"
---
# Nonlinear Separation Principle for Neural Networks
Research methodology from paper 'A Nonlinear Separation Principle: Applications to Neural Networks, Control and Learning'
## Source Paper
- **Title**: A Nonlinear Separation Principle: Applications to Neural Networks, Control and Learning
- **arXiv**: 2604.15238v1
- **Categories**: eess.SY (Systems and Control), cs.LG (Machine Learning)
- **Date**: 2026-04-15
## Overview
A rigorous nonlinear separation principle that guarantees global exponential stability for the interconnection of a contracting state-feedback controller and a contracting observer. The paper addresses:
1. **Nonlinear separation principle**: Extends classical linear separation to nonlinear regime
2. **Firing-rate RNNs**: Stability analysis of continuous and discrete-time firing rate networks
3. **Hopfield networks**: Sharp linear matrix inequality (LMI) conditions for contractivity
4. **Implicit deep learning**: Applications to equilibrium-based neural architectures
## Key Theoretical Results
### Nonlinear Separation Theorem
Consider the interconnected system with state feedback controller and observer. If both the state-feedback controller and the observer dynamics are contracting with rates lambda_c and lambda_o respectively, then the interconnected system is contracting with rate min(lambda_c, lambda_o).
### Firing-Rate RNN Contractivity
For a firing-rate RNN: tau * dx/dt = -x + W * phi(x) + b
Contractivity condition: the network is contracting if mu(W) < 1, where mu is the matrix measure induced by the chosen norm.
### Hopfield Network LMI Conditions
Sharp LMI conditions for Hopfield network contractivity ensure the existence of a positive definite matrix P such that the Lyapunov condition holds for the network dynamics.
## Implementation
```python
import numpy as np
from scipy.linalg import eigvals
class NonlinearSeparationController:
"""Controller-observer system with nonlinear separation guarantee."""
def __init__(self, n_state: int, n_input: int, n_output: int):
self.n = n_state
self.m = n_input
self.p = n_output
self.K = np.zeros((n_input, n_state))
self.L = np.zeros((n_state, n_output))
self.controller_rate = None
self.observer_rate = None
def set_controller(self, K: np.ndarray, A: np.ndarray, B: np.ndarray):
self.K = K
A_cl = A - B @ K
eigs = eigvals(A_cl)
self.controller_rate = -np.max(np.real(eigs))
return self.controller_rate
def set_observer(self, L: np.ndarray, A: np.ndarray, C: np.ndarray):
self.L = L
A_obs = A - L @ C
eigs = eigvals(A_obs)
self.observer_rate = -np.max(np.real(eigs))
return self.observer_rate
def verify_separation(self) -> bool:
if self.controller_rate is None or self.observer_rate is None:
return False
combined_rate = min(self.controller_rate, self.observer_rate)
return combined_rate > 0
def step(self, x_hat: np.ndarray, y: np.ndarray, u: np.ndarray, dt: float = 0.01):
dx_hat = -x_hat + self.L @ (y - x_hat)
x_hat_new = x_hat + dt * dx_hat
return x_hat_new
class FiringRateRNN:
"""
Firing rate recurrent neural network with contractivity analysis.
Dynamics: tau * dx/dt = -x + W * phi(x) + b
Contractivity condition: mu(W) < 1
"""
def __init__(self, n_neurons: int, tau: float = 1.0):
self.n = n_neurons
self.tau = tau
self.W = np.zeros((n_neurons, n_neurons))
self.b = np.zeros(n_neurons)
self.x = np.zeros(n_neurons)
def activation(self, x: np.ndarray) -> np.ndarray:
return np.maximum(0, x) # ReLU
def check_contractivity(self, norm_type: str = 'inf') -> tuple:
if norm_type == 'inf':
mu = np.max(np.sum(np.abs(self.W), axis=1))
elif norm_type == '2':
mu = np.max(eigvals((self.W + self.W.T) / 2))
elif norm_type == '1':
mu = np.max(np.sum(np.abs(self.W), axis=0))
else:
raise ValueError(f"Unknown norm: {norm_type}")
return mu < 1, mu
def step(self, dt: float = 0.01) -> np.ndarray:
dx = (-self.x + self.W @ self.activation(self.x) + self.b) / self.tau
self.x = self.x + dt * dx
return self.x.copy()
def run(self, x0: np.ndarray, n_steps: int = 100, dt: float = 0.01) -> np.ndarray:
self.x = x0.copy()
trajectory = [x0.copy()]
for _ in range(n_steps):
x_new = self.step(dt)
trajectory.append(x_new.copy())
return np.array(trajectory)
```
## Practical Applications
### 1. Stable Neural Network Design
Design firing-rate RNNs with guaranteed stability by ensuring mu(W) < 1. Scale weights if needed.
### 2. Implicit Deep Learning
Use the separation principle for stable equilibrium-based neural networks (Deep Equilibrium Models).
## Limitations
1. Contraction requirement: both controller and observer must be contracting
2. Norm selection affects the matrix measure
3. LMI conditions can be expensive for large networks
4. Non-monotone activations: theory assumes monotone activation functions
## Related Work
- Contraction theory: Lohmiller & Slotine, "On Contraction Analysis for Non-Linear Systems"
- Implicit deep learning: Deep Equilibrium Models (DEQs)
- Hopfield networks: Modern Hopfield networks with continuous states
- Neural ODE stability: Analysis of continuous-depth networks
## Research Notes
This skill was created from automated neuroscience research workflow on 2026-04-19.
Paper provides rigorous theoretical framework for nonlinear control of neural networks
with guaranteed stability through contraction theory and separation principles.
## Activation Keywords
- nonlinear-separation-principle
- nonlinear separation principle
- nonlinear separation principle
## Tools Used
- `read` - 读取技能文档
- `write` - 创建输出
- `exec` - 执行相关命令
## Instructions for Agents
1. 理解技能的核心方法论
2. 根据用户问题提供针对性回答
3. 遵循最佳实践
## Examples
### Example 1: 基本查询
**User:** 请解释 Nonlinear Separation Principle
**Agent:** Nonlinear Separation Principle 是关于...
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!