Controllability Matrix Check Calculator
The Controllability Matrix Check Calculator determines whether a linear state-space system is fully controllable. Enter your state matrix A, input matrix B, and system order to compute the controllability rank and check system controllability. This tool helps control engineers and students verify the Kalman controllability condition for linear time-invariant systems. This calculator also calculates the controllability status and matrix dimensions.
This calculator is for educational purposes only. Results are based on numerical computations and may be affected by floating-point precision. Verify critical control system designs with professional engineering software.
What Is Controllability Rank
Controllability rank is a number that tells you if you can steer a dynamic system from any starting state to any desired state. In control systems, this rank comes from the controllability matrix, which is built from the state matrix and input matrix. If the rank equals the system order, the system is fully controllable. This means you have enough control inputs to move the system wherever you want over time.
How Controllability Rank Is Calculated
Formula
C = [B, AB, A2B, ..., An-1B]
System is controllable if rank(C) = n
Where:
- A = state matrix of size n x n (system dynamics)
- B = input matrix of size n x m (control inputs)
- n = number of state variables (system order)
- C = controllability matrix of size n x (n times m)
- rank(C) = number of linearly independent columns in C
The calculator builds the controllability matrix by multiplying matrix B by powers of matrix A. First, it starts with B itself. Then it computes A times B, A squared times B, and so on up to A raised to n-1. All these matrices are placed side by side to form one large matrix C. The rank of C is then found by counting how many independent columns exist. If this rank equals n, every state can be reached with proper control inputs.
Why Controllability Rank Matters
Knowing the controllability rank helps engineers design systems that can be fully controlled. Without this check, you might build a system where some states cannot be changed no matter what inputs you apply. This can lead to failed designs and wasted resources.
Why Controllability Is Important for Control System Design
When a system lacks full controllability, some states become unreachable. This means certain behaviors cannot be achieved through any control action. Engineers use the controllability test early in the design process to catch these problems before building physical prototypes. A system that fails the controllability test may need additional actuators or a different sensor placement to become fully controllable.
For Control Engineering Students
Students learning control theory use this calculation to understand the link between matrix algebra and real system behavior. Working through examples helps build intuition about what makes a system controllable. The Kalman test provides a clear mathematical way to answer questions about system reachability.
For Practicing Engineers
Professional engineers apply the controllability test when designing aircraft, robots, chemical processes, and other complex systems. The test reveals whether the chosen actuator locations provide enough control authority. If the rank falls short, the engineer knows to add more actuators or redesign the system structure before moving forward with detailed design work.
Example Calculation
Consider a second-order mechanical system with position and velocity states. The state matrix A is 2 rows by 2 columns with values 0, 1 in the first row and -2, -3 in the second row. The input matrix B is 2 rows by 1 column with values 0 and 1. The system order n equals 2.
The calculator first computes A times B, giving a column vector with values 1 and -3. The controllability matrix C is formed by placing B and AB side by side: the first column is 0, 1 and the second column is 1, -3. Using row reduction, both columns remain independent, so the rank is 2.
Result: Controllability Rank = 2, Status = Controllable
Since the rank equals the system order (both are 2), the system passes the Kalman controllability test. This means you can steer the mechanical system from any starting position and velocity to any desired position and velocity using the control input. The system has full control authority over both states.
Frequently Asked Questions
Who is this Controllability Matrix Check Calculator for?
This calculator is designed for control engineering students, researchers, and practicing engineers who work with linear state-space models. It helps users quickly verify the controllability property without manual matrix calculations. Anyone studying automatic control systems or designing feedback controllers can benefit from this tool.
What matrix format should I use for input?
Enter each matrix row on a separate line or separate rows with semicolons. Use commas between elements within a row. For example, a 2x2 matrix can be entered as "0, 1; -2, -3" or "0, 1" on one line and "-2, -3" on the next line. Make sure the number of rows matches the system order you specify.
What happens if my system is not controllable?
If the controllability rank is less than the system order, some states cannot be controlled. You may consider adding more actuators, changing actuator locations, or redesigning the system structure. The uncontrollable modes represent dynamics that no control input can influence, which may affect your overall control design goals.
Can I use this calculator for time-varying or nonlinear systems?
This calculator only applies to linear time-invariant systems. Time-varying systems require different controllability tests that track how matrices change over time. Nonlinear systems need linearization around an operating point before this test can provide useful information about local controllability properties.
Why does numerical precision matter for controllability?
Floating-point arithmetic can produce small errors that affect rank calculation. Systems very close to being uncontrollable may appear controllable due to numerical noise. For critical applications, use higher precision or specialized numerical software to verify controllability with greater accuracy.
References
- Kailath, T. (1980). Linear Systems. Prentice-Hall.
- Kalman, R. E. (1963). Mathematical Description of Linear Dynamical Systems. Journal of the Society for Industrial and Applied Mathematics Series A.
- Ogata, K. (2010). Modern Control Engineering, 5th Edition. Prentice Hall.
- Antsaklis, P. J., & Michel, A. N. (2006). Linear Systems. Birkhauser.
Calculation logic verified using publicly available standards.
View our Accuracy & Reliability Framework →