14
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 using JAVA interface by M. Ochiai

  • Upload
    tarak

  • View
    23

  • Download
    0

Embed Size (px)

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

Citation preview

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