Controllability Matrix Calculator

Build controllability matrices for linear state-space models. Check rank, reachability, and numerical conditioning with confidence. Use exports, visuals, and examples for faster engineering decisions.

Enter System Matrices

Use the controls below to define an LTI state-space model.

Reset

System Settings

A must be square. B must have the same row count as A.

State Matrix A

Input Matrix B

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

  1. Choose the number of states and control inputs.
  2. Enter the state matrix A and input matrix B.
  3. Set a precision level and rank tolerance.
  4. Press the calculation button to generate the result.
  5. Review the controllability matrix, rank, determinant proxy, and graph.
  6. 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.

Related Calculators

root locus plot calculatorinverse laplace calculatorclosed loop gain calculatoropen loop gain calculatorpole zero plot calculatorobservability matrix calculatorgain margin calculatorsteady state error calculatorpole zero map calculatorcharacteristic equation eigenvalues calculator

Important Note: All the Calculators listed in this site are for educational purpose only and we do not guarentee the accuracy of results. Please do consult with other sources as well.