These are just some thoughts on the direction the javascript editor might 
go:


 We can represent link diagrams by signed planar graphs where the sign on 
the edges gives us the crossing information (as depicted in 
http://en.wikipedia.org/wiki/Knots_and_graphs). We could then fill in the 
arc components of the link by using Bezier curves. An advantage of using 
this framework is that we can leverage existing planar graph drawing 
algorithms that have working computer implementations. 


 We can enable the user to perform isotopy moves on the link diagram by 
using the vertices of the underlying planar graph as control points to 
click and drag. There are several other parameters that I can think of that 
can be manipulated, but I won't flood this post with all of them.


 Reidemeister moves change the underlying graph, so they have to be treated 
differently from isotopy of the diagram. We would need a way of selecting 
the arc components on which we are performing a Reidemeister move (For more 
complex diagrams this might involve grouping 2 or more arc components 
together so that they act as one arc component during the move). 


 Also, if we want to be able to perform calculations about 3-manifolds, we 
have to be able to add and/or remove link components to the diagram which 
might drastically change the underlying graph. We also would want to keep 
track of surgery coefficients associated to link components, which involves 
computing linking numbers.


 [An interesting idea would be to create the data structure for the link 
diagram so that it is actually a record of all of the moves performed 
(isotopy, Reidemeister, etc..), sort of like a word processor document. The 
user could undo moves because there would be a history included in the data 
structure.]


 If additional time permits:

Might want to create useful methods for creating knots, like ways to 
construct satellites of knots or cables of knots. Maybe adapt this so that 
the user can also work with braid representations of knots and links. There 
is also a move called the Rolfsen Twist, which I would like to implement. A 
picture of it can be found in this google book link: 


 
http://books.google.com/books?id=ahLKzRUTBbUC&pg=PA162&lpg=PA162&dq=rolfsen+twist&source=bl&ots=5rJU2Jv_AK&sig=-QRvjTVqX7H8nSm6SZYv_GEfaJE&hl=en&sa=X&ei=xMQVU_fCHOXa2QXMzIGoCQ&ved=0CCkQ6AEwAA


 Some things that would be good to set up:

#connected components

Fundamental group presentations (not always a useful invariant, but it's 
easy to get a presentation)

Linking numbers

Maybe someone working on the other end of the project could implement 
methods to calculate the Torsion invariants and the Alexander Polynomial in 
the case where the diagram is just a knot.

Additionally, the Jone's polynomial can be calculated directly from the 
Tutte polynomial of the underlying graph (although this is algorithmically 
hard).


Possible extensions:

This all might be later extended to become a graphical Kirby Calculus tool, 
but that is just a thought at this point.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-gsoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-gsoc.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to