This object holds the general model form for a dynamic system. This model is used for computing the linearized form of the system, while properly dealing with constraints leading to dependent coordinates and speeds.
Attributes
f_0, f_1, f_2, f_3, f_4, f_c, f_v, f_a  (Matrix) Matrices holding the general system form. 
q, u, r  (Matrix) Matrices holding the generalized coordinates, speeds, and input vectors. 
q_i, u_i  (Matrix) Matrices of the independent generalized coordinates and speeds. 
q_d, u_d  (Matrix) Matrices of the dependent generalized coordinates and speeds. 
perm_mat  (Matrix) Permutation matrix such that [q_ind, u_ind]^T = perm_mat*[q, u]^T 
Linearize the system about the operating point. Note that q_op, u_op, qd_op, ud_op must satisfy the equations of motion. These may be either symbolic or numeric.
Parameters :  op_point : dict or iterable of dicts, optional
A_and_B : bool, optional
simplify : bool, optional


Potential Issues
Note that the process of solving with A_and_B=True is computationally intensive if there are many symbolic parameters. For this reason, it may be more desirable to use the default A_and_B=False, returning M, A, and B. More values may then be substituted in to these matrices later on. The state space form can then be found as A = P.T*M.LUsolve(A), B = P.T*M.LUsolve(B), where P = Linearizer.perm_mat.