Controllability Matrix Helper
Enter A and B matrices of a linear state-space system (up to 4×4) to build the Kalman controllability matrix, compute its rank, and determine if the system is fully controllable.
System Matrices
A matrix (state matrix)
B matrix (input vector)
Fill in A and B matrices, then click Check Controllability.
Controllability Verdict
—
—
rank(C)
—
Required (n)
—
Controllability Matrix C = [B | AB | A2B | … | An-1B]
Column Breakdown
Interpretation
—
Summary
Enter A and B matrices of a linear state-space system (up to 4×4) to build the Kalman controllability matrix, compute its rank, and determine if the system is fully controllable.
How it works
- Select the system order n (number of states): 2, 3, or 4.
- Enter the n×n state matrix A and the n×1 input matrix B.
- The tool builds the controllability matrix C = [B | AB | A²B | … | A^(n-1)B] column by column.
- Gaussian elimination with partial pivoting computes the numerical rank of C.
- If rank(C) = n, the system is fully controllable — every state is reachable from any initial condition using a suitable input. Otherwise the system is not fully controllable and the deficient rank indicates how many uncontrollable modes exist.
Use cases
- Verify that all states of a designed controller can be independently steered before implementing pole placement.
- Identify uncontrollable modes in a linearized plant model to redesign actuator placement.
- Check controllability of reduced-order models obtained after model-order reduction.
- Confirm that a state observer (Luenberger or Kalman filter) design is feasible by checking the dual observability condition.
- Validate textbook or homework state-space problems against the rank condition quickly.
Frequently Asked Questions
Last updated: 2026-07-22 ·
Reviewed by Nham Vu