Skip to content

Commit c8d9695

Browse files
committed
added a bunch of illustrations for the transforms docs + dot files used to generated
1 parent c4faf3e commit c8d9695

13 files changed

+320
-1
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
digraph {
2+
# `assume` block
3+
subgraph cluster_assume {
4+
label = "assume";
5+
fontname = "Courier";
6+
7+
assume [shape=box, label=< assume(varinfo, <FONT COLOR="#3B6EA8">@varname</FONT>(x), Normal())>, fontname="Courier"];
8+
without_linking_assume [shape=box, label="f = from_internal_transform(varinfo, varname, dist)", fontname="Courier"];
9+
with_logabsdetjac [shape=box, label="x, logjac = with_logabsdet_jacobian(f, assume_internal(varinfo, varname, dist))", fontname="Courier"];
10+
return_assume [shape=box, label=< <FONT COLOR="#3B6EA8">return</FONT> x, logpdf(dist, x) - logjac, varinfo >, style=dashed, fontname="Courier"];
11+
12+
assume -> without_linking_assume;
13+
without_linking_assume -> with_logabsdetjac;
14+
with_logabsdetjac -> return_assume;
15+
}
16+
}
17+
25.3 KB
Loading
Lines changed: 88 additions & 0 deletions
Loading
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
digraph {
2+
# `assume` block
3+
subgraph cluster_assume {
4+
label = "assume";
5+
fontname = "Courier";
6+
7+
assume [shape=box, label=< assume(varinfo, <FONT COLOR="#3B6EA8">@varname</FONT>(x), Normal())>, fontname="Courier"];
8+
iflinked_assume [label=< <FONT COLOR="#3B6EA8">if</FONT> istrans(varinfo, varname) >, fontname="Courier"];
9+
without_linking_assume [shape=box, label="f = from_internal_transform(varinfo, varname, dist)", fontname="Courier"];
10+
with_linking_assume [shape=box, label="f = from_linked_internal_transform(varinfo, varname, dist)", fontname="Courier"];
11+
with_logabsdetjac [shape=box, label="x, logjac = with_logabsdet_jacobian(f, assume_internal(varinfo, varname, dist))", fontname="Courier"];
12+
return_assume [shape=box, label=< <FONT COLOR="#3B6EA8">return</FONT> x, logpdf(dist, x) - logjac, varinfo >, style=dashed, fontname="Courier"];
13+
14+
assume -> iflinked_assume;
15+
iflinked_assume -> without_linking_assume [label=< <FONT COLOR="#97365B">false</FONT>>, fontname="Courier"];
16+
iflinked_assume -> with_linking_assume [label=< <FONT COLOR="#97365B">true</FONT>>, fontname="Courier"];
17+
without_linking_assume -> with_logabsdetjac;
18+
with_linking_assume -> with_logabsdetjac;
19+
with_logabsdetjac -> return_assume;
20+
}
21+
}
22+
43.4 KB
Loading
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
digraph {
2+
# `getindex` block
3+
subgraph cluster_getindex {
4+
label = "getindex";
5+
fontname = "Courier";
6+
7+
getindex [shape=box, label=< x = getindex(varinfo, <FONT COLOR="#3B6EA8">@varname</FONT>(x), Normal()) >, fontname="Courier"];
8+
iflinked_getindex [label=< <FONT COLOR="#3B6EA8">if</FONT> istrans(varinfo, varname) >, fontname="Courier"];
9+
without_linking_getindex [shape=box, label="f = from_internal_transform(varinfo, varname, dist)", fontname="Courier"];
10+
with_linking_getindex [shape=box, label="f = from_internal_transform(varinfo, varname, dist)", fontname="Courier"];
11+
return_getindex [shape=box, label=< <FONT COLOR="#3B6EA8">return</FONT> f(getindex_internal(varinfo, varname)) >, style=dashed, fontname="Courier"];
12+
13+
getindex -> iflinked_getindex;
14+
iflinked_getindex -> without_linking_getindex [label=< <FONT COLOR="#97365B">false</FONT>>, fontname="Courier"];
15+
iflinked_getindex -> with_linking_getindex [label=< <FONT COLOR="#97365B">true</FONT>>, fontname="Courier"];
16+
without_linking_getindex -> return_getindex;
17+
with_linking_getindex -> return_getindex;
18+
}
19+
}
20+
41.3 KB
Loading
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
digraph {
2+
# `getindex` block
3+
subgraph cluster_getindex {
4+
label = "getindex";
5+
fontname = "Courier";
6+
7+
getindex [shape=box, label=< x = getindex(varinfo, <FONT COLOR="#3B6EA8">@varname</FONT>(x)) >, fontname="Courier"];
8+
iflinked_getindex [label=< <FONT COLOR="#3B6EA8">if</FONT> istrans(varinfo, varname) >, fontname="Courier"];
9+
without_linking_getindex [shape=box, label="f = from_internal_transform(varinfo, varname)", fontname="Courier"];
10+
with_linking_getindex [shape=box, label="f = from_internal_transform(varinfo, varname)", fontname="Courier"];
11+
return_getindex [shape=box, label=< <FONT COLOR="#3B6EA8">return</FONT> f(getindex_internal(varinfo, varname)) >, style=dashed, fontname="Courier"];
12+
13+
getindex -> iflinked_getindex;
14+
iflinked_getindex -> without_linking_getindex [label=< <FONT COLOR="#97365B">false</FONT>>, fontname="Courier"];
15+
iflinked_getindex -> with_linking_getindex [label=< <FONT COLOR="#97365B">true</FONT>>, fontname="Courier"];
16+
without_linking_getindex -> return_getindex;
17+
with_linking_getindex -> return_getindex;
18+
}
19+
}
20+
39.8 KB
Loading
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
digraph {
2+
# Nodes.
3+
tilde_node [shape=box, label="x ~ Normal()", fontname="Courier"];
4+
base_node [shape=box, label=< vn = <FONT COLOR="#3B6EA8">@varname</FONT>(x)<BR/>dist = Normal()<BR/>x, vi = ... >, fontname="Courier"];
5+
assume [shape=box, label="assume(vn, dist, vi)", fontname="Courier"];
6+
7+
iflinked [label=< <FONT COLOR="#3B6EA8">if</FONT> istrans(vi, vn) >, fontname="Courier"];
8+
9+
without_linking [shape=box, label="f = from_internal_transform(vi, vn, dist)", styled=dashed, fontname="Courier"];
10+
with_linking [shape=box, label="f = from_linked_internal_transform(vi, vn, dist)", styled=dashed, fontname="Courier"];
11+
12+
with_logabsdetjac [shape=box, label="x, logjac = with_logabsdet_jacobian(f, getindex_internal(vi, vn, dist))", styled=dashed, fontname="Courier"];
13+
return [shape=box, label=< <FONT COLOR="#3B6EA8">return</FONT> x, logpdf(dist, x) - logjac, vi >, styled=dashed, fontname="Courier"];
14+
15+
# Edges.
16+
tilde_node -> base_node [style=dashed, label=< <FONT COLOR="#3B6EA8">@model</FONT>>, fontname="Courier"]
17+
base_node -> assume [style=dashed, label=" tilde-pipeline", fontname="Courier"];
18+
19+
assume -> iflinked;
20+
21+
iflinked -> without_linking [label=< <FONT COLOR="#97365B">false</FONT>>, fontname="Courier"];
22+
iflinked -> with_linking [label=< <FONT COLOR="#97365B">true</FONT>>, fontname="Courier"];
23+
24+
without_linking -> with_logabsdetjac;
25+
with_linking -> with_logabsdetjac;
26+
27+
with_logabsdetjac -> return;
28+
}

0 commit comments

Comments
 (0)