Engineering

Controllability Check Calculator

Check whether a linear state-space pair A and B is controllable using the Kalman controllability matrix rank condition.

controllability-check
Check the Kalman controllability rank condition for a continuous or discrete linear state-space model xdot = Ax + Bu.
Controllability result
System size
Rank of controllability matrix
Decision
Matrix preview

How the controllability check calculator works

This controllability check calculator tests a linear state-space model using the Kalman controllability rank condition. You enter the A matrix and the B matrix. The calculator builds the controllability matrix by joining B, AB, A²B, and the remaining terms up to A^(n−1)B, where n is the number of states. It then computes the numerical rank of that matrix with a tolerance and compares the rank with the number of states.

If the rank equals the number of states, the model is controllable under the entered input matrix. In plain language, the input has enough influence through the system dynamics to move the state vector through the full state space in the ideal linear model. If the rank is lower than the number of states, at least one state direction cannot be reached by the available input combination.

For a deeper reference point, see the University of Michigan CTMS state-space controllability lesson. The link is included because it explains the background principle or the standard context behind the calculation, not because it replaces the checks needed for a real project.

Formula and worked example

Example: A = [0 1; -2 -3], B = [0; 1] C = [B AB] B = [0; 1] AB = [1; -3] C = [0 1; 1 -3] rank(C) = 2, and n = 2, so the system is controllable

The example is useful because it shows the order of work. First keep all dimensions in one unit system, then calculate the core value, then convert the final result into the units you actually need. This prevents the common problem where a correct formula gives a wrong number because one input was entered in inches while another was treated as millimeters.

Common mistakes, use cases, and limits

The biggest mistake is entering a B matrix with the wrong shape. B must have the same number of rows as A has states. Another mistake is trusting a bad linearization. A nonlinear plant may appear controllable or uncontrollable near one operating point but behave differently elsewhere. Numerical tolerance also matters: a matrix can be nearly singular, and the rank result can change if values are rounded too strongly.

Use this calculator for control-system coursework, early state-space model checks, actuator placement studies, and debugging simple plant models before controller design. It is especially helpful when a controller design method fails and you need to confirm whether the state-space pair (A, B) is mathematically controllable.

This page does not design the controller. It does not check observability, stabilizability, actuator saturation, disturbance rejection, sample time, nonlinear limits, model uncertainty, or sensor noise. A full control design still needs pole placement, LQR, MPC, PID tuning, or another method appropriate to the actual plant.

How to read the result: Do not look only at the large number at the top of the calculator. The smaller rows explain where that number came from and what part of the result may control the decision. In many engineering estimates, the secondary value is the one that prevents a mistake. For example, a total weight may look acceptable while weight per foot affects supports, or a pressure result may look acceptable while velocity, face area, or a warning note shows that the assumption is weak. Read the formula box after every calculation, especially when changing units or using custom material data.

Common questions

  • Full rank means the controllability matrix has rank equal to the number of states. Then every state direction is reachable in the ideal linear model.
  • Yes. Enter multiple B columns by separating values with commas in each row, such as 0,1;1,0 for a two-input system.
  • No. Controllability and stability are different. A system can be controllable but unstable until a suitable controller is designed.
  • Floating-point arithmetic can make very small values appear nonzero. The tolerance tells the calculator how small a pivot can be before it is treated as zero.
  • Use the result as an estimating or checking tool only. Final design should be checked against the applicable code, standard, manufacturer data, and a qualified professional review when safety, compliance, or expensive equipment is involved.
  • The physical value should stay the same after conversion, but small rounding differences can appear because the calculator rounds displayed values. For purchasing, fabrication, or field work, keep extra significant digits until the final step.
  • The most common mistake is mixing units. A formula may expect inches, feet, psi, millimeters, pascals, kilograms, or pounds. This page converts the common options internally, but the input labels still need to be read carefully.
  • Yes, when the result is used for sizing, procurement, lifting, field installation, or machine selection. The correct safety factor depends on the code, material variation, uncertainty, wear, environment, and consequence of failure.