Changeset 9c0b20a in git for kernel/clapsing.cc


Ignore:
Timestamp:
Nov 25, 2010, 4:11:10 PM (13 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
488872b51cd1fa36918b12c9c2476c1edff62026
Parents:
c512d93f75cc91a718679d4a03b14439936966e2
Message:
LLL via system("LLL",M) for matrix (char 0)/intmat


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

Legend:

Unmodified
Added
Removed
  • kernel/clapsing.cc

    rc512d9 r9c0b20a  
    15771577      }
    15781578    }
    1579     for(i=r;i>0;i--)
    1580     {
    1581       for(j=r;j>0;j--)
    1582       {
    1583         M(i,j)=convSingPFactoryP(MATELEM(m,i,j));
    1584       }
    1585     }
    15861579    CFMatrix *MM=cf_HNF(M);
    15871580    for(i=r;i>0;i--)
     
    16191612  {
    16201613    for(j=r;j>0;j--)
     1614    {
     1615      IMATELEM(*mm,i,j)=convFactoryISingI((*MM)(i,j));
     1616    }
     1617  }
     1618  delete MM;
     1619  return mm;
     1620}
     1621matrix singntl_LLL(matrix  m )
     1622
     1623  int r=m->rows();
     1624  int c=m->cols();
     1625  matrix res=mpNew(r,c);
     1626  if (rField_is_Q(currRing))
     1627  {
     1628    CFMatrix M(r,c);
     1629    int i,j;
     1630    for(i=r;i>0;i--)
     1631    {
     1632      for(j=c;j>0;j--)
     1633      {
     1634        M(i,j)=convSingPFactoryP(MATELEM(m,i,j));
     1635      }
     1636    }
     1637    CFMatrix *MM=cf_LLL(M);
     1638    for(i=r;i>0;i--)
     1639    {
     1640      for(j=c;j>0;j--)
     1641      { 
     1642        MATELEM(res,i,j)=convFactoryPSingP((*MM)(i,j));
     1643      }
     1644    }
     1645    delete MM;
     1646  }
     1647  return res;
     1648}
     1649intvec* singntl_LLL(intvec*  m )
     1650{
     1651  int r=m->rows();
     1652  int c=m->cols();
     1653  setCharacteristic( 0 );
     1654  CFMatrix M(r,c);
     1655  int i,j;
     1656  for(i=r;i>0;i--)
     1657  {
     1658    for(j=r;j>0;j--)
     1659    {
     1660      M(i,j)=IMATELEM(*m,i,j);
     1661    }
     1662  }
     1663  CFMatrix *MM=cf_LLL(M);
     1664  intvec *mm=ivCopy(m);
     1665  for(i=r;i>0;i--)
     1666  {
     1667    for(j=c;j>0;j--)
    16211668    {
    16221669      IMATELEM(*mm,i,j)=convFactoryISingI((*MM)(i,j));
Note: See TracChangeset for help on using the changeset viewer.