Lur'e Form

Decomposing systems into linear and nonlinear parts.

Many classical methods for analyzing stability and locating hidden limit cycles (such as the Describing Function method) require the dynamical system to be expressed in Lur’e form.

A Lur’e system separates the dynamics into a strictly linear component and a single scalar nonlinear feedback loop.

The Decomposition

A 3D autonomous system is in Lur’e form if it can be written as:

x˙=Ax+bψ(cTx)\dot{x} = A x + b \psi(c^T x)

Where:

  • AA is a constant 3×33 \times 3 matrix (the linear dynamics).
  • bb is a constant 3×13 \times 1 column vector (the input vector).
  • cTc^T is a constant 1×31 \times 3 row vector (the output projection).
  • ψ(σ)\psi(\sigma) is a scalar nonlinear function of the scalar variable σ=cTx\sigma = c^T x.

The Transfer Function

Once a system is in Lur’e form, the linear part can be completely described in the frequency domain by its transfer function W(s)W(s):

W(s)=cT(sIA)1bW(s) = c^T (sI - A)^{-1} b

For fractional-order systems with derivative order qq, the complex variable ss is simply replaced by sqs^q:

W(sq)=cT(sqIA)1bW(s^q) = c^T (s^q I - A)^{-1} b

Example: Chua Circuit in Lur’e Form

The standard non-smooth Chua circuit, with a linear-by-pieces characteristic, can be algebraically manipulated into Lur’e form. Let the state vector be x=[x1,x2,x3]Tx = [x_1, x_2, x_3]^T. We can define the components as:

A=[αα01110β0]A = \begin{bmatrix} -\alpha & \alpha & 0 \\ 1 & -1 & 1 \\ 0 & -\beta & 0 \end{bmatrix} b=[α00]b = \begin{bmatrix} -\alpha \\ 0 \\ 0 \end{bmatrix} cT=[100]c^T = \begin{bmatrix} 1 & 0 & 0 \end{bmatrix}

The scalar nonlinearity is the Chua diode characteristic:

ψ(σ)=f(σ)=bσ+12(ab)(σ+1σ1)\psi(\sigma) = f(\sigma) = b \sigma + \frac{1}{2}(a - b)(|\sigma + 1| - |\sigma - 1|)

Because cTx=x1c^T x = x_1, the argument to the nonlinearity is simply the first state variable.

Using Lur’e Workflows

If your custom system can be put into Lur’e form, you unlock powerful analytical tools. The library provides the generic integer_lure_workflow which automates parameter continuation and basin classification for any system that can provide its AA, bb, cc, and ψ\psi components.

See Integer Lur’e Workflow for implementation details.