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
|