integration of snappea, k2k and btd using java interface by m. ochiai

14
Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai Topology and Computer Akita University September 5~7, 2007

Upload: tarak

Post on 14-Jan-2016

25 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

Integration of SnapPea, K2K and bTd using JAVA interface

by M. Ochiai

Topology and Computer

Akita University

September 5~7, 2007

Page 2: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

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

Page 3: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

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

Page 4: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

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)

Page 5: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

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)

Page 6: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

• Windows XP, Vista :

NetBeans + Microsoft Visual C++ 2005 + OpenGL

• Mac OSX , Linux :

Xcode2.0 + OpenGL + ?

Programming environment of SnapPea and K2K (I)

Page 7: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

• 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)

Page 8: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

• “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 ?

Page 9: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

Two different mutant knots

Page 10: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

• 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 ?

Page 11: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

How to recognize the triviality of knots ?

Page 12: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

How to recognize the triviality of knots ?

Page 13: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

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

Page 14: Integration of SnapPea, K2K and bTd using JAVA interface by M. Ochiai

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