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.

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

  1. Select the system order n (number of states): 2, 3, or 4.
  2. Enter the n×n state matrix A and the n×1 input matrix B.
  3. The tool builds the controllability matrix C = [B | AB | A²B | … | A^(n-1)B] column by column.
  4. Gaussian elimination with partial pivoting computes the numerical rank of C.
  5. 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