Changeset bf5ba90 in git


Ignore:
Timestamp:
Nov 18, 2006, 1:57:31 PM (17 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '0604212ebb110535022efecad887940825b97c3f')
Children:
c8f1b47b962db811a4dfaab3b802c18cfe20bc5e
Parents:
ca3e7b5e9ae94d45a0eebab22cb38d16c7542b01
Message:
*hannes: optimization


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/matrix.lib

    rca3e7b rbf5ba90  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="$Id: matrix.lib,v 1.33 2006-11-17 14:15:42 Singular Exp $";
     2version="$Id: matrix.lib,v 1.34 2006-11-18 12:57:31 Singular Exp $";
    33category="Linear Algebra";
    44info="
     
    5959      { intmat B[nrows(A)][size(m)]; }
    6060      int i,j;
    61       for( i=1; i<=ncols(A); i=i+1 )
     61      for( i=1; i<=ncols(A); i++ )
    6262      {
    6363         if( m[i]!=[0] )
    6464         {
    65             j=j+1;
     65            j++;
    6666            B[1..nrows(A),j]=A[1..nrows(A),i];
    6767         }
     
    9494{
    9595   int i;
    96    module B=module(#[1]);
    97    for( i=2; i<=size(#); i++ ) { B=B,module(#[i]); }
     96   for( i=size(#);i>0; i-- ) { #[i]=module(#[i]); }
     97   module B=#[1..size(#)];
    9898   return(matrix(B));
    9999}
     
    124124      int i; ideal id=#[1];
    125125      int n=ncols(id); matrix A[n][n];
    126       for( i=1; i<=n; i=i+1 ) { A[i,i]=id[i]; }
     126      for( i=1; i<=n; i++ ) { A[i,i]=id[i]; }
    127127   }
    128128   return(A);
     
    146146   int i,N,a;
    147147   list L;
    148    for( i=1; i<=size(#); i=i+1 ) { N=N+nrows(#[i]); }
    149    for( i=1; i<=size(#); i=i+1 )
     148   for( i=1; i<=size(#); i++ ) { N=N+nrows(#[i]); }
     149   for( i=1; i<=size(#); i++ )
    150150   {
    151151      matrix B[N][ncols(#[i])];
     
    223223   int i;
    224224   module @test;
    225    for( i=1; i<=size(c)-1; i=i+1 )
     225   for( i=1; i<=size(c)-1; i++ )
    226226   {
    227227      c[i]=matrix(c[i]); c[i+1]=matrix(c[i+1]);
     
    262262     int N = nrows(A)*nrows(B);
    263263     matrix C[N][ncols(B)];
    264      for( i=1; i<=ncols(A); i=i+1 )
     264     for( i=1; i<=ncols(A); i++ )
    265265     {
    266        for( j=1; j<=nrows(A); j=j+1 )
     266       for( j=1; j<=nrows(A); j++ )
    267267       {
    268268          C[(j-1)*nrows(B)+1..j*nrows(B),1..ncols(B)]=A[j,i]*B;
     
    373373   id = id,B[1..n,1..n];
    374374   int i,j;
    375    for( i=0; i<=n-2; i=i+1 )
     375   for( i=0; i<=n-2; i++ )
    376376   {
    377377      B[i+1,i+2..n]=id[j+1..j+n-i-1];
     
    430430   id = id,B[1..n,1..n];
    431431   int i,j;
    432    for( i=0; i<=n-1; i=i+1 )
     432   for( i=0; i<=n-1; i++ )
    433433   {
    434434      B[i+1,i+1..n]=id[j+1..j+n-i];
     
    436436   }
    437437   matrix A=transpose(B);
    438    for( i=1; i<=n; i=i+1 ) {  A[i,i]=0; }
     438   for( i=1; i<=n; i++ ) {  A[i,i]=0; }
    439439   B=A+B;
    440440   return(B);
     
    787787   poly p;
    788788   matrix d[m][n];
    789    for (i=1;i<=m;i=i+1)
    790    {  for (j=1;j<=n;j=j+1)
     789   for (i=1;i<=m;i++)
     790   {  for (j=1;j<=n;j++)
    791791      {  p = A[i,j];
    792792         if (ord(p)==0)
     
    805805         p  = b[rk,l];         p = 1/p;
    806806         b  = multrow(b,rk,p);
    807          for (i=1;i<=m;i=i+1)
     807         for (i=1;i<=m;i++)
    808808         {
    809809            if (rk-i) { b = addrow(b,rk,-b[i,l],i);}
    810810         }
    811811         d = 0;
    812          for (i=rk+1;i<=m;i=i+1)
    813          {  for (j=l+1;j<=n;j=j+1)
     812         for (i=rk+1;i<=m;i++)
     813         {  for (j=l+1;j<=n;j++)
    814814            {  p = b[i,j];
    815815               if (ord(p)==0)
     
    911911 int l,j;
    912912 intvec v;
    913  for (j=1;j<=ncols(A);j=j+1)
     913 for (j=1;j<=ncols(A);j++)
    914914 {
    915915    if (gen(l+1)==module(A)[j]) {l=l+1;}
     
    947947 intvec v;
    948948 module M = transpose(A);
    949  for (j=1; j <= nrows(A); j=j+1)
     949 for (j=1; j <= nrows(A); j++)
    950950 {
    951951    if (gen(l+1) == M[j]) { l=l+1; }
Note: See TracChangeset for help on using the changeset viewer.