Changeset fc46db in git


Ignore:
Timestamp:
Mar 5, 2010, 11:35:28 PM (14 years ago)
Author:
Viktor Levandovskyy <levandov@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
1f190d7136840b518cb253adbb3225c11420b6ea
Parents:
f8fb471ddba04b92f5fdc0432fcc4d3df1b09514
Message:
*levandov: bugfix, rightInverse for noncomm case, doc improvements

git-svn-id: file:///usr/local/Singular/svn/trunk@12606 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/control.lib

    rf8fb471 rfc46db  
    1212
    1313MAIN PROCEDURES:
    14   control(R)     analysis of controllability-related properties of R (using Ext modules)
    15   controlDim(R)  analysis of controllability-related properties of R (using dimension)
    16   autonom(R)     analysis of autonomy-related properties of R (using Ext modules)
    17   autonomDim(R)  analysis of autonomy-related properties of R (using dimension)
     14  control(R);     analysis of controllability-related properties of R (using Ext modules)
     15  controlDim(R);  analysis of controllability-related properties of R (using dimension)
     16  autonom(R);     analysis of autonomy-related properties of R (using Ext modules)
     17  autonomDim(R);  analysis of autonomy-related properties of R (using dimension)
    1818
    1919COMPONENT PROCEDURES:
    20   leftKernel(R)       a left kernel of R
    21   rightKernel(R)      a right kernel of R
    22   leftInverse(R)      a left inverse of R
    23   rightInverse(R)     a right inverse of R
    24   colrank(M)          a column rank of M as of matrix
    25   genericity(M)       analysis of the genericity of parameters
    26   canonize(L)         Groebnerification for modules in the output of control or autonomy procs
    27   iostruct(R)         computes an IO-structure of behavior given by a module R
    28   findTorsion(R, I)   generators of the submodule of a module R, annihilated by the ideal I
     20  leftKernel(R);       a left kernel of R
     21  rightKernel(R);      a right kernel of R
     22  leftInverse(R);      a left inverse of R
     23  rightInverse(R);     a right inverse of R
     24  colrank(M);          a column rank of M as of matrix
     25  genericity(M);       analysis of the genericity of parameters
     26  canonize(L);         Groebnerification for modules in the output of control or autonomy procs
     27  iostruct(R);         computes an IO-structure of behavior given by a module R
     28  findTorsion(R, I);   generators of the submodule of a module R, annihilated by the ideal I
    2929
    3030AUXILIARY PROCEDURES:
    31   controlExample(s)   set up an example from the mini database inside of the library
    32   view()              well-formatted output of lists, modules and matrices
     31  controlExample(s);   set up an example from the mini database inside of the library
     32  view();              well-formatted output of lists, modules and matrices
    3333";
    3434
     
    246246"
    247247{
    248   return(transpose(leftInverse(transpose(R))));
     248  // for comm case it suffices
     249  if (isCommutative())
     250  {
     251    return(transpose(leftInverse(transpose(R))));
     252  }
     253  // for noncomm
     254  def save = basering; def sop = opposite(save);
     255  setring sop; module Mop = oppose(save,R);
     256  Mop = transpose(Mop);
     257  module L = leftInverse(Mop);
     258  setring save; module L = oppose(sop,L);
     259  L = transpose(L);
     260  return(matrix(L));
    249261}
    250262example
     
    16041616  return(@r);
    16051617}
     1618
     1619/* noncomm examples for leftInverse/rightInverse:
     1620
     1621LIB "jacobson.lib";
     1622    ring w = 0,(x,d),Dp;
     1623    def W=nc_algebra(1,1);
     1624    setring W;
     1625    matrix m[3][3]=[d2,d+1,0],[d+1,0,d3-x2*d],[2d+1, d3+d2, d2];
     1626    list J=jacobson(m,0);
     1627
     1628leftInverse(J[3]); // exist
     1629rightInverse(J[3]);
     1630
     1631leftInverse(J[1]); // zero
     1632rightInverse(J[1]);
     1633
     1634list JJ = jacobson(J[1],0);
     1635
     1636leftInverse(JJ[3]); // exist
     1637rightInverse(JJ[3]);
     1638
     1639leftInverse(JJ[1]); // exist
     1640rightInverse(JJ[1]);
     1641
     1642leftInverse(JJ[2]); // zero
     1643rightInverse(JJ[2]);
     1644
     1645*/
Note: See TracChangeset for help on using the changeset viewer.