Wolfram/Multicomputation

(0.0.4) current version: 0.1.6 »

Various functions for multicomputation

Contributed by: Wolfram Research

Installation Instructions

To install this paclet in your Wolfram Language environment, evaluate this code:
PacletInstall["Wolfram/Multicomputation"]

Examples

Basic Examples (4) 

In[1]:=
multi = HypergraphMulti[{"A"}, {"BB" -> "AB", "A" -> "BA"}]
Out[1]=
In[2]:=
multi["Graph", 5, Sequence[
 VertexShapeFunction -> (ResourceFunction[
   "WolframPhysicsProjectStyleData"]["StatesGraph"][
   "VertexShapeFunction"][#, 
Wolfram`Multicomputation`FromLinkedHypergraph[#2, "String"], #3]& ), GraphLayout -> "LayeredDigraphEmbedding", AspectRatio -> 1/2, PerformanceGoal -> "Quality"]]
Out[2]=
In[3]:=
cg = multi["CausalGraph", 5, "String", Sequence[
  AspectRatio -> 1/3, PerformanceGoal -> "Quality", VertexLabels -> (Pattern[v, 
Blank[]] :> Placed[
Part[v, 3], Tooltip]), VertexShapeFunction -> (Blank[DirectedEdge] -> (Inset[
Framed[
Style[
Wolfram`Multicomputation`FromLinkedHypergraph[
Part[#2, 2], "String"], FontSize -> 6, Black], Background -> Hue[0.11, 1, 0.97], FrameStyle -> Gray, FrameMargins -> 1], #, #3]& ))]]
Out[3]=
In[4]:=
VertexReplace[EvolutionCausalGraph[cg, "String"], hg_List :> CanonicalLinkedHypergraph[hg]]
Out[4]=

In[5]:=
multi = HypergraphMulti[(a\[SmallCircle]b)\[SmallCircle]a, {x_\[SmallCircle]y_ -> (y\[SmallCircle]x)\[SmallCircle]y, (y_\[SmallCircle]x_)\[SmallCircle]y_ -> x\[SmallCircle]y}]
Out[5]=
In[6]:=
multi["Graph", 3]
Out[6]=
In[7]:=
cg = multi["CausalGraph", 2, "Expression", AspectRatio -> 1/2]
Out[7]=
In[8]:=
EvolutionCausalGraph[cg, "Expression"]
Out[8]=
In[9]:=
VertexReplace[EvolutionCausalGraph[cg, "Expression"], hg_List :> CanonicalLinkedHypergraph[hg]]
Out[9]=

In[10]:=
multi = HypergraphMulti[
  s[k[s][i]][s[k][k][i]][x][y], {s[x_][y_][z_] :> x[z][y[z]], k[x_][y_] :> x}]
Out[10]=
In[11]:=
multi["Graph", 5, Sequence[VertexShapeFunction -> (Inset[
Framed[
ResourceFunction["WolframModelPlot"][
MapAt[HoldForm, #2, {All, 2}], ImageSize -> 64]], #, #3]& ), VertexLabels -> (Pattern[v, 
Blank[]] :> Placed[
Wolfram`Multicomputation`FromLinkedHypergraph[v, "Expression"], Tooltip]), PerformanceGoal -> "Quality"]]
Out[11]=

In[12]:=
multi = HypergraphMulti[f[1], {f[x_] :> x + 1, x_ :> 2 x}]
Out[12]=
In[13]:=
multi["Graph", 2, Sequence[VertexShapeFunction -> (Inset[
Framed[
ResourceFunction["WolframModelPlot"][
MapAt[HoldForm, #2, {All, 2}], PlotLabel -> Map[DisableFormatting, 
Wolfram`Multicomputation`FromLinkedHypergraph[#2, "HoldExpression"]], ImageSize -> 64]], #, #3]& ), PerformanceGoal -> "Quality"]]
Out[13]=
In[14]:=
VertexReplace[%, v_ :> CanonicalLinkedHypergraph[v]]
Out[14]=

Compatibility

Wolfram Language Version 13.0

Version History

  • 0.1.6 – 27 September 2024
  • 0.1.5 – 30 May 2024
  • 0.1.4 – 27 February 2024
  • 0.1.3 – 15 January 2024
  • 0.1.2 – 03 January 2024
  • 0.1.1 – 02 December 2023
  • 0.1.0 – 29 September 2023
  • 0.0.13 – 23 September 2023
  • 0.0.12 – 16 September 2023
  • 0.0.11 – 13 September 2023
  • 0.0.10 – 24 August 2023
  • 0.0.9 – 23 August 2023
  • 0.0.8 – 21 June 2023
  • 0.0.7 – 15 February 2023
  • 0.0.6 – 14 February 2023
  • 0.0.5 – 01 February 2023
  • 0.0.4 – 13 October 2022

License Information

MIT License

Paclet Source

Source Metadata