Integration of SnapPea, K2K and bTd using JAVA interface

jetmorebrisketΛογισμικό & κατασκευή λογ/κού

15 Αυγ 2012 (πριν από 5 χρόνια και 4 μέρες)

359 εμφανίσεις

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 SnapPea

triangulate_link_complement(klp)

manifold

Configuration data of SnapPea

manifold

a pointer variable

in

SnapPea

s kernel

to compute invariants such as volume

SnapPea

K2K

Data exchanges of SnapPea and K2K

Input 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
ー>

摹湡d楣楫攠汩扲b特r⡯( 獨慲敤e汩扲b特r

†††††††††††††††††
敡e礠摡瑡 數捨慮来s

⠱(
䕸攠捡cl
ー>

數散畴慢汥a汯慤潤畬o

††††††††
灯潲⁤p瑡t數捨慮来猠⡳畣栠慳Ⱐu慩渨慲a挬慲杶⤩




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 1

134

-
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 1

90

-
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