integration of snappea, k2k and btd using java interface by m. ochiai
DESCRIPTION
Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai. Topology and Computer Akita University September 5~7, 2007. Integration of SnapPea, K2K, and bTd. Data exchanges of SnapPea and K2K. Input a knot by mouse-tracking. K2K. Configuration data of SnapPea. p-data. SnapPea. - PowerPoint PPT PresentationTRANSCRIPT
Integration of SnapPea, K2K and bTd using JAVA interface
by M. Ochiai
Topology and Computer
Akita University
September 5~7, 2007
p-data
complete p-data
KLPProjection : klp
A main function in SnapPeatriangulate_link_complement(klp)
manifold
Configuration data of SnapPea
manifolda pointer variable in SnapPea’s kernelto compute invariants such as volume
SnapPea
K2K
Data exchanges of SnapPea and K2KInput a knot by mouse-tracking
Integration of SnapPea, K2K, and bTd
static {
System.loadLibrary("snappea.dll");
}
public native String send(String data , int number , double m , double l, int n);
In snappea.dll :
void MakeKLPCrossing(int n, int n2, int com, int nump[], PDATA pdata[], struct KLPProjection *kp)
A main interface function of SnapPea and K2K
void knotinput(){
try {
Process process = Runtime.getRuntime().exec("KnotInput.exe");
Reader in = new InputStreamReader(process.getInputStream());
int c = -1;
while ((c = in.read()) != -1) {
System.out.print((char) c);
}
in.close();
} catch (Exception ex) { ex.printStackTrace(); }
str = "pdata.prd"; FileCopy(str, str_last);
play();
}
A main interface of JAVA and SnapPea, K2K (I)
void jonespolynomial(){
try {
Process process = Runtime.getRuntime().exec("jonespol "+str);
Reader in = new InputStreamReader(process.getInputStream());
int c = -1;
while ((c = in.read()) != -1) {
System.out.print((char) c);
}
in.close();
} catch (Exception ex) { ex.printStackTrace(); }
...
In jonespol.exe
void main(int argc, char *argv[])
A main interface of JAVA and K2K (II)
• Windows XP, Vista :
NetBeans + Microsoft Visual C++ 2005 + OpenGL
• Mac OSX , Linux :
Xcode2.0 + OpenGL + ?
Programming environment of SnapPea and K2K (I)
• SnapPea on C language program (GUI : QuickDraw)
• K2K on C language and Mathematica program with MathLink
In this research, JAVA is the main programming back ground.
How to implement SnapPea and K2K using JAVA interface.
(1)Library call ー> dynamic like library (or shared library)
easy data exchanges
(1)Exe call ー> executable load module
poor data exchanges (such as, main(argc,argv))
Programming environment of SnapPea and K2K (II)
• “Two different mutant knots have the same volume” (The Knot Book, C.Adams)
(1) Input a target knot K(2) to compute volumes V and P(K;x,y) of K
(3) Input a knot K’ from a file with many p-data (from KNOT table, K2K includes all knots with up to 15 crossings, F. Kako is making a alternating knot table up to 18 ー> 23)
(4) to compute volumes V’ of K’(5) If V’=V, then to compute P(K’;x,y)(6) If P(K’;x,y)=P(K;x,y), then output K’ as a “mutant” knot
of K
How to find mutant knots ?
Two different mutant knots
• Knots are determined by their complements, C.Gordon and J.Luecke, J.Amer.Math.Soc. 2, 371-415
• Property P conjecture
(1) Input a knot K from a file with many p-data
(2) Let M be a 3-manifold obtained by (1,1) surgry
(3) To compute the fundamental group G of M
(4) If G is trivial, then K is the trivial knot. Otherwise, K is non-trivial.
“Find a non-trivial knot with the trivial Jones polynomial.”
How to make such a effective p-data as in (1)
How to recognize the triviality of knots ?
How to recognize the triviality of knots ?
How to recognize the triviality of knots ?
A trivial knot without waves with 67 crossing points
134 1134
-88 -21 -108 -41 -126 -59 -114 -47 26 93 -68 -1 16 83 62 129 54 121 -76 -9 -72 -5 -94 -27 134 67 38 105 34 101 -78 -11 130 132 -89 -22 -109 -42 -127 -60 -115 -48 25 92 -69 -2 15 82 61 128 53 120 -77 -10 -73 -6 -95 -28 133 66 37 104 33 100 -79 -12 64
A trivial knot without waves with 45 crossing points
90 190 -30 -13 45 18 -20 61 -48 78 31 -43 -40 -59 -75 -66 -3 64 -37 79 -63 6 -17 -15 -39 85 74 24 69 -88 -23 -21 -47 12 56 89 -25 52 -83 -27 35 10 49 -73 77 28 -57