Changeset 1ac173 in git


Ignore:
Timestamp:
Aug 9, 2001, 10:39:10 AM (22 years ago)
Author:
Mathias Schulze <mschulze@…>
Branches:
(u'spielwiese', '91fdef05f09f54b8d58d92a472e9c4a43aa4656f')
Children:
86c1f00ac7423a6cb67b950155c7809798a70e49
Parents:
8444b045c3217f44893e92cc7acc9a1bc7595178
Message:
*mschulze: added commutator


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/linalg.lib

    r8444b0 r1ac173  
    11//GMG last modified: 04/25/2000
    22//////////////////////////////////////////////////////////////////////////////
    3 version="$Id: linalg.lib,v 1.16 2001-08-01 13:02:20 mschulze Exp $";
     3version="$Id: linalg.lib,v 1.17 2001-08-09 08:39:10 mschulze Exp $";
    44category="Linear Algebra";
    55info="
     
    3131 jordanmatrix(e,b); Jordan matrix with eigenvalues e and Jordan block sizes b
    3232 jordanform(M);     Jordan matrix of constant square matrix M
     33 commutator(A);     matrix of commutator B->[A,B]=AB-BA
    3334";
    3435
     
    16951696///////////////////////////////////////////////////////////////////////////////
    16961697
     1698proc commutator(matrix A)
     1699"USAGE:   (A); matrix A
     1700ASSUME:  A is a square matrix
     1701RETURN:  matrix C of the commutator B->[A,B]=AB-BA w.r.t. rowwise ordered basis
     1702EXAMPLE: example commutator; shows examples
     1703"
     1704{
     1705  int n=ncols(A);
     1706  if(n!=nrows(A))
     1707  {
     1708    ERROR("square matrix expected");
     1709  }
     1710  int i,j,k;
     1711  matrix C[n^2][n^2];
     1712  for(i=0;i<n;i++)
     1713  {
     1714    for(j=0;j<n;j++)
     1715    {
     1716      for(k=0;k<n;k++)
     1717      {
     1718        C[i*n+j+1,k*n+j+1]=C[i*n+j+1,k*n+j+1]+A[i+1,k+1];
     1719        C[i*n+j+1,i*n+k+1]=C[i*n+j+1,i*n+k+1]-A[k+1,j+1];
     1720      }
     1721    }
     1722  }
     1723  return(C);
     1724}
     1725example
     1726{ "EXAMPLE:"; echo=2;
     1727  ring R;
     1728  matrix A[2][2]=1,2,3,4;
     1729  print(A);
     1730  print(commutator(A));
     1731}
     1732
     1733///////////////////////////////////////////////////////////////////////////////
     1734
    16971735/*
    16981736///////////////////////////////////////////////////////////////////////////////
Note: See TracChangeset for help on using the changeset viewer.