Home Online Manual
Top
Back: genericity
Forward: iostruct
FastBack: Control theory background
FastForward: jacobson_lib
Up: control_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.11.2.11 canonize

Procedure from library control.lib (see control_lib).

Usage:
canonize(L); L a list

Return:
list

Purpose:
modules in the list are canonized by computing their reduced minimal (= unique up to constant factor w.r.t. the given ordering) Groebner bases

Assume:
L is the output of control/autonomy procedures

Example:
 
LIB "control.lib";
// TwoPendula with L1=L2=L
ring r=(0,m1,m2,M,g,L),Dt,dp;
module RR =
[m1*L*Dt^2, m2*L*Dt^2, -1, (M+m1+m2)*Dt^2],
[m1*L^2*Dt^2-m1*L*g, 0, 0, m1*L*Dt^2],
[0, m2*L^2*Dt^2-m2*L*g, 0, m2*L*Dt^2];
module R = transpose(RR);
list C = control(R);
list CC = canonize(C);
view(CC);
==> number of first nonzero Ext:
==> 
==> 1
==> 
==> not controllable , image representation for controllable part:
==> 
==> -Dt^2                           ,
==> -Dt^2                           ,
==> (M*L)*Dt^4+(-m1*g-m2*g-M*g)*Dt^2,
==> (L)*Dt^2+(-g)                   
==> 
==> kernel representation for controllable part:
==> 
==> 1,0,0,
==> 0,1,0,
==> 0,0,1
==> 
==> obstruction to controllability
==> 
==> 1,0,0            ,
==> 0,1,0            ,
==> 0,0,(L)*Dt^2+(-g)
==> 
==> annihilator of torsion module (of obstruction to controllability)
==> 
==> (L)*Dt^2+(-g)
==> 
==> dimension of the system:
==> 
==> 1
==>