Some Computations in (A^(n, l, m)) using VasCalc

First we load up the definitions, and initialize the program: (see download and setup instructions at http://katlas.math.toronto.edu/drorbn/index.php?title=VasCalc)

<< C:/drorbn/projects/06VasCalc/trunk/CDinterface.m
SetVasCalcPath["C:/drorbn/projects/06VasCalc/trunk"]

The spaces of (rational linear combinations of) chord diagrams modulo the 4-T relations are accessed by the objects CDSpace[ # of lines, # of circles, # of chords]. Constructing these spaces may take some time, but only needs to be done once - the result is stored on disc for future use. 
Here we find the dimension of the space with five chords on a skeleton of one line...

GetDimension[CDSpace[1, 0, 5]]

...which is isomorphic to closing the line to a circle:

GetDimension[CDSpace[0, 1, 5]]

We can also find a basis for such a space. The notation to represent a chord diagram is as follows: number all the chords, and for each line (or circle), write down the numbers of the chords that one passes as one walks up the line (around the circle). 
For example, here's the basis for (A^(1, 1, 3))

GetCDBasis[CDSpace[1, 1, 3]]

Some operations (addition, scalar multiplication, vector multiplication, and a few operations that alter the skeleton) have also been implemented: the algebraic operations actually take place in the graded algebra (A^(l, m))on a skeleton of l lines and m circles. For example, let's demonstrate the commutativity of (A^(1, 0)).  
Define two chord diagrams as follows - the "ASeries" denotes a linear combination of chord diagrams that lives in (A^(l, m)):

cd1  =  ASeries[{1},  0,  CD[Line[1, 2, 2, 1]], 5]

cd2  =  ASeries[{1},  0,  CD[Line[1, 2, 3, 1, 2, 3]], 5]

The operator "." returns the concatenation of the two diagrams. Also, note that the internal representation of these objects is in Java, so we use the command "// CD" to convert back to human-readable notation:

cd1 . cd2  // CD

cd2 . cd1  // CD

These certainly are different diagrams, but in the quotient obtained from the 4T relations, they are equivalent:

Reduce[cd1 . cd2  -  cd2 . cd1]  // CD

In fact, every basis element of (say)  (A^(1, 0, 5)) commutes with every other:

basis  =  ASeries[{1},  0,  #,  5]  &  /@  
          GetCDBasis[CDSpace[1, 0, 5]];

Flatten[ 
      Table[CD[Reduce[
            basis[[i]] . basis[[j]]  -  
              basis[[j]] . basis[[i]]]],  {i, 10},  {j, 
          10}]]

GetDimension[CDSpace[1, 0, #]] &  /@  Range[5]