Enter System Matrices
Use the controls below to define an LTI state-space model.
Example Data Table
| Example | States | Inputs | A matrix | B matrix | Expected rank | Status |
|---|---|---|---|---|---|---|
| Companion-form plant | 3 | 1 | [[0,1,0],[0,0,1],[-6,-11,-6]] |
[[0],[0],[1]] |
3 | Controllable |
| Simple unreachable mode | 2 | 1 | [[0,0],[0,1]] |
[[1],[0]] |
1 | Not fully controllable |
Formula Used
State-space model: ẋ = Ax + Bu
Controllability matrix: C = [B\ AB\ A2B\ ...\ An-1B]
Decision rule: the system is controllable when rank(C) = n.
Supporting metric: this page also computes C CT and its determinant as a quick numerical indicator.
How to Use This Calculator
- Choose the number of states and control inputs.
- Enter the state matrix A and input matrix B.
- Set a precision level and rank tolerance.
- Press the calculation button to generate the result.
- Review the controllability matrix, rank, determinant proxy, and graph.
- Download the output as CSV or PDF when needed.
FAQs
1. What does this calculator measure?
It builds the controllability matrix from A and B, then checks whether the inputs can move the full state vector.
2. When is a system controllable?
A linear time-invariant system is controllable when the controllability matrix has rank equal to the number of states.
3. Why is numerical tolerance included?
Rank tests use floating-point arithmetic. The tolerance helps separate real pivots from tiny rounding artifacts in nearly singular problems.
4. Can I analyze systems with multiple inputs?
Yes. The calculator accepts several input columns in B and expands every controllability block for each input channel.
5. What does the Plotly graph show?
It displays a heatmap of the controllability matrix, making strong and weak state contributions easier to inspect visually.
6. Why compute C CT?
This finite-step Gramian proxy summarizes how strongly the controllability columns span the state space and supports quick determinant-based inspection.
7. Can A be non-square?
No. A must be square because it maps the state vector back into the same state dimension.
8. What files can I export?
You can export a CSV summary for spreadsheets and a PDF report containing metrics, matrices, and labels.