forked from Singular/Singular
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Includes.dot
120 lines (120 loc) · 4.03 KB
/
Includes.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
digraph IncludesInSingular4
{
compound=true;
edge [ arrowhead=open ];
graph [
// rankdir=TB;
];
pack = 0 ;
packMode = "graph" ;
subgraph "clusterlibpolys"
{
label="libpolys: math. data structures";
color = lightgray;
style = filled;
node [ fillcolor = white, style = filled, color = black, fontcolor=black];
{ rank=same; misc ; reporter ; };
{ rank=same; coeffs ; polys };
} ;
subgraph "clusterlibSingular"
{
rank="max" ;
label="libSingular:";
color = lightgray;
style = filled;
node [ fillcolor = white, style = filled, color = black, fontcolor=black];
interpreter [] ;
subgraph "clusterMOD"
{
rank="min" ;
label="Modules: dynamic and built-ins";
color = gray;
// style = filled;
node [ fillcolor = white, style = filled, color = black, fontcolor=black];
{ rank=same; pyobject [color = gray]; gfanlib [color = gray]; polymake [color = gray]; singmathic [color = gray]; };
{ rank=same; syzextra; bigintm; staticdemo; };
}
subgraph "clusterMath"
{
rank="min" ;
label="kernel: math. high level algorithms";
color = gray;
// style = filled;
node [ fillcolor = white, style = filled, color = black, fontcolor=black];
{ rank=same; fglm; numeric; maps; kernelCommon; combinatorics; };
{ rank=same; linear_algebra; spectrum; groebner_walk; GBEngine;};
oswrapper [color = gray];
}
} ;
subgraph "clusterinternals"
{
label="Supporting libraries:";
{ rank=same;
omalloc [ fillcolor=lightgrey, fontcolor=darkgreen, style=filled, color = black, shape=box ] ;
libresources [ fillcolor=lightgrey, style=filled, color = black, shape=box ] ;
} ;
{ rank=same;
Gfanlib [ fillcolor=lightgrey, fontcolor=blue, style=filled, color = black, shape=box ] ;
factory [ fillcolor=lightgrey, fontcolor=blue, style=filled, color = black, shape=box ] ;
} ;
subgraph "clusterexternals"
{
rank="min" ;
node [ color=blue, fillcolor=lightgrey, fontcolor=blue, style=filled, shape=box ];
label="Externals:";
color=blue;
{ rank=same; GMP_OR_MPIR []; MPFR [] ; } ;
{ rank=same; NTL ; FLINT ; PolyMakeRTL; };
{ rank=same; mathicgb; cddlib; Python2RTL; };
} ;
} ;
NTL -> GMP_OR_MPIR [style = "dotted"];
FLINT -> GMP_OR_MPIR [style = "dotted"];
cddlib -> GMP_OR_MPIR [style = "dotted"];
FLINT -> MPFR [style = "dotted"];
MPFR -> GMP_OR_MPIR [style = "dotted"];
factory -> FLINT [];
factory -> GMP_OR_MPIR [];
factory -> NTL [];
factory -> omalloc;
factory -> libresources;
Singular -> interpreter [];
interpreter -> numeric [lhead="clusterMath"];
// interpreter -> "..." [lhead="clusterMath"];
interpreter -> "syzextra" [dir=both, arrowtail="open", arrowhead="open", lhead="clusterMOD"];
syzextra -> kernelCommon [lhead="clusterMath", ltail="clusterMOD"];
polymake -> gfanlib [];
gfanlib -> Gfanlib [];
Gfanlib -> cddlib [];
singmathic -> mathicgb [];
pyobject -> Python2RTL [];
polymake -> PolyMakeRTL [];
kernelCommon -> polys [ltail="clusterlibSingular", lhead="clusterlibpolys"];
kernelCommon -> factory [ltail="clusterlibSingular"];
combinatorics -> kernelCommon [];
GBEngine -> combinatorics [];
fglm -> kernelCommon [];
GBEngine -> kernelCommon [];
groebner_walk -> kernelCommon [];
linear_algebra -> kernelCommon [];
maps -> kernelCommon [];
numeric -> kernelCommon [];
spectrum -> kernelCommon [];
oswrapper -> kernelCommon [];
polys -> coeffs [dir=both, arrowtail="open", arrowhead="open"] ;
polys -> misc;
polys -> reporter;
polys -> factory [];
reporter -> misc [dir=both, arrowtail="open", arrowhead="open"] ;
coeffs -> NTL [];
coeffs -> factory [];
coeffs -> misc;
coeffs -> reporter;
misc -> libresources [ltail="clusterlibpolys"];
misc -> omalloc [ltail="clusterlibpolys"];
misc -> GMP_OR_MPIR [ltail="clusterlibpolys"];
}
// dot -Tpng -o D.png Includes.dot
// boxed = third party
// filled = external
// blue = math