5/12/2016 QZ Based Algorithm for System Pole, Transmission Zero and Residue Derivatives Bradley T. Burchett, Ph.D., P.E. Associate Professor Rose-Hulman Institute of Technology Overview Introduction Review of QZ Batch Calculation of the Residues Numerical Results Gradient based OOF using Sylvester Open issues 1 5/12/2016 Introduction Objective: Numerically robust algorithm to compute derivatives of poles, zeros and residues Output will be used in Sylvester expansion solution of quadratic cost function for optimal output feedback Facilitates feedback design in large systems. QZ review QZ historically used to solve generalized eigenvalue problem (GEP) Aw = λBw In turn used to solve Ricatti Equations, compute transmission zeros, etc. 2 5/12/2016 Steps of QZ A is reduced to upper Hessenberg form while B is reduced to upper triangular form, A is reduced to quasi-triangular form while the triangular form of B is maintained the quasi-triangular matrix is reduced to triangular form and the eigenvalues are extracted the eigenvectors are obtained from the triangular matrices and transformed back into the original coordinate system Building blocks of QZ QZ refers to the left and right unitary matrices Q and Z such that QAZ is quasi-triangular and QBZ is upper triangular Q and Z need not be explicitly formed, rather, Householder reflectors and Givens rotations are applied to submatrices of A and B. 3 5/12/2016 Householder / Givens Householder finds: H = I − uu H Such that Ha = νe1 Givens rotation: Ha = νe1 Overall QZ Problem is sub-divided to reduce computational burden 4 5/12/2016 Rotations are applied to pencil and its derivatives Deflation zeros on the diagonal of B must deflated out the bottom of the pencil to preserve the correct derivative information. When B initially has two or more zeros on the diagonal the deflation logic becomes somewhat more complicated. as shown below. 5 5/12/2016 Extracting the Eigenvalues Real eigs given by: Derivs by: Complex eigs from the algorithm: 6 5/12/2016 Complex eigs algorithm continued and finally 7 5/12/2016 LTI System nomenclature State Space Transfer Function F (s ) = c (sI − a ) b + d −1 Batch Calculation of the Residues (distinct poles) Partial fraction expansion: Can be solved by finding common denominator, adding, and equating powers of s. 8 5/12/2016 If we write the simultaneous set of equations in matrix form we get: Ξr=R, where: Xi(i,j) = sum(prod(combnk(−ps([1:j−1,j+1:n]),i−1),2)). and that is: 9 5/12/2016 Batch Calculation of the Residues (repeated poles) Repeating the algebraic process, we discover that the corresponding column of the Ξ matrix can be built from the bottom up pretending that the system is lacking mk − j + 1 occurrences of the repeated pole. The top mk − j of said column will then be filled in with zeros. Columns of Ξ corresponding to repeated pole: 10 5/12/2016 Derivatives of the Residues The batch equation is differentiated yielding: Unpacking the derivative of the Ξ matrix, we get: 11 5/12/2016 System numerator polynomial is found from: Thus derivatives of the numerator coefficients from the pencil sum(prod(combnk(-ps([1:j-1,j+1:n]),m),2))*(-dps(j)) 12 5/12/2016 Numerical Examples Transmission Zero Calculation 13 5/12/2016 14 5/12/2016 Residue Derivatives For the system shown previously 15 5/12/2016 Sylvester Based Algorithm for OOF: Sylvester’s expansion residue (num polynomial) eigenvalue Is substituted for the system dynamics in the quadratic cost function I.E. Which is re-written 16 5/12/2016 Which is then integrated closed-form Where mk occurences of λ are deconvolved from char poly and the nk terms come from the PFE Characteristic polynomial of A Gradient of the cost function quotient rule 17 5/12/2016 Derivative of matrix polynomial leads to first / last algorithm: % F L Z first term: = Z; = dA; = Z + (F + L)*Psi(p-1); % subsequent terms: for q = p-2:-1:1 F = A*(F + L); L = L*A; Z = Z + (F + L)*Psi(q); end Map eigenvalue derivatives to derivatives of char poly coeffs: Is just one term in the polyderm expansion. 18 5/12/2016 Result: Non-gradient search Results: Gradient search Equal axis scaling: 1 1 0.8 0.8 0.6 0.6 859095 K(2,1) 55 0.2 95 0.2 0 0 -0.2 80706560 75 75 70 65 -0.6 0.4 0.5 0. 6 K(1,1) 0.7 0.8 65 60 -0.6 60 0.3 90 85 80 75 70 90 85 -0.2 80 75 70 65 60 -0.4 80 -0.4 0.2 55 0.4 0.4 0.9 1 95 0.2 0.4 0. 6 95 0.8 19 5/12/2016 Open Issues Is the differentiated QZ stable? Operations counts Actual repeated eigenvalue cases that are not defective / overly contrived? 0 0 -2 -2 -4 -4 -6 -6 -8 0 2 4 A11 6 8 -8 0 0 -2 -2 -4 -4 -6 -6 -8 0 2 4 B11 6 8 -8 0 2 4 dA11 6 8 0 2 4 dB11 6 8 20