function [] = polpac_functions() % % The following functions are currently supported as part of POLPAC: % % Initialization: % polpac_init: routine initializing the global variables of POLPAC % % Debugging: % abort: abort from POLPAC (return to Matlab) % newtrace: empties the trace stack % pull: pull last function name of the TRACE stack % push: push new function name down the TRACE stack % traceoff: switch function tracing off % traceon: switch function tracing on % ttrace: show the trace of embedded function calls % % Input/Output: % newmat: converts a Matlab matrix to a polynomial matrix % newpoly: converts a Matlab polynomial to a POLPAC polynomial % newsyst: converts a Matlab system to a POLPAC system % oldmat: converts a POLPAC matrix to a Matlab matrix % oldpoly: converts a POLPAC polynomial to a Matlab polynomial % oldsyst: converts a POLPAC system to a Matlab system % show: display a POLPAC data structure % show1: routine called by SHOW % trajectory: convert trajectory matrix from Matlab to POLPAC % % Conversions: % carthes: converts polar to Carthesian coordinates % cfs2rts: converts coefficient form to factorized form % cfs2trj: converts coefficient form to trajectory form % c: conversion from mode i to mode j (more than 100 functions) % mixmod: automatic conversion of mixed mode operations % plm2pms: converts four polynomial matrices to polynom. matrix system % plm2tfm: converts two polynomial matrices to rational function matrix % pms2plm: converts polynom. matrix system to four polynomial matrices % pms2ss: converts polynom. matrix system to state-space description % pms2tfm: converts polynom. matrix system to rational function matrix % ppolar: converts complex matrices to polar coordinates % rts2cfs: converts factorized form to coefficient form % rts2trj: converts factorized form to trajectory form % ss2pms: converts state-space description to polynom. matrix system % ss2tfm: converts state-space description to rational function matrix % strc: converts complex number to string % strg: converts transfer function matrix to string % strg1: converts transfer function to string % strp: converts polynomial matrix to string % strp1: converts polynomial to string % strs: converts system description to string % tfm2plm: converts rational function matrix to two polynomial matrices % tfm2pms: converts rational function matrix to polynom. matrix system % tfm2ss: converts rational function matrix to state-space description % trj2cfs: converts trajectory form to coefficient form % trj2rts: converts trajectory form to factorized form % truncate: truncates a text string to relevant information % % General Operations (All Modes): % add: add two POLPAC data structures % datatype: determine whether data are complex, real, or integer % dconc: diagonally concatenate two POLPAC data structures % domain: extract the domain information of trajectory structure % eldiv: elementwise divide two POLPAC data structures % elmult: elementwise multiply two POLPAC data structures % expand: add new columns, rows, or orders to data structure % eyep: generate identity POLPAC data structure % feedbk: compute feedback structure of two POLPAC systems % gget: extract substructure from POLPAC data structure % hconc: horizontally concatenate two POLPAC data structures % isproper: determines whether POLPAC data structure is proper % lftl: compute lower LFT feedback structure of two POLPAC systems % lftu: compute upper LFT feedback structure of two POLPAC systems % logdim: get logical dimensions of POLPAC data structure % maxp: find the maximum of a POLPAC data structure % minp: find the minimum of a POLPAC data structure % minus: negate a POLPAC data structure % mult: multiply two POLPAC data structures % nnorm: compute different norms of POLPAC data structures % normcomp: checks whether two POLPAC items are identical % onesp: generate POLPAC data structure full of 1 elements % pmap: converts logical dimensions to physical dimensions % ppack: pack data structure identifier into a number % put: insert substructure into POLPAC data structure % realp: get the real part of a POLPAC data structure % squeeze: remove unnecessary orders form data structure % sub: subtract two POLPAC data structures % transpose: transpose of a POLPAC data structure % unitcircle: generate unitcircle domain in POLPAC % unitfb: compute unit feedback for a POLPAC system % unpack: unpack data structure identifier from number % vconc: vertically concatenate two POLPAC data structures % zerop: generate POLPAC data structure full of 0 elements % % Basic Operations (Matlab data structures): % aitken: compute Aitken interpolation polynomial % companion: compute lower companion matrix % modal: computes the right modal matrix % mroot: compute roots of a polynomial % mroot0: algorithm to compute roots of a polynomial % mroot1: algorithm to compute roots of a polynomial % mroot2: algorithm to compute roots of a polynomial % munorm: compute mu-norm of a complex square matrix % neig: compute eigenvalues and confluences of a matrix % neigal1: algorithm computing eigenvalues of a matrix % neigal2: algorithm computing eigenvalues of a matrix % neig1: routine computing eigenvalues of a matrix using neigal1 % neig2: routine computing eigenvalues of a matrix using neigal2 % radj: adjugate of a matrix % rdet: determinant of a matrix (alternative to det function) % sortc: sorts complex vectors according to magnitude and phase % strucm: determine structural properties of a matrix % vdm: returns a Vandermonde matrix of a vector % % Operations on Systems (Mode 0): % adds: add two POLPAC systems (parallel connection) % balance: balance state-space description % c00: conversions to various canonical forms % eitelberg: model reduction according to Eitelberg/Badreddin % minreals: minimal realization using staircase algorithm % mults: multiply two POLPAC systems (cascade connection) % % Operations on Polynomial Matrices (Modes 1..3): % addp: add two POLPAC polynomial matrices % addp1: add two POLPAC polynomials % colpropt: transforms polynomial matrix to column-proper form % divp1: divide two POLPAC polynomials % eldivp: elementwise divide two POLPAC polynomial matrices % elmultp: elementwise multiply two POLPAC polynomial matrices % elopc1: elementary column operation #1 % elopc2: elementary column operation #2 % elopc3: elementary column operation #3 % elopr1: elementary row operation #1 % elopr2: elementary row operation #2 % elopr3: elementary row operation #3 % equalize: replace clusters of nearby poles by one multiple pole % evalp: evaluate value of a polynomial matrix % gain: computes matrix of gain factors of a polynomial matrix % gamcol: computes the column gamma matrix of a polynomial matrix % gamrow: computes the row gamma matrix of a polynomial matrix % invp: inverts a polynomial matrix % iscolprop: determines whether polynomial matrix is column proper % isrowprop: determines whether polynomial matrix is row proper % lcd1: compute largest common divider of two polynomials % lcld: largest common left divider of two polynomial matrices % lcrd: largest common right divider of two polynomial matrices % ldivp: left divide two POLPAC polynomial matrices % multp: multiply two POLPAC polynomial matrices % multp1: multiply two POLPAC polynomials % order: computes matrix of polynomial orders of a polynomial matrix % qrp: triangularization of polynomial matrix % qrpi: auxiliary function used by qrp and svdp % radjp: adjugate of a polynomial matrix % rdetp: determinant of a polynomial matrix % rdetp1: auxiliary function called by rdetp % rdivp: right divide two POLPAC polynomial matrices % rowpropt: transforms polynomial matrix to row-proper form % scm: find smallest common multiple of a polynomial matrices % scm1: compute smallest common multiple of two polynomials % svdp: Smith decomposition of polynomial matrix % tracep: compute the trace of a polynomial matrix % % Operations on Transfer Functions (Modes 4..6): % addg: add two POLPAC transfer function matrices % addg1: add two POLPAC transfer functions % commonden: find smallest common denominator % divg1: divide two POLPAC transfer functions % eldivg: elementwise divide two POLPAC transfer function matrices % elmultg: elementwise multiply two POLPAC transfer function matrices % invg: inverts a rational function matrix % lcf: compute left coprime factorization % ldivg: left divide two POLPAC transfer function matrices % multg: multiply two POLPAC transfer function matrices % multg1: multiply two POLPAC transfer functions % qrg: triangularization of rational function matrix % rcf: compute right coprime factorization % rdivg: right divide two POLPAC transfer function matrices % reduceg: pole/zero cancellations % strictprop: division algorithm of transfer functions % svdg: Smith MacMillan decomposition of rational function matrix % traceg: compute the trace of a rational function matrix % % Operations on Polynomial Matrix System Representations (Modes 7..9): % addps: add two POLPAC polynomial matrix systems (parallel c.) % multps: multiply two POLPAC polynomial matrix systems (cascade c.) % minrealps: minimal realization of a POLPAC polynomial matrix system % return