# Wolfram Function Repository

Instant-use add-on functions for the Wolfram Language

Function Repository Resource:

Get characteristics of Butcher trees, such as the height, width, order, density and number of labelings

Contributed by:
Wolfram Research

ResourceFunction["ButcherTreeData"][ gives an association of characteristics of | |

ResourceFunction["ButcherTreeData"][ gives the characteristic | |

ResourceFunction["ButcherTreeData"][ gives the characteristics | |

ResourceFunction["ButcherTreeData"][{ gives the characteristics of |

For multiple trees, ResourceFunction["ButcherTreeData"][{*tree*_{1},*tree*_{2},…}] returns an association of the form <|"*prop*_{1}"→{*v*_{11},*v*_{12},…},"*prop*_{2}"→{*v*_{21},*v*_{22},…},…|>, where *v*_{ij} is the value of the property *i* of the tree *j*.

Possible characterics of *tree* include:

"ButcherHeight" | the height of the tree |

"ButcherWidth" | the width of the tree |

"ButcherOrder" | the number of vertices in the tree |

"ButcherGamma" | the density of the tree |

"ButcherSigma" | the order of the symmetry group of the tree |

Characterics related to the number of possible ways of labeling *tree* are:

"ButcherAlpha" | labeling with a totally ordered set of labels |

"ButcherBeta" | labeling with all vertices labeled except for the root vertex |

"ButcherBetaBar" | labeling with an unordered set of labels |

ResourceFunction["ButcherTreeData"][*tree*,"ButcherAlpha"] gives the number of ways of labeling the vertices of *tree* with a totally ordered set of labels such that if (*m*,*n*) is an edge, then *m*<*n*.

ResourceFunction["ButcherTreeData"][*tree*,"ButcherBeta"] gives the number of ways of labeling *tree* with Butcher order -1 distinct labels such that the root is not labeled, but every other vertex is labeled.

ResourceFunction["ButcherTreeData"][*tree*,{"ButcherBeta",*n*}] gives the number of ways of labeling *n* of the vertices of *tree* with *n* distinct labels such that every leaf is labeled and the root is not labeled.

ResourceFunction["ButcherTreeData"][*tree*,"ButcherBetaBar"] gives the number of ways of labeling *tree* with Butcher order distinct labels such that every vertex is labeled.

ResourceFunction["ButcherTreeData"][*tree*,{"ButcherBetaBar",*n*}] gives the number of ways of labeling *n* of the vertices of *tree* with *n* distinct labels such that every leaf is labeled.

The density returned by ResourceFunction["ButcherTreeData"][*tree*,"ButcherGamma"] is also the reciprocal of the right-hand side of the order condition imposed by *tree*.

ResourceFunction["ButcherTreeData"][*tree*] is equivalent to ResourceFunction["ButcherTreeData"][*tree*,All] giving an association of the chracteristics of the tree.

Find the height of a Butcher tree:

In[1]:= |

Out[1]= |

Find the width and the height:

In[2]:= |

Out[2]= |

Generate trees for any Runge-Kutta method of order 3 using the resource function ButcherTrees:

In[3]:= |

Out[3]= |

Determine their characteristics:

In[4]:= |

Out[4]= |

Visualize the trees:

In[5]:= |

Out[5]= |

Define a Butcher tree and find one of its characteristics (for instance, the order):

In[6]:= |

In[7]:= |

Out[7]= |

Visualize the tree:

In[8]:= |

Out[8]= |

Find several characteristics of a tree:

In[9]:= |

Out[9]= |

Find all the available characteristics of a tree:

In[10]:= |

Out[10]= |

In[11]:= |

Out[11]= |

Generate several trees with the resource function ButcherTrees:

In[12]:= |

Out[12]= |

Find one characteristic of the list of trees:

In[13]:= |

Out[13]= |

With the help of the resource function ButcherTrees, find several characteristics of several trees:

In[14]:= |

Out[14]= |

Generate several trees with the resource function ButcherTrees and get all of their available characteristics:

In[15]:= |

Out[15]= |

In[16]:= |

Out[16]= |

Find the height of one or more Butcher trees:

In[17]:= |

Out[17]= |

In[18]:= |

Out[18]= |

Find the width of one or more Butcher trees:

In[19]:= |

Out[19]= |

In[20]:= |

Out[20]= |

Count vertices in one or more trees:

In[21]:= |

Out[21]= |

In[22]:= |

Out[22]= |

The density of one or more trees:

In[23]:= |

Out[23]= |

In[24]:= |

Out[24]= |

Compute the order of the symmetry group of one or more trees:

In[25]:= |

Out[25]= |

In[26]:= |

Out[26]= |

The number of ways of labeling the vertices of one or more trees with an ordered set:

In[27]:= |

Out[27]= |

In[28]:= |

Out[28]= |

Compute the number of ways of labeling a tree with Butcher order-1 distinct labels such that all the vertices are labeled except the root:

In[29]:= |

Out[29]= |

Specify the number of labels explicitly:

In[30]:= |

In[31]:= |

Out[31]= |

Count the number of ways of labeling vertices except the root vertex in several trees:

In[32]:= |

Out[32]= |

Compute the number of ways of labeling a tree with Butcher order distinct labels such that all the vertices are labeled:

In[33]:= |

Out[33]= |

Specify the number of labels explicitly:

In[34]:= |

In[35]:= |

Out[35]= |

Count the number of ways of labeling vertices in several trees:

In[36]:= |

Out[36]= |

Specify the number of labels explicitly:

In[37]:= |

Out[37]= |

- Tutorial: Numerical Differential Equation Analysis Package
- Guide: Numerical Differential Equation Analysis Package

- 1.0.0 – 04 November 2019

This work is licensed under a Creative Commons Attribution 4.0 International License