<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>MaplePrimes - Newest Posts</title>
    <link>http://www.mapleprimes.com/posts</link>
    <language>en-us</language>
    <copyright>2026 Maplesoft, A Division of Waterloo Maple Inc.</copyright>
    <generator>Maplesoft Document System</generator>
    <lastBuildDate>Wed, 29 Jul 2026 07:21:46 GMT</lastBuildDate>
    <pubDate>Wed, 29 Jul 2026 07:21:46 GMT</pubDate>
    <itunes:subtitle />
    <itunes:summary />
    <description>The latest posts added to MaplePrimes</description>
    <image>
      <url>http://www.mapleprimes.com/images/mapleprimeswhite.jpg</url>
      <title>MaplePrimes - Newest Posts</title>
      <link>http://www.mapleprimes.com/posts</link>
    </image>
    <item>
      <title>The Miracle of Integer Eigenvalues</title>
      <link>http://www.mapleprimes.com/posts/235325-The-Miracle-Of-Integer-Eigenvalues?ref=Feed:MaplePrimes:New Posts</link>
      <itunes:summary>&lt;p&gt;&lt;input name="md.ref" type="hidden" value="A803FC15EC058EEC203975EA2A9F3FE4"&gt;&lt;/p&gt;

&lt;form name="worksheet_form"&gt;
&lt;table align="center" width="768"&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:bold;font-style:normal;"&gt;The Miracle of Integer Eigenvalues&lt;/span&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;is a paper that shows how any partially-ordered set can be used to generate a matrix with integer eigenvalues.&lt;/span&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;R. Kenyon et al, Funct. Anal. Its Appl. 58, 182&amp;ndash;194 (2024) &amp;nbsp;&lt;/span&gt;&lt;a href="https://doi.org/10.1134/S0016266324020072"&gt;&lt;span style="color:#125d99;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&lt;u&gt;doi: 10.1134/S0016266324020072&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;, &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2401.05291"&gt;&lt;span style="color:#125d99;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&lt;u&gt;arXiv:2401.05291v2&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Here I outline the process and give two examples.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="restart" height="23" src="/view.aspx?sf=235325_post/1854e055b6acf9c421682b34726f5f6a.gif" style="vertical-align:-6px" width="54"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;PartiallyOrdered sets is after GraphTheory so its DrawGraph gets priority.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="with(GraphTheory); with(LinearAlgebra); with(PartiallyOrderedSets)" height="23" src="/view.aspx?sf=235325_post/b8b5597c6a13362f06fd30dedab14e84.gif" style="vertical-align:-6px" width="456"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Example (the first example in the paper): Poset in 3 elements with one relation &lt;/span&gt;&lt;img alt="{u &amp;lt; v, {u, v, w}}" height="23" src="/view.aspx?sf=235325_post/b75a8cafd960b8e3bebf4d18dfa6f62f.gif" style="vertical-align:-6px" width="111"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;. &lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="vars := [u, v, w]; n := nops(vars); rels := {u &amp;lt; v}" height="57" src="/view.aspx?sf=235325_post/b5622878455942d8c14541a50387029e.gif" style="vertical-align:-40px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[u, v, w]" height="23" src="/view.aspx?sf=235325_post/efb1cbcb393c10df29ec1df4cd110ae5.gif" style="vertical-align:-6px" width="107"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="3" height="23" src="/view.aspx?sf=235325_post/0e7aa370ca0bf7308ba5139b53042bd0.gif" style="vertical-align:-6px" width="46"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{u &amp;lt; v}" height="23" src="/view.aspx?sf=235325_post/b48121f9279e778fcf503ce211f4c096.gif" style="vertical-align:-6px" width="102"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Some derived things we will need.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="translate := `~`[`=`](vars, [`$`(1 .. n)]); arcs := map(`@`(`[]`, op), rels); A := AdjacencyMatrix(Graph(vars, arcs))" height="57" src="/view.aspx?sf=235325_post/1265e6d3886d4f6b7697b0677f73309d.gif" style="vertical-align:-40px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="translate := [u = 1, v = 2, w = 3]" height="23" src="/view.aspx?sf=235325_post/79241dd9be863775a4f945ba3de2420a.gif" style="vertical-align:-6px" width="204"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="arcs := {[u, v]}" height="23" src="/view.aspx?sf=235325_post/7b9b76e970a1ba9f4478f96a0742e39b.gif" style="vertical-align:-6px" width="105"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="Matrix(%id = 36893490746138016812)" height="23" src="/view.aspx?sf=235325_post/924d602438ead4d7f94371bd57462826.gif" style="vertical-align:-6px" width="61"&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="p := PartiallyOrderedSet(vars, A)" height="23" src="/view.aspx?sf=235325_post/fce3be7e482bb904cb0f2d56f3c31451.gif" style="vertical-align:-6px" width="224"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="module PosetObject () local numElems::':-integer', height::':-integer', width::':-integer', comparator::procedure, comparatorExists::boolean, transitiveClosure::Matrix, transitiveClosureExists::boolean, transitiveReduction::Matrix, transitiveReductionExists::boolean, elementMap::table, minimalElements::set, minimalElementsExists::boolean, leastElement::':-integer', maximalElements::set, maximalElementsExists::boolean, greatestElement::':-integer', closureGraph::Graph, closureGraphExists::boolean, connectedComponents::(set(set)), connectedComponentsExists::boolean, reductionGraph::Graph, reductionGraphExists::boolean, adjList::Array, adjListExists::boolean, isLattice::boolean, isFaceLattice::boolean, grade::':-integer', isGraded::boolean, isRanked::boolean, rankFuction::procedure, rankTable::Array, rankFuctionExists::boolean; option object; end module" height="23" src="/view.aspx?sf=235325_post/aaecb0baa825d616143c6adcd773d332.gif" style="vertical-align:-6px" width="214"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;We can represent this as a directed graph.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="DrawGraph(p, size = [200, 200])" height="23" src="/view.aspx?sf=235325_post/175b466e824cc611bbc7d69815eac62c.gif" style="vertical-align:-6px" width="218"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img align="middle" height="200" src="/view.aspx?sf=235325_post/4c62a2996302788472dda625af062b22.gif" style="border:none" width="200"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;There are three linear extensions; roughly these are linear orders/chains with all of &lt;/span&gt;&lt;img alt="{u, v, w}" height="22" src="/view.aspx?sf=235325_post/14b888dcb0852d9f7f5b968bd33ff41b.gif" style="vertical-align:-6px" width="57"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;that maintain &lt;/span&gt;&lt;img alt="u &amp;lt; v" height="22" src="/view.aspx?sf=235325_post/b898cd2766baaaf91b6e523dc375df08.gif" style="vertical-align:-6px" width="38"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;. In this case there are three: &lt;/span&gt;&lt;img alt="u &amp;lt; v and v &amp;lt; w, u &amp;lt; w and w &amp;lt; v, w &amp;lt; u and u &amp;lt; v" height="22" src="/view.aspx?sf=235325_post/7797fc7fca7bb95199dc552bdaef5bce.gif" style="vertical-align:-6px" width="200"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;. In other words, we want to find all permutations of [1,2,3] in which 1 (=u) precedes 2 (=v). We can use the iterator TopologicalSort, which finds all permutations satisfying some relations.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="T := Iterator:-TopologicalSorts(n, subs(translate, rels))" height="23" src="/view.aspx?sf=235325_post/116952e0e125b0bbcacde335d1b57472.gif" style="vertical-align:-6px" width="356"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="_m2598758943744" height="23" src="/view.aspx?sf=235325_post/37ad920d1b4efeb08770bd5c110882bc.gif" style="vertical-align:-6px" width="220"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;The three permutations that have &lt;/span&gt;&lt;img alt="u" height="22" src="/view.aspx?sf=235325_post/4920278a24f4fa9946f7154156a92bf7.gif" style="vertical-align:-6px" width="13"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;before &lt;/span&gt;&lt;img alt="v" height="22" src="/view.aspx?sf=235325_post/007f520d4762cc7d3d8eb7a30a9d078a.gif" style="vertical-align:-6px" width="12"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;are given below both numerically and symbolically.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="extnums := [seq([seq(t)], `in`(t, T))]; exts := [seq(vars[[seq(t)]], `in`(t, T))]" height="41" src="/view.aspx?sf=235325_post/bf9821f6c0b23e6898fcb838ff07e2b1.gif" style="vertical-align:-24px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[[1, 2, 3], [1, 3, 2], [3, 1, 2]]" height="23" src="/view.aspx?sf=235325_post/3428f85c6a0182aa78fcea5e0ed0aa9d.gif" style="vertical-align:-6px" width="252"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[[u, v, w], [u, w, v], [w, u, v]]" height="23" src="/view.aspx?sf=235325_post/efca6c933a6e67a7d889840d6ab295d2.gif" style="vertical-align:-6px" width="232"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Choose two of these, P and Q, say the first two. &lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="Pnum, Qnum := extnums[1 .. 2][]; P, Q := exts[1 .. 2][]" height="41" src="/view.aspx?sf=235325_post/2909f7ef0c7ef0915ceaf9b71bc32fed.gif" style="vertical-align:-24px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[1, 2, 3], [1, 3, 2]" height="23" src="/view.aspx?sf=235325_post/f779ed4c49fe7ae685ad793005e668b8.gif" style="vertical-align:-6px" width="212"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[u, v, w], [u, w, v]" height="23" src="/view.aspx?sf=235325_post/24457b4ac9c585e5a07ba01db387c6b0.gif" style="vertical-align:-6px" width="165"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Then the &lt;/span&gt;&lt;img alt="k" height="22" src="/view.aspx?sf=235325_post/8b7127c04685c945393cd1a0a019f9dd.gif" style="vertical-align:-6px" width="12"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;th node in Q is a &lt;/span&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:italic;"&gt;(P,Q) disagreement node&lt;/span&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;or &lt;/span&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:italic;"&gt;descent node&lt;/span&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;if the &lt;/span&gt;&lt;img alt="k-1" height="22" src="/view.aspx?sf=235325_post/c4c1027d1ba3ed0a910f00dc9c3d8857.gif" style="vertical-align:-6px" width="50"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;th node in Q is greater than the &lt;/span&gt;&lt;img alt="k" height="22" src="/view.aspx?sf=235325_post/0fb18addbe35cd6a76b19188f332f1eb.gif" style="vertical-align:-6px" width="12"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;th node, considered as a relation in P. &amp;nbsp;For example, for &lt;/span&gt;&lt;img alt="k = 2" height="22" src="/view.aspx?sf=235325_post/d15437a42dc837d3c2ce8767fddf9c86.gif" style="vertical-align:-6px" width="32"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;(w in Q), so &lt;/span&gt;&lt;img alt="k-1 = 1" height="22" src="/view.aspx?sf=235325_post/ae9d249845d461cb10953f4cdc1a6104.gif" style="vertical-align:-6px" width="56"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;(u in Q) then in P we have &lt;/span&gt;&lt;img alt="u &amp;lt; w" height="22" src="/view.aspx?sf=235325_post/94700b1e042cc7cd9ec3b5c56c1fe531.gif" style="vertical-align:-6px" width="41"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;and w is a (P,Q) agreement node. For &lt;/span&gt;&lt;img alt="k = 3" height="22" src="/view.aspx?sf=235325_post/517e46345ccb47c04930310b499b26d2.gif" style="vertical-align:-6px" width="32"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;(v) and &lt;/span&gt;&lt;img alt="k-1 = 2" height="22" src="/view.aspx?sf=235325_post/1383891b116a59d46c34b4ab1a7b9276.gif" style="vertical-align:-6px" width="56"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;(w) we have &lt;/span&gt;&lt;img alt="w &amp;gt; v" height="22" src="/view.aspx?sf=235325_post/319dcdfe975d4e3235c37e4a4b8b95dc.gif" style="vertical-align:-6px" width="40"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;in P and disagreement. The first node in Q is defined to be an agreement node. So u = agree, w = agree, v = disagree. We make a list of agreements (0) and disagreements (1) from &lt;/span&gt;&lt;img alt="k = 2" height="22" src="/view.aspx?sf=235325_post/ff9494f4ab0db0d5bc06538558df79f7.gif" style="vertical-align:-6px" width="32"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;to &lt;/span&gt;&lt;img alt="k = n" height="22" src="/view.aspx?sf=235325_post/75d892b068bcc76143a16c4b01b42646.gif" style="vertical-align:-6px" width="32"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;and find [0,1].&lt;/span&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;As a procedure we have&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;eps := proc(P::permlist, Q::permlist)&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;local k, i, j, L;&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;for k from 2 to nops(Q) do&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;nbsp;&amp;nbsp;member(Q[k-1], P, &amp;#39;i&amp;#39;);&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;nbsp;&amp;nbsp;member(Q[k], P, &amp;#39;j&amp;#39;);&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;nbsp;&amp;nbsp;if i &amp;lt; j then L[k] := 0 else L[k] := 1 end if;&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;end do;&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;convert(L, list);&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;end proc:&lt;/span&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="eps(Pnum, Qnum)" height="23" src="/view.aspx?sf=235325_post/76ea625ef4e950e415bd0a27e1ce7fef.gif" style="vertical-align:-6px" width="124"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[0, 1]" height="23" src="/view.aspx?sf=235325_post/f5d269427b3f6e546f09162029efb771.gif" style="vertical-align:-6px" width="40"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;So now we do this for all P,Q pairs and fill a 3x3 matrix with a variable indexed with the generated lists&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="M := Matrix(nops(extnums), proc (i, j) options operator, arrow; index(a, eps(extnums[i], extnums[j])[]) end proc)" height="23" src="/view.aspx?sf=235325_post/d44b06ce0cf0f826ecc910c593d5ebae.gif" style="vertical-align:-6px" width="499"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;em&gt;M&amp;nbsp;&lt;/em&gt;:=&lt;img src="data:image/png;base64,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"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;And we find this matrix has eigenvalues that are linear combinations of these variables, with integer coefficients&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="Eigenvalues(M, output = list)" height="23" src="/view.aspx?sf=235325_post/422de732b06f3175b0449f6197c5cd1b.gif" style="vertical-align:-6px" width="192"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[a[0, 0]-a[1, 0], a[0, 0]-a[0, 1], a[0, 0]+a[1, 0]+a[0, 1]]" height="28" src="/view.aspx?sf=235325_post/3080f4b675d15d2289880fa20b70283e.gif" style="vertical-align:-11px" width="288"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;And of course if these variables had integer values, the matrix would have all integer eigenvalues.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="inds := indets(M); r := rand(-20 .. 20); M2 := eval(M, `~`[`=`](inds, {seq(r(), 1 .. nops(inds))})); Eigenvalues(M2, output = list)" height="57" src="/view.aspx?sf=235325_post/a9e67ef2f499bd3c697776d659b55aa6.gif" style="vertical-align:-40px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;em&gt;M2&lt;/em&gt; :=&lt;img src="data:image/png;base64,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"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[7, -7, -6]" height="23" src="/view.aspx?sf=235325_post/0972a5489bfe9335ab8c226301cdf0d1.gif" style="vertical-align:-6px" width="82"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Example 2: A poset with the Hasse diagram: (generated below)&lt;/span&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="center" height="200" src="/view.aspx?sf=235325_post/41e5e2330d5eb0838100163684845344.gif" width="200"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;It is convenient to enter only the arcs shown (not b&amp;lt;e)&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="vars := [a, b, c, d, e]; n := nops(vars); rels := {a &amp;lt; c, b &amp;lt; c, b &amp;lt; d, d &amp;lt; e}" height="57" src="/view.aspx?sf=235325_post/587c6151049e508da40a75dab2a0cc86.gif" style="vertical-align:-40px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[a, b, c, d, e]" height="23" src="/view.aspx?sf=235325_post/dcf6fe96309ff4b1163a82c16c5ed33e.gif" style="vertical-align:-6px" width="131"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="5" height="23" src="/view.aspx?sf=235325_post/e9ff5b4229761324463bae9677af0baf.gif" style="vertical-align:-6px" width="46"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{a &amp;lt; c, b &amp;lt; c, b &amp;lt; d, d &amp;lt; e}" height="23" src="/view.aspx?sf=235325_post/db5b2669d8f009bdb61b9fd60ebbcf3b.gif" style="vertical-align:-6px" width="223"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Specify input = transitivereduction so the missing relation doesn&amp;#39;t throw an error.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="translate := `~`[`=`](vars, [`$`(1 .. n)]); arcs := map(`@`(`[]`, op), rels); A := AdjacencyMatrix(Graph(vars, arcs)); p := PartiallyOrderedSet(vars, A, input = transitivereduction)" height="74" src="/view.aspx?sf=235325_post/8a7e7a524d812630374fd6c975803f49.gif" style="vertical-align:-57px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="translate := [a = 1, b = 2, c = 3, d = 4, e = 5]" height="23" src="/view.aspx?sf=235325_post/97d7a3f2b609b86087fe7d547a669b2d.gif" style="vertical-align:-6px" width="274"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="arcs := {[a, c], [b, c], [b, d], [d, e]}" height="23" src="/view.aspx?sf=235325_post/e136738c008b405074904cb6b6b5e908.gif" style="vertical-align:-6px" width="226"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="Matrix(%id = 36893490746159485164)" height="23" src="/view.aspx?sf=235325_post/3bfc3cb373455b1996e84e168d88ad4b.gif" style="vertical-align:-6px" width="61"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="module PosetObject () local numElems::':-integer', height::':-integer', width::':-integer', comparator::procedure, comparatorExists::boolean, transitiveClosure::Matrix, transitiveClosureExists::boolean, transitiveReduction::Matrix, transitiveReductionExists::boolean, elementMap::table, minimalElements::set, minimalElementsExists::boolean, leastElement::':-integer', maximalElements::set, maximalElementsExists::boolean, greatestElement::':-integer', closureGraph::Graph, closureGraphExists::boolean, connectedComponents::(set(set)), connectedComponentsExists::boolean, reductionGraph::Graph, reductionGraphExists::boolean, adjList::Array, adjListExists::boolean, isLattice::boolean, isFaceLattice::boolean, grade::':-integer', isGraded::boolean, isRanked::boolean, rankFuction::procedure, rankTable::Array, rankFuctionExists::boolean; option object; end module" height="23" src="/view.aspx?sf=235325_post/3421667c6e0116f434539323b4791587.gif" style="vertical-align:-6px" width="214"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;The graph is the transitive reduction (Hasse diagram).&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="DrawGraph(p, size = [200, 200])" height="23" src="/view.aspx?sf=235325_post/c45ccaaa3708cbb474b1d420343ab40b.gif" style="vertical-align:-6px" width="218"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img align="middle" height="200" src="/view.aspx?sf=235325_post/9bc7a6d753ce08c8053551eb356a5d1f.gif" style="border:none" width="200"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Update the relations to include all those in the transitive closure (including b&amp;lt;e)&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="Edges(ToGraph(p, reduction = false)); rels := map(`@`(`&amp;lt;`, op), %)" height="40" src="/view.aspx?sf=235325_post/38dd36b6548be05a4edab360127863cb.gif" style="vertical-align:-23px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{[a, c], [b, c], [b, d], [b, e], [d, e]}" height="23" src="/view.aspx?sf=235325_post/0a68066d77f6cb9bb1195c05e3bc2668.gif" style="vertical-align:-6px" width="215"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{a &amp;lt; c, b &amp;lt; c, b &amp;lt; d, b &amp;lt; e, d &amp;lt; e}" height="23" src="/view.aspx?sf=235325_post/fe9b088e4cbff3cd24317c7c3d88ae12.gif" style="vertical-align:-6px" width="263"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Find the 9 linear extensions&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="T := Iterator:-TopologicalSorts(n, subs(translate, rels)); extnums := [seq([seq(t)], `in`(t, T))]; exts := [seq(vars[[seq(t)]], `in`(t, T))]" height="58" src="/view.aspx?sf=235325_post/28654dd593680331f6c60eb167d48d77.gif" style="vertical-align:-41px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="_m2598743159552" height="23" src="/view.aspx?sf=235325_post/dead357e198a4e9f7daf8a060356d900.gif" style="vertical-align:-6px" width="384"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img align="middle" alt="[[1, 2, 3, 4, 5], [1, 2, 4, 3, 5], [1, 2, 4, 5, 3], [2, 1, 3, 4, 5], [2, 1, 4, 3, 5], [2, 1, 4, 5, 3], [2, 4, 1, 3, 5], [2, 4, 1, 5, 3], [2, 4, 5, 1, 3]]" height="40" src="/view.aspx?sf=235325_post/6b538195a54dd35c2368da7874cc3d4c.gif" style="vertical-align:-23px" width="768"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img align="middle" alt="[[a, b, c, d, e], [a, b, d, c, e], [a, b, d, e, c], [b, a, c, d, e], [b, a, d, c, e], [b, a, d, e, c], [b, d, a, c, e], [b, d, a, e, c], [b, d, e, a, c]]" height="40" src="/view.aspx?sf=235325_post/3defb6ce88aff8169bdb4ff87725a73a.gif" style="vertical-align:-23px" width="768"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Leading to the matrix&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="M := Matrix(nops(extnums), proc (i, j) options operator, arrow; index(a, eps(extnums[i], extnums[j])[]) end proc)" height="23" src="/view.aspx?sf=235325_post/bfaec2d0299c2de13038c8d3e591a05a.gif" style="vertical-align:-6px" width="499"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="Matrix(%id = 36893490746138048980)" height="23" src="/view.aspx?sf=235325_post/128cc682e57b2195d2143214aeb99a2e.gif" style="vertical-align:-6px" width="64"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;The eigenvalues&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="Eigenvalues(M, output = list)" height="23" src="/view.aspx?sf=235325_post/8e5c009a812da909198f06621805eb85.gif" style="vertical-align:-6px" width="192"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img align="middle" alt="[a[0, 0, 0, 0]-a[0, 0, 1, 0], a[0, 0, 0, 0]-a[0, 0, 1, 0]-a[1, 0, 0, 0]+a[1, 0, 1, 0], a[0, 0, 0, 0]-a[0, 0, 1, 0]+a[1, 0, 0, 0]-a[1, 0, 1, 0], a[0, 0, 0, 0]-a[0, 0, 0, 1]-a[1, 0, 0, 0]+a[1, 0, 0, 1], a[0, 0, 0, 0]-a[0, 0, 0, 1]-a[0, 1, 0, 0]+a[0, 1, 0, 1], a[0, 0, 0, 0]+a[0, 0, 0, 1]-a[0, 1, 0, 0]-a[0, 1, 0, 1], a[0, 0, 0, 0]-a[0, 0, 0, 1]+a[0, 1, 0, 0]-a[0, 1, 0, 1]+a[1, 0, 0, 0]-a[1, 0, 0, 1], a[0, 0, 0, 0]+a[0, 0, 0, 1]+a[0, 0, 1, 0]-a[1, 0, 0, 0]-a[1, 0, 0, 1]-a[1, 0, 1, 0], a[0, 0, 0, 0]+a[0, 0, 0, 1]+2*a[0, 0, 1, 0]+a[0, 1, 0, 0]+a[0, 1, 0, 1]+a[1, 0, 0, 0]+a[1, 0, 0, 1]+a[1, 0, 1, 0]]" height="94" src="/view.aspx?sf=235325_post/90419b116bb79c1f124a7d1cc48e0286.gif" style="vertical-align:-77px" width="768"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;and with some integer entries&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="inds := indets(M); M2 := eval(M, `~`[`=`](inds, {seq(r(), 1 .. nops(inds))})); Eigenvalues(M2, output = list)" height="57" src="/view.aspx?sf=235325_post/7142fbce0942281a368094124d30017f.gif" style="vertical-align:-40px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;em&gt;M2&lt;/em&gt; :=&lt;img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZoAAACiCAYAAAB4WAsXAAAZyElEQVR4Xu2dWeh9UxTH/5IHHmR4MSSUDA/KkKTkQSQiGcqslKmIxIsXIQ94kCGZylCUpMwKUVIKmWfiZ8qYeR6P1qn9++3f+Z211z73nLXXOud8P3Uf/nfd21r/vfdd606/+1lXAQAAAIqsa14BAAAADAkGDQAAAFWSg2bDDTesLr744vrSJBUbip9++ql5Vc3ff/9dffHFF82ri8LVFpDimnC5//3333rd/vvvv2aoKD///PPC+/fHH39UX375ZfNqVSzXjXJ+9tln1e+//94MFYHW2io3wZ3lABcPvYn6FLAnOWg222yz5lXLpGJ9oAfWfffdV+2xxx7Vdddd1wxXTzzxRLXzzjtXG220UbXddttVb7zxRvMmaki1SXFNpNwPPPBAtfnmm1fr1q2rttxyy+qxxx5r3kSd559/vjrllFOqm266qXrvvfea4SxOPfXU6oQTTmherYblur322mvVcccdV6/XQQcdVN16663Nm6jx8ssvVyeffHJ1zz33VJdffnl1/vnnN2+ihnSWpXiMVp8C3XA3aH755Zfqww8/rB/UzUP0ww8/VFdffXX9DPPHH3+sD9qRRx656jaapGrLiWuSyv3tt9/WDZ6elX/11VfVoYceWm288cb1epbi7rvvrnbfffe6lkWhpk9PLkoNGst1++eff6qddtqp+uSTT+p/f//999Umm2xSD+sS0GPrnXfeWf73IYccUj3yyCPRLfRIneWceIxWnwLdcDdoAm3PVppvXVxyySV1IyhNW20xUlyTttyvvPJK9euvvy7/+9NPP62foT/77LPRrfR44YUX6gb95ptvNkPZ0Fs4Z511VnXuuecWGzSW6/bkk0/Wr6RiqNmfdNJJq67TgoYavZoJ7LffftVDDz0U3UKftrMcI8UJ7T4F8nA7aPbcc0/xEJ1++un1g780Um1SXJOc3PSe+/rrr1/ss4599923fkLw+eefV88991z122+/NW8icsYZZ1Tfffdd0UHTpOS63XHHHdUGG2xQv3oP0P991113jW6lB+XadNNNq6effrp+JXPiiSeueaKnjXSWpTih3adAHqMcNK+//np98HfZZZfqpZdeaobVSdVGSHFNcnI//PDDxV4JLi0t1a8CaL+uueaa6vDDD6+23Xbb6v3332/elOXGG2+sn+ETloOm5LrRQKZ1e/zxx5evO+2006q99torupUef/31V3XsscfWw+7oo49uhosgnWUpTmj3KZCH2qChB0nOhSN1iL755pv6w0AaNFtssUXnZ8jNGrgLR6o2QoqnaNbAXTik3PTe/1FHHVWvYVeaNXCXmAcffLC+LrzypGfou+22W3XEEUesuh3Hu+++W1100UXL/1500DRr5C4cpdeNoLfJtt9+++rOO++srr/++mrrrbeuB3YXmjm4SxN6y/Ccc86pzjvvvDp+4YUXNm8i0szBXTiksyzFCalPgTLwu1ylNykVG4KcQxSeLdNnACWRapPimki5L7vssvqzh1Lce++99R7RB7iBSy+9tH5Vk8Nhhx1WD6Vjjjmmvuy44471fY8//vjmTVUpvW6BZ555ph7W9C09etuu1Lfe6NVM+EzmlltuqdZbb73q/vvvb9xKF+ksS3FCu0+BPEY9aIhtttlm+Zs5pZBqk+KapHLfdttt1VNPPdW8WhX65hINmvjrzDfccEO19957R7fiefTRR+u6w+XAAw+s9tlnn/ozjFJYrFsTemVx8MEHF/mchJ4U0J7RN90C9LbdmWeeGd1Kn9RZJqQ4od2nQB5uBw19o+Taa69ddR09yOgD4cAHH3xQv50Rc/vtt1dvvfXWquuGpq22GC5uWRs1S/p7DHoLiy70NxpXXXXVclyztgMOOKD+W4zA2WefXd18883L/+6Su+2tsy7374rlugXow3gazM237bRy0+Nsq622WvX555VXXrmqqWvljuHOckCKE3GfKlEzaMfdoKG/+qevVdLXYemP1F588cXlGD2rpA8n6S0Uet+e/ogs/puG8PXTHXbYYfm6IUnVJsUtawtvfTTfGw+vCrRro29p7b///nU+atq0b+GZedfczUHT9f5dsFw3+kyImuIVV1xRfz7S/BxSMzdB3zajvxuiL0Dcdddd1QUXXFCfMUI7d+os58RjQp/SrhmkcTdoJL7++uv6A2L6GZM2Pvroo/rvLTwy99o+/vjj1j/Y7Ju77/37oJWbPox/++23qz///LMZWkYrd4CeDNCe0R9HN9HOPRRxnxpLzVNkdINGgr4WSn+F7hHU1k7f3H3v3wfk9k3cp8ZS8xSZ1KCht9FeffXV5tUuQG3t9M3d9/59QG7/hD41ppqnSHLQpH6hORUDAABL8OvN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"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[0, -68, -32, 3, -12, 8, -8, -6, -2]" height="23" src="/view.aspx?sf=235325_post/5b61e8753a711330ff460f7b289b495f.gif" style="vertical-align:-6px" width="246"&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="NULL" height="23" src="/view.aspx?sf=235325_post/004631ad8e6a6d84708c1bd47f1e6f1e.gif" style="vertical-align:-6px" width="9"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;input name="sequence" type="hidden" value="1"&gt; &lt;input name="cmd" type="hidden" value="none"&gt;&lt;/form&gt;

&lt;p&gt;&lt;a href="/view.aspx?sf=235325_post/IntegerEigenvalues.mw"&gt;Download IntegerEigenvalues.mw&lt;/a&gt;&lt;/p&gt;
</itunes:summary>
      <description>&lt;p&gt;&lt;input name="md.ref" type="hidden" value="A803FC15EC058EEC203975EA2A9F3FE4"&gt;&lt;/p&gt;

&lt;form name="worksheet_form"&gt;
&lt;table align="center" width="768"&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:bold;font-style:normal;"&gt;The Miracle of Integer Eigenvalues&lt;/span&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;is a paper that shows how any partially-ordered set can be used to generate a matrix with integer eigenvalues.&lt;/span&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;R. Kenyon et al, Funct. Anal. Its Appl. 58, 182&amp;ndash;194 (2024) &amp;nbsp;&lt;/span&gt;&lt;a href="https://doi.org/10.1134/S0016266324020072"&gt;&lt;span style="color:#125d99;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&lt;u&gt;doi: 10.1134/S0016266324020072&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;, &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2401.05291"&gt;&lt;span style="color:#125d99;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&lt;u&gt;arXiv:2401.05291v2&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Here I outline the process and give two examples.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="restart" height="23" src="/view.aspx?sf=235325_post/1854e055b6acf9c421682b34726f5f6a.gif" style="vertical-align:-6px" width="54"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;PartiallyOrdered sets is after GraphTheory so its DrawGraph gets priority.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="with(GraphTheory); with(LinearAlgebra); with(PartiallyOrderedSets)" height="23" src="/view.aspx?sf=235325_post/b8b5597c6a13362f06fd30dedab14e84.gif" style="vertical-align:-6px" width="456"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Example (the first example in the paper): Poset in 3 elements with one relation &lt;/span&gt;&lt;img alt="{u &amp;lt; v, {u, v, w}}" height="23" src="/view.aspx?sf=235325_post/b75a8cafd960b8e3bebf4d18dfa6f62f.gif" style="vertical-align:-6px" width="111"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;. &lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="vars := [u, v, w]; n := nops(vars); rels := {u &amp;lt; v}" height="57" src="/view.aspx?sf=235325_post/b5622878455942d8c14541a50387029e.gif" style="vertical-align:-40px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[u, v, w]" height="23" src="/view.aspx?sf=235325_post/efb1cbcb393c10df29ec1df4cd110ae5.gif" style="vertical-align:-6px" width="107"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="3" height="23" src="/view.aspx?sf=235325_post/0e7aa370ca0bf7308ba5139b53042bd0.gif" style="vertical-align:-6px" width="46"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{u &amp;lt; v}" height="23" src="/view.aspx?sf=235325_post/b48121f9279e778fcf503ce211f4c096.gif" style="vertical-align:-6px" width="102"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Some derived things we will need.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="translate := `~`[`=`](vars, [`$`(1 .. n)]); arcs := map(`@`(`[]`, op), rels); A := AdjacencyMatrix(Graph(vars, arcs))" height="57" src="/view.aspx?sf=235325_post/1265e6d3886d4f6b7697b0677f73309d.gif" style="vertical-align:-40px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="translate := [u = 1, v = 2, w = 3]" height="23" src="/view.aspx?sf=235325_post/79241dd9be863775a4f945ba3de2420a.gif" style="vertical-align:-6px" width="204"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="arcs := {[u, v]}" height="23" src="/view.aspx?sf=235325_post/7b9b76e970a1ba9f4478f96a0742e39b.gif" style="vertical-align:-6px" width="105"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="Matrix(%id = 36893490746138016812)" height="23" src="/view.aspx?sf=235325_post/924d602438ead4d7f94371bd57462826.gif" style="vertical-align:-6px" width="61"&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="p := PartiallyOrderedSet(vars, A)" height="23" src="/view.aspx?sf=235325_post/fce3be7e482bb904cb0f2d56f3c31451.gif" style="vertical-align:-6px" width="224"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="module PosetObject () local numElems::':-integer', height::':-integer', width::':-integer', comparator::procedure, comparatorExists::boolean, transitiveClosure::Matrix, transitiveClosureExists::boolean, transitiveReduction::Matrix, transitiveReductionExists::boolean, elementMap::table, minimalElements::set, minimalElementsExists::boolean, leastElement::':-integer', maximalElements::set, maximalElementsExists::boolean, greatestElement::':-integer', closureGraph::Graph, closureGraphExists::boolean, connectedComponents::(set(set)), connectedComponentsExists::boolean, reductionGraph::Graph, reductionGraphExists::boolean, adjList::Array, adjListExists::boolean, isLattice::boolean, isFaceLattice::boolean, grade::':-integer', isGraded::boolean, isRanked::boolean, rankFuction::procedure, rankTable::Array, rankFuctionExists::boolean; option object; end module" height="23" src="/view.aspx?sf=235325_post/aaecb0baa825d616143c6adcd773d332.gif" style="vertical-align:-6px" width="214"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;We can represent this as a directed graph.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="DrawGraph(p, size = [200, 200])" height="23" src="/view.aspx?sf=235325_post/175b466e824cc611bbc7d69815eac62c.gif" style="vertical-align:-6px" width="218"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img align="middle" height="200" src="/view.aspx?sf=235325_post/4c62a2996302788472dda625af062b22.gif" style="border:none" width="200"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;There are three linear extensions; roughly these are linear orders/chains with all of &lt;/span&gt;&lt;img alt="{u, v, w}" height="22" src="/view.aspx?sf=235325_post/14b888dcb0852d9f7f5b968bd33ff41b.gif" style="vertical-align:-6px" width="57"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;that maintain &lt;/span&gt;&lt;img alt="u &amp;lt; v" height="22" src="/view.aspx?sf=235325_post/b898cd2766baaaf91b6e523dc375df08.gif" style="vertical-align:-6px" width="38"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;. In this case there are three: &lt;/span&gt;&lt;img alt="u &amp;lt; v and v &amp;lt; w, u &amp;lt; w and w &amp;lt; v, w &amp;lt; u and u &amp;lt; v" height="22" src="/view.aspx?sf=235325_post/7797fc7fca7bb95199dc552bdaef5bce.gif" style="vertical-align:-6px" width="200"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;. In other words, we want to find all permutations of [1,2,3] in which 1 (=u) precedes 2 (=v). We can use the iterator TopologicalSort, which finds all permutations satisfying some relations.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="T := Iterator:-TopologicalSorts(n, subs(translate, rels))" height="23" src="/view.aspx?sf=235325_post/116952e0e125b0bbcacde335d1b57472.gif" style="vertical-align:-6px" width="356"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="_m2598758943744" height="23" src="/view.aspx?sf=235325_post/37ad920d1b4efeb08770bd5c110882bc.gif" style="vertical-align:-6px" width="220"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;The three permutations that have &lt;/span&gt;&lt;img alt="u" height="22" src="/view.aspx?sf=235325_post/4920278a24f4fa9946f7154156a92bf7.gif" style="vertical-align:-6px" width="13"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;before &lt;/span&gt;&lt;img alt="v" height="22" src="/view.aspx?sf=235325_post/007f520d4762cc7d3d8eb7a30a9d078a.gif" style="vertical-align:-6px" width="12"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;are given below both numerically and symbolically.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="extnums := [seq([seq(t)], `in`(t, T))]; exts := [seq(vars[[seq(t)]], `in`(t, T))]" height="41" src="/view.aspx?sf=235325_post/bf9821f6c0b23e6898fcb838ff07e2b1.gif" style="vertical-align:-24px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[[1, 2, 3], [1, 3, 2], [3, 1, 2]]" height="23" src="/view.aspx?sf=235325_post/3428f85c6a0182aa78fcea5e0ed0aa9d.gif" style="vertical-align:-6px" width="252"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[[u, v, w], [u, w, v], [w, u, v]]" height="23" src="/view.aspx?sf=235325_post/efca6c933a6e67a7d889840d6ab295d2.gif" style="vertical-align:-6px" width="232"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Choose two of these, P and Q, say the first two. &lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="Pnum, Qnum := extnums[1 .. 2][]; P, Q := exts[1 .. 2][]" height="41" src="/view.aspx?sf=235325_post/2909f7ef0c7ef0915ceaf9b71bc32fed.gif" style="vertical-align:-24px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[1, 2, 3], [1, 3, 2]" height="23" src="/view.aspx?sf=235325_post/f779ed4c49fe7ae685ad793005e668b8.gif" style="vertical-align:-6px" width="212"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[u, v, w], [u, w, v]" height="23" src="/view.aspx?sf=235325_post/24457b4ac9c585e5a07ba01db387c6b0.gif" style="vertical-align:-6px" width="165"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Then the &lt;/span&gt;&lt;img alt="k" height="22" src="/view.aspx?sf=235325_post/8b7127c04685c945393cd1a0a019f9dd.gif" style="vertical-align:-6px" width="12"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;th node in Q is a &lt;/span&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:italic;"&gt;(P,Q) disagreement node&lt;/span&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;or &lt;/span&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:italic;"&gt;descent node&lt;/span&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;if the &lt;/span&gt;&lt;img alt="k-1" height="22" src="/view.aspx?sf=235325_post/c4c1027d1ba3ed0a910f00dc9c3d8857.gif" style="vertical-align:-6px" width="50"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;th node in Q is greater than the &lt;/span&gt;&lt;img alt="k" height="22" src="/view.aspx?sf=235325_post/0fb18addbe35cd6a76b19188f332f1eb.gif" style="vertical-align:-6px" width="12"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;th node, considered as a relation in P. &amp;nbsp;For example, for &lt;/span&gt;&lt;img alt="k = 2" height="22" src="/view.aspx?sf=235325_post/d15437a42dc837d3c2ce8767fddf9c86.gif" style="vertical-align:-6px" width="32"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;(w in Q), so &lt;/span&gt;&lt;img alt="k-1 = 1" height="22" src="/view.aspx?sf=235325_post/ae9d249845d461cb10953f4cdc1a6104.gif" style="vertical-align:-6px" width="56"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;(u in Q) then in P we have &lt;/span&gt;&lt;img alt="u &amp;lt; w" height="22" src="/view.aspx?sf=235325_post/94700b1e042cc7cd9ec3b5c56c1fe531.gif" style="vertical-align:-6px" width="41"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;and w is a (P,Q) agreement node. For &lt;/span&gt;&lt;img alt="k = 3" height="22" src="/view.aspx?sf=235325_post/517e46345ccb47c04930310b499b26d2.gif" style="vertical-align:-6px" width="32"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;(v) and &lt;/span&gt;&lt;img alt="k-1 = 2" height="22" src="/view.aspx?sf=235325_post/1383891b116a59d46c34b4ab1a7b9276.gif" style="vertical-align:-6px" width="56"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;(w) we have &lt;/span&gt;&lt;img alt="w &amp;gt; v" height="22" src="/view.aspx?sf=235325_post/319dcdfe975d4e3235c37e4a4b8b95dc.gif" style="vertical-align:-6px" width="40"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;in P and disagreement. The first node in Q is defined to be an agreement node. So u = agree, w = agree, v = disagree. We make a list of agreements (0) and disagreements (1) from &lt;/span&gt;&lt;img alt="k = 2" height="22" src="/view.aspx?sf=235325_post/ff9494f4ab0db0d5bc06538558df79f7.gif" style="vertical-align:-6px" width="32"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;to &lt;/span&gt;&lt;img alt="k = n" height="22" src="/view.aspx?sf=235325_post/75d892b068bcc76143a16c4b01b42646.gif" style="vertical-align:-6px" width="32"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;&amp;nbsp;and find [0,1].&lt;/span&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;As a procedure we have&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;eps := proc(P::permlist, Q::permlist)&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;local k, i, j, L;&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;for k from 2 to nops(Q) do&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;nbsp;&amp;nbsp;member(Q[k-1], P, &amp;#39;i&amp;#39;);&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;nbsp;&amp;nbsp;member(Q[k], P, &amp;#39;j&amp;#39;);&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;nbsp;&amp;nbsp;if i &amp;lt; j then L[k] := 0 else L[k] := 1 end if;&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;end do;&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;convert(L, list);&lt;/span&gt;&lt;br&gt;
						&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;end proc:&lt;/span&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="eps(Pnum, Qnum)" height="23" src="/view.aspx?sf=235325_post/76ea625ef4e950e415bd0a27e1ce7fef.gif" style="vertical-align:-6px" width="124"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[0, 1]" height="23" src="/view.aspx?sf=235325_post/f5d269427b3f6e546f09162029efb771.gif" style="vertical-align:-6px" width="40"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;So now we do this for all P,Q pairs and fill a 3x3 matrix with a variable indexed with the generated lists&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="M := Matrix(nops(extnums), proc (i, j) options operator, arrow; index(a, eps(extnums[i], extnums[j])[]) end proc)" height="23" src="/view.aspx?sf=235325_post/d44b06ce0cf0f826ecc910c593d5ebae.gif" style="vertical-align:-6px" width="499"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;em&gt;M&amp;nbsp;&lt;/em&gt;:=&lt;img src="data:image/png;base64,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"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;And we find this matrix has eigenvalues that are linear combinations of these variables, with integer coefficients&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="Eigenvalues(M, output = list)" height="23" src="/view.aspx?sf=235325_post/422de732b06f3175b0449f6197c5cd1b.gif" style="vertical-align:-6px" width="192"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[a[0, 0]-a[1, 0], a[0, 0]-a[0, 1], a[0, 0]+a[1, 0]+a[0, 1]]" height="28" src="/view.aspx?sf=235325_post/3080f4b675d15d2289880fa20b70283e.gif" style="vertical-align:-11px" width="288"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;And of course if these variables had integer values, the matrix would have all integer eigenvalues.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="inds := indets(M); r := rand(-20 .. 20); M2 := eval(M, `~`[`=`](inds, {seq(r(), 1 .. nops(inds))})); Eigenvalues(M2, output = list)" height="57" src="/view.aspx?sf=235325_post/a9e67ef2f499bd3c697776d659b55aa6.gif" style="vertical-align:-40px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;em&gt;M2&lt;/em&gt; :=&lt;img src="data:image/png;base64,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"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[7, -7, -6]" height="23" src="/view.aspx?sf=235325_post/0972a5489bfe9335ab8c226301cdf0d1.gif" style="vertical-align:-6px" width="82"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Example 2: A poset with the Hasse diagram: (generated below)&lt;/span&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="center" height="200" src="/view.aspx?sf=235325_post/41e5e2330d5eb0838100163684845344.gif" width="200"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;It is convenient to enter only the arcs shown (not b&amp;lt;e)&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="vars := [a, b, c, d, e]; n := nops(vars); rels := {a &amp;lt; c, b &amp;lt; c, b &amp;lt; d, d &amp;lt; e}" height="57" src="/view.aspx?sf=235325_post/587c6151049e508da40a75dab2a0cc86.gif" style="vertical-align:-40px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[a, b, c, d, e]" height="23" src="/view.aspx?sf=235325_post/dcf6fe96309ff4b1163a82c16c5ed33e.gif" style="vertical-align:-6px" width="131"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="5" height="23" src="/view.aspx?sf=235325_post/e9ff5b4229761324463bae9677af0baf.gif" style="vertical-align:-6px" width="46"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{a &amp;lt; c, b &amp;lt; c, b &amp;lt; d, d &amp;lt; e}" height="23" src="/view.aspx?sf=235325_post/db5b2669d8f009bdb61b9fd60ebbcf3b.gif" style="vertical-align:-6px" width="223"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Specify input = transitivereduction so the missing relation doesn&amp;#39;t throw an error.&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="translate := `~`[`=`](vars, [`$`(1 .. n)]); arcs := map(`@`(`[]`, op), rels); A := AdjacencyMatrix(Graph(vars, arcs)); p := PartiallyOrderedSet(vars, A, input = transitivereduction)" height="74" src="/view.aspx?sf=235325_post/8a7e7a524d812630374fd6c975803f49.gif" style="vertical-align:-57px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="translate := [a = 1, b = 2, c = 3, d = 4, e = 5]" height="23" src="/view.aspx?sf=235325_post/97d7a3f2b609b86087fe7d547a669b2d.gif" style="vertical-align:-6px" width="274"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="arcs := {[a, c], [b, c], [b, d], [d, e]}" height="23" src="/view.aspx?sf=235325_post/e136738c008b405074904cb6b6b5e908.gif" style="vertical-align:-6px" width="226"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="Matrix(%id = 36893490746159485164)" height="23" src="/view.aspx?sf=235325_post/3bfc3cb373455b1996e84e168d88ad4b.gif" style="vertical-align:-6px" width="61"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="module PosetObject () local numElems::':-integer', height::':-integer', width::':-integer', comparator::procedure, comparatorExists::boolean, transitiveClosure::Matrix, transitiveClosureExists::boolean, transitiveReduction::Matrix, transitiveReductionExists::boolean, elementMap::table, minimalElements::set, minimalElementsExists::boolean, leastElement::':-integer', maximalElements::set, maximalElementsExists::boolean, greatestElement::':-integer', closureGraph::Graph, closureGraphExists::boolean, connectedComponents::(set(set)), connectedComponentsExists::boolean, reductionGraph::Graph, reductionGraphExists::boolean, adjList::Array, adjListExists::boolean, isLattice::boolean, isFaceLattice::boolean, grade::':-integer', isGraded::boolean, isRanked::boolean, rankFuction::procedure, rankTable::Array, rankFuctionExists::boolean; option object; end module" height="23" src="/view.aspx?sf=235325_post/3421667c6e0116f434539323b4791587.gif" style="vertical-align:-6px" width="214"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;The graph is the transitive reduction (Hasse diagram).&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="DrawGraph(p, size = [200, 200])" height="23" src="/view.aspx?sf=235325_post/c45ccaaa3708cbb474b1d420343ab40b.gif" style="vertical-align:-6px" width="218"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img align="middle" height="200" src="/view.aspx?sf=235325_post/9bc7a6d753ce08c8053551eb356a5d1f.gif" style="border:none" width="200"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Update the relations to include all those in the transitive closure (including b&amp;lt;e)&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="Edges(ToGraph(p, reduction = false)); rels := map(`@`(`&amp;lt;`, op), %)" height="40" src="/view.aspx?sf=235325_post/38dd36b6548be05a4edab360127863cb.gif" style="vertical-align:-23px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{[a, c], [b, c], [b, d], [b, e], [d, e]}" height="23" src="/view.aspx?sf=235325_post/0a68066d77f6cb9bb1195c05e3bc2668.gif" style="vertical-align:-6px" width="215"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="{a &amp;lt; c, b &amp;lt; c, b &amp;lt; d, b &amp;lt; e, d &amp;lt; e}" height="23" src="/view.aspx?sf=235325_post/fe9b088e4cbff3cd24317c7c3d88ae12.gif" style="vertical-align:-6px" width="263"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Find the 9 linear extensions&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="T := Iterator:-TopologicalSorts(n, subs(translate, rels)); extnums := [seq([seq(t)], `in`(t, T))]; exts := [seq(vars[[seq(t)]], `in`(t, T))]" height="58" src="/view.aspx?sf=235325_post/28654dd593680331f6c60eb167d48d77.gif" style="vertical-align:-41px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="_m2598743159552" height="23" src="/view.aspx?sf=235325_post/dead357e198a4e9f7daf8a060356d900.gif" style="vertical-align:-6px" width="384"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img align="middle" alt="[[1, 2, 3, 4, 5], [1, 2, 4, 3, 5], [1, 2, 4, 5, 3], [2, 1, 3, 4, 5], [2, 1, 4, 3, 5], [2, 1, 4, 5, 3], [2, 4, 1, 3, 5], [2, 4, 1, 5, 3], [2, 4, 5, 1, 3]]" height="40" src="/view.aspx?sf=235325_post/6b538195a54dd35c2368da7874cc3d4c.gif" style="vertical-align:-23px" width="768"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img align="middle" alt="[[a, b, c, d, e], [a, b, d, c, e], [a, b, d, e, c], [b, a, c, d, e], [b, a, d, c, e], [b, a, d, e, c], [b, d, a, c, e], [b, d, a, e, c], [b, d, e, a, c]]" height="40" src="/view.aspx?sf=235325_post/3defb6ce88aff8169bdb4ff87725a73a.gif" style="vertical-align:-23px" width="768"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;Leading to the matrix&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="M := Matrix(nops(extnums), proc (i, j) options operator, arrow; index(a, eps(extnums[i], extnums[j])[]) end proc)" height="23" src="/view.aspx?sf=235325_post/bfaec2d0299c2de13038c8d3e591a05a.gif" style="vertical-align:-6px" width="499"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="Matrix(%id = 36893490746138048980)" height="23" src="/view.aspx?sf=235325_post/128cc682e57b2195d2143214aeb99a2e.gif" style="vertical-align:-6px" width="64"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;The eigenvalues&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="Eigenvalues(M, output = list)" height="23" src="/view.aspx?sf=235325_post/8e5c009a812da909198f06621805eb85.gif" style="vertical-align:-6px" width="192"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img align="middle" alt="[a[0, 0, 0, 0]-a[0, 0, 1, 0], a[0, 0, 0, 0]-a[0, 0, 1, 0]-a[1, 0, 0, 0]+a[1, 0, 1, 0], a[0, 0, 0, 0]-a[0, 0, 1, 0]+a[1, 0, 0, 0]-a[1, 0, 1, 0], a[0, 0, 0, 0]-a[0, 0, 0, 1]-a[1, 0, 0, 0]+a[1, 0, 0, 1], a[0, 0, 0, 0]-a[0, 0, 0, 1]-a[0, 1, 0, 0]+a[0, 1, 0, 1], a[0, 0, 0, 0]+a[0, 0, 0, 1]-a[0, 1, 0, 0]-a[0, 1, 0, 1], a[0, 0, 0, 0]-a[0, 0, 0, 1]+a[0, 1, 0, 0]-a[0, 1, 0, 1]+a[1, 0, 0, 0]-a[1, 0, 0, 1], a[0, 0, 0, 0]+a[0, 0, 0, 1]+a[0, 0, 1, 0]-a[1, 0, 0, 0]-a[1, 0, 0, 1]-a[1, 0, 1, 0], a[0, 0, 0, 0]+a[0, 0, 0, 1]+2*a[0, 0, 1, 0]+a[0, 1, 0, 0]+a[0, 1, 0, 1]+a[1, 0, 0, 0]+a[1, 0, 0, 1]+a[1, 0, 1, 0]]" height="94" src="/view.aspx?sf=235325_post/90419b116bb79c1f124a7d1cc48e0286.gif" style="vertical-align:-77px" width="768"&gt;&lt;/p&gt;

			&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;span style="color:#000000;font-size: 91%;font-family: DejaVu Sans;font-weight:normal;font-style:normal;"&gt;and with some integer entries&lt;/span&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img align="middle" alt="inds := indets(M); M2 := eval(M, `~`[`=`](inds, {seq(r(), 1 .. nops(inds))})); Eigenvalues(M2, output = list)" height="57" src="/view.aspx?sf=235325_post/7142fbce0942281a368094124d30017f.gif" style="vertical-align:-40px" width="768"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;em&gt;M2&lt;/em&gt; :=&lt;img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZoAAACiCAYAAAB4WAsXAAAZyElEQVR4Xu2dWeh9UxTH/5IHHmR4MSSUDA/KkKTkQSQiGcqslKmIxIsXIQ94kCGZylCUpMwKUVIKmWfiZ8qYeR6P1qn9++3f+Z211z73nLXXOud8P3Uf/nfd21r/vfdd606/+1lXAQAAAIqsa14BAAAADAkGDQAAAFWSg2bDDTesLr744vrSJBUbip9++ql5Vc3ff/9dffHFF82ri8LVFpDimnC5//3333rd/vvvv2aoKD///PPC+/fHH39UX375ZfNqVSzXjXJ+9tln1e+//94MFYHW2io3wZ3lABcPvYn6FLAnOWg222yz5lXLpGJ9oAfWfffdV+2xxx7Vdddd1wxXTzzxRLXzzjtXG220UbXddttVb7zxRvMmaki1SXFNpNwPPPBAtfnmm1fr1q2rttxyy+qxxx5r3kSd559/vjrllFOqm266qXrvvfea4SxOPfXU6oQTTmherYblur322mvVcccdV6/XQQcdVN16663Nm6jx8ssvVyeffHJ1zz33VJdffnl1/vnnN2+ihnSWpXiMVp8C3XA3aH755Zfqww8/rB/UzUP0ww8/VFdffXX9DPPHH3+sD9qRRx656jaapGrLiWuSyv3tt9/WDZ6elX/11VfVoYceWm288cb1epbi7rvvrnbfffe6lkWhpk9PLkoNGst1++eff6qddtqp+uSTT+p/f//999Umm2xSD+sS0GPrnXfeWf73IYccUj3yyCPRLfRIneWceIxWnwLdcDdoAm3PVppvXVxyySV1IyhNW20xUlyTttyvvPJK9euvvy7/+9NPP62foT/77LPRrfR44YUX6gb95ptvNkPZ0Fs4Z511VnXuuecWGzSW6/bkk0/Wr6RiqNmfdNJJq67TgoYavZoJ7LffftVDDz0U3UKftrMcI8UJ7T4F8nA7aPbcc0/xEJ1++un1g780Um1SXJOc3PSe+/rrr1/ss4599923fkLw+eefV88991z122+/NW8icsYZZ1Tfffdd0UHTpOS63XHHHdUGG2xQv3oP0P991113jW6lB+XadNNNq6effrp+JXPiiSeueaKnjXSWpTih3adAHqMcNK+//np98HfZZZfqpZdeaobVSdVGSHFNcnI//PDDxV4JLi0t1a8CaL+uueaa6vDDD6+23Xbb6v3332/elOXGG2+sn+ETloOm5LrRQKZ1e/zxx5evO+2006q99torupUef/31V3XsscfWw+7oo49uhosgnWUpTmj3KZCH2qChB0nOhSN1iL755pv6w0AaNFtssUXnZ8jNGrgLR6o2QoqnaNbAXTik3PTe/1FHHVWvYVeaNXCXmAcffLC+LrzypGfou+22W3XEEUesuh3Hu+++W1100UXL/1500DRr5C4cpdeNoLfJtt9+++rOO++srr/++mrrrbeuB3YXmjm4SxN6y/Ccc86pzjvvvDp+4YUXNm8i0szBXTiksyzFCalPgTLwu1ylNykVG4KcQxSeLdNnACWRapPimki5L7vssvqzh1Lce++99R7RB7iBSy+9tH5Vk8Nhhx1WD6Vjjjmmvuy44471fY8//vjmTVUpvW6BZ555ph7W9C09etuu1Lfe6NVM+EzmlltuqdZbb73q/vvvb9xKF+ksS3FCu0+BPEY9aIhtttlm+Zs5pZBqk+KapHLfdttt1VNPPdW8WhX65hINmvjrzDfccEO19957R7fiefTRR+u6w+XAAw+s9tlnn/ozjFJYrFsTemVx8MEHF/mchJ4U0J7RN90C9LbdmWeeGd1Kn9RZJqQ4od2nQB5uBw19o+Taa69ddR09yOgD4cAHH3xQv50Rc/vtt1dvvfXWquuGpq22GC5uWRs1S/p7DHoLiy70NxpXXXXVclyztgMOOKD+W4zA2WefXd18883L/+6Su+2tsy7374rlugXow3gazM237bRy0+Nsq622WvX555VXXrmqqWvljuHOckCKE3GfKlEzaMfdoKG/+qevVdLXYemP1F588cXlGD2rpA8n6S0Uet+e/ogs/puG8PXTHXbYYfm6IUnVJsUtawtvfTTfGw+vCrRro29p7b///nU+atq0b+GZedfczUHT9f5dsFw3+kyImuIVV1xRfz7S/BxSMzdB3zajvxuiL0Dcdddd1QUXXFCfMUI7d+os58RjQp/SrhmkcTdoJL7++uv6A2L6GZM2Pvroo/rvLTwy99o+/vjj1j/Y7Ju77/37oJWbPox/++23qz///LMZWkYrd4CeDNCe0R9HN9HOPRRxnxpLzVNkdINGgr4WSn+F7hHU1k7f3H3v3wfk9k3cp8ZS8xSZ1KCht9FeffXV5tUuQG3t9M3d9/59QG7/hD41ppqnSHLQpH6hORUDAABL8OvN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"&gt;&lt;/p&gt;

			&lt;p align="center" style="margin:0 0 0 0; padding-top:0px; padding-bottom:0px"&gt;&lt;img alt="[0, -68, -32, 3, -12, 8, -8, -6, -2]" height="23" src="/view.aspx?sf=235325_post/5b61e8753a711330ff460f7b289b495f.gif" style="vertical-align:-6px" width="246"&gt;&lt;/p&gt;

			&lt;table style="margin-left:0px;margin-right:0px"&gt;
				&lt;tbody&gt;
					&lt;tr valign="baseline"&gt;
						&lt;td&gt;&lt;span style="color:#78000e;font-size: 100%;font-family: monospace,monospace;font-weight:bold;font-style:normal;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
						&lt;td&gt;
						&lt;p align="left" style="margin:0 0 0 0; padding-top:3px; padding-bottom:3px"&gt;&lt;img alt="NULL" height="23" src="/view.aspx?sf=235325_post/004631ad8e6a6d84708c1bd47f1e6f1e.gif" style="vertical-align:-6px" width="9"&gt;&lt;/p&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;input name="sequence" type="hidden" value="1"&gt; &lt;input name="cmd" type="hidden" value="none"&gt;&lt;/form&gt;

&lt;p&gt;&lt;a href="/view.aspx?sf=235325_post/IntegerEigenvalues.mw"&gt;Download IntegerEigenvalues.mw&lt;/a&gt;&lt;/p&gt;
</description>
      <guid>235325</guid>
      <pubDate>Mon, 27 Jul 2026 18:52:09 Z</pubDate>
      <itunes:author>dharr</itunes:author>
      <author>dharr</author>
    </item>
    <item>
      <title>Because $F17*(1+$B$4)^3 is not Engineering Documentation</title>
      <link>http://www.mapleprimes.com/maplesoftblog/235296-Because-F171B43-Is-Not-Engineering?ref=Feed:MaplePrimes:New Posts</link>
      <itunes:summary>&lt;p&gt;We&amp;rsquo;ve just launched Maple Flow 2026. And yes, the title of this post doesn&amp;rsquo;t follow the standard formula for a &amp;ldquo;new version, new features&amp;rdquo; announcement.&lt;/p&gt;

&lt;p&gt;But this is not only a post about a new version number and new features.&lt;/p&gt;

&lt;p&gt;It is about a problem engineers know too well: important calculations trapped inside spreadsheets, scripts and old project files - visible only as cell references, code fragments and hidden logic.&lt;/p&gt;

&lt;p&gt;That might be fine when the calculation is being built. It is not fine when the calculation must be reviewed, reused, defended, audited or handed to another engineer.&lt;/p&gt;

&lt;p&gt;Maple Flow is built around a simple idea: engineering calculations should be readable, structured, auditable and easy to share.&lt;/p&gt;

&lt;p&gt;The new release gives engineers better ways to create those calculations, bring existing work into Maple Flow, and turn legacy material into documentation that actually explains the engineering.&lt;/p&gt;



&lt;p&gt;You can now generate Maple Flow worksheets using tools like Codex or Claude Code.&amp;nbsp;This makes it easier to transform ideas into structured technical analyses and turn existing calculations into clear, auditable engineering documents.&lt;/p&gt;

&lt;p&gt;Here are a few ways to use this new integration,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rescue calculations from spreadsheets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Many engineering teams have years - sometimes decades - of calculations sitting in Excel. Those spreadsheets often contain real engineering value, but the logic is fragmented across cells, sheets and references.&lt;/p&gt;

&lt;p&gt;Manually translating all that work into a clearer format can feel like too much effort to even start.&lt;/p&gt;

&lt;p&gt;With Maple Flow 2026 and an AI coding assistant such as Codex or Claude Code, you can use a simple instruction like:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;em&gt;Convert this Excel spreadsheet to a Maple Flow worksheet&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The AI coding assistant then helps transform spreadsheet logic into a structured Maple Flow worksheet with natural 2D math, clearer variable names and calculations that are visible on the page.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235296_post/Excel_to_Flow_2.png" style="height: 672px; width: 500px;"&gt;&lt;/p&gt;

&lt;p&gt;This is not just file conversion. It is a way to expose the engineering intent hidden inside legacy spreadsheets and make that work easier to understand, extend and review.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generate engineering worksheets from a prompt&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The same AI-assisted workflow can also help create a new Maple Flow worksheet from a natural language prompt.&lt;/p&gt;

&lt;p&gt;Ask for a design calculation, describe the engineering context, specify the assumptions and ask for supporting text, equations, plots or diagrams. The result can be a worksheet that already contains readable math, explanations and visual context.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235296_post/pedestrian_footbridge_2.png"&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stop hiding math in scripts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Maple Flow 2026 also opens up a practical path for moving useful work out of scripts and into worksheets that communicate the engineering more clearly.&lt;/p&gt;

&lt;p&gt;For example, a Matlab script built around low-level loops, switch/case logic and numerical iteration can be translated into a Maple Flow worksheet that uses higher-level mathematical constructs.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235296_post/matlab.png" style="height: 688px; width: 600px;"&gt;&lt;/p&gt;

&lt;p&gt;In one example, a crude while-loop numerical solver became an fsolve call, and switch/case logic became a much more readable piecewise expression.&lt;/p&gt;

&lt;p&gt;The point is not simply to change syntax. It is to move from code that performs a calculation to a worksheet that explains the calculation.&lt;/p&gt;

&lt;p&gt;I&amp;#39;ve outlined a few ideas that demonstrate how you can use AI coding assistants to generate Maple Flow worksheets. There&amp;#39;s &lt;strong&gt;much&lt;/strong&gt; more you can do.&lt;/p&gt;

&lt;p&gt;Of course, this functionality is subject to the same disclaimers as any other AI-generated content:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Worksheets are generated by and subject to the limitations of your AI model&lt;/li&gt;
	&lt;li&gt;your mileage may vary&lt;/li&gt;
	&lt;li&gt;and you absolutely need a (human)&amp;nbsp;expert in the loop to check the output.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But as a starting point, this workflow is seriously powerful.&lt;/p&gt;

&lt;p&gt;Set up your AI coding assistant to generate Maple Flow worksheets with the instructions &lt;a href="https://www.maplesoft.com/products/MapleFlow/AI-Coding-Assistants/index.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Maple Flow 2026 introduces in-worksheet programming, so you can write programs and scripts directly on the canvas and execute them inline with the rest of your worksheet.&lt;/p&gt;

&lt;p&gt;You can enter programs with the keyboard or use the new Programming palette, which inserts common templates such as loops and if/else blocks with the right structure and indentation.&lt;/p&gt;

&lt;p&gt;&lt;img src="/view.aspx?sf=235296_post/Inline.gif"&gt;&lt;/p&gt;

&lt;p&gt;Productivity features help keep the program readable:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;automatic closing of procedures, loops and conditionals after the opening line is entered&lt;/li&gt;
	&lt;li&gt;intelligent insertion of statement separators when appropriate&lt;/li&gt;
	&lt;li&gt;automatic indentation to preserve structure and readability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The existing Code Editor remains the right place for larger scripts. In-worksheet programming is for the logic you want to sit directly beside the math, text and results.&lt;/p&gt;



&lt;p&gt;The Mathcad Migration Assistant has also been updated. It now translates much of the content of Mathcad Prime files into Maple Flow format, in addition to the existing support for Mathcad 13, 14 and 15.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235296_post/Mathcad_to_Maple_Flow_modern_v4_monospaced-result.png"&gt;&lt;br&gt;
Because Maple Flow 2026 now supports in-worksheet programming, the updated Migration Assistant also translates Mathcad programs.&lt;/p&gt;

&lt;p&gt;For Mathcad thinking about moving to Maple Flow, the update makes migration faster and more practical. Existing work moves over with more of the structure and intent preserved.&lt;/p&gt;



&lt;p&gt;Worksheets now compute faster! The results depend on the specific calculations, but the improvements can be very noticable - these are selected results from our internal benchmarking suite&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235296_post/performance_table.png"&gt;&lt;/p&gt;

&lt;p&gt;For engineers working with larger or more complex worksheets, that kind of improvement changes the feel of the product.&lt;/p&gt;



&lt;p&gt;Maple Flow 2026 adds more ready-to-use examples to the Application Gallery, including a new Semiconductor section.&lt;/p&gt;

&lt;p&gt;&lt;img src="/view.aspx?sf=235296_post/semiconductor.png"&gt;&lt;br&gt;
The gallery now includes worksheets semiconductor oxide growth, heat sink sizing, cylindrical fin heat transfer, NMOS threshold voltage, MOSFET power loss, photolithography scanner limits and boron implantation stability.&lt;/p&gt;



&lt;p&gt;Maple Flow 2026 also improves everyday interoperability with Excel. You can now paste more types of data from Excel into Maple Flow, including data formatted as percentages.&lt;/p&gt;

&lt;p&gt;It is a small feature with a practical benefit: less cleanup, fewer interruptions and a smoother path from spreadsheet data to engineering calculation.&lt;/p&gt;



&lt;p&gt;The most important thing about Maple Flow 2026 is not any single feature - it is the direction of travel. Engineering work is becoming more connected. Calculations are moving between spreadsheets, scripts, AI coding assistants, design tools and formal documentation.&lt;/p&gt;

&lt;p&gt;Maple Flow gives those calculations a place where the math is visible, the structure is clear and the result is ready to share.&lt;/p&gt;

&lt;p&gt;So yes, Maple Flow 2026 includes new features. But the bigger story is this: engineers can now move more of their existing work out of hidden logic and into auditable worksheets that communicate the engineering.&lt;/p&gt;

&lt;p&gt;Explore the new features, try the examples and experiment with generating worksheets using AI coding assistants. &lt;a href="https://www.maplesoft.com/products/mapleflow/"&gt;Grab a trial here&lt;/a&gt;.&lt;/p&gt;
</itunes:summary>
      <description>&lt;p&gt;We&amp;rsquo;ve just launched Maple Flow 2026. And yes, the title of this post doesn&amp;rsquo;t follow the standard formula for a &amp;ldquo;new version, new features&amp;rdquo; announcement.&lt;/p&gt;

&lt;p&gt;But this is not only a post about a new version number and new features.&lt;/p&gt;

&lt;p&gt;It is about a problem engineers know too well: important calculations trapped inside spreadsheets, scripts and old project files - visible only as cell references, code fragments and hidden logic.&lt;/p&gt;

&lt;p&gt;That might be fine when the calculation is being built. It is not fine when the calculation must be reviewed, reused, defended, audited or handed to another engineer.&lt;/p&gt;

&lt;p&gt;Maple Flow is built around a simple idea: engineering calculations should be readable, structured, auditable and easy to share.&lt;/p&gt;

&lt;p&gt;The new release gives engineers better ways to create those calculations, bring existing work into Maple Flow, and turn legacy material into documentation that actually explains the engineering.&lt;/p&gt;

&lt;h2&gt;Build Maple Flow worksheets with AI coding assistants&lt;/h2&gt;

&lt;p&gt;You can now generate Maple Flow worksheets using tools like Codex or Claude Code.&amp;nbsp;This makes it easier to transform ideas into structured technical analyses and turn existing calculations into clear, auditable engineering documents.&lt;/p&gt;

&lt;p&gt;Here are a few ways to use this new integration,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rescue calculations from spreadsheets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Many engineering teams have years - sometimes decades - of calculations sitting in Excel. Those spreadsheets often contain real engineering value, but the logic is fragmented across cells, sheets and references.&lt;/p&gt;

&lt;p&gt;Manually translating all that work into a clearer format can feel like too much effort to even start.&lt;/p&gt;

&lt;p&gt;With Maple Flow 2026 and an AI coding assistant such as Codex or Claude Code, you can use a simple instruction like:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;em&gt;Convert this Excel spreadsheet to a Maple Flow worksheet&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The AI coding assistant then helps transform spreadsheet logic into a structured Maple Flow worksheet with natural 2D math, clearer variable names and calculations that are visible on the page.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235296_post/Excel_to_Flow_2.png" style="height: 672px; width: 500px;"&gt;&lt;/p&gt;

&lt;p&gt;This is not just file conversion. It is a way to expose the engineering intent hidden inside legacy spreadsheets and make that work easier to understand, extend and review.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generate engineering worksheets from a prompt&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The same AI-assisted workflow can also help create a new Maple Flow worksheet from a natural language prompt.&lt;/p&gt;

&lt;p&gt;Ask for a design calculation, describe the engineering context, specify the assumptions and ask for supporting text, equations, plots or diagrams. The result can be a worksheet that already contains readable math, explanations and visual context.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235296_post/pedestrian_footbridge_2.png"&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong data-end="427" data-start="392"&gt;Stop hiding math in scripts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Maple Flow 2026 also opens up a practical path for moving useful work out of scripts and into worksheets that communicate the engineering more clearly.&lt;/p&gt;

&lt;p&gt;For example, a Matlab script built around low-level loops, switch/case logic and numerical iteration can be translated into a Maple Flow worksheet that uses higher-level mathematical constructs.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235296_post/matlab.png" style="height: 688px; width: 600px;"&gt;&lt;/p&gt;

&lt;p&gt;In one example, a crude while-loop numerical solver became an fsolve call, and switch/case logic became a much more readable piecewise expression.&lt;/p&gt;

&lt;p&gt;The point is not simply to change syntax. It is to move from code that performs a calculation to a worksheet that explains the calculation.&lt;/p&gt;

&lt;p&gt;I&amp;#39;ve outlined a few ideas that demonstrate how you can use AI coding assistants to generate Maple Flow worksheets. There&amp;#39;s &lt;strong&gt;much&lt;/strong&gt; more you can do.&lt;/p&gt;

&lt;p&gt;Of course, this functionality is subject to the same disclaimers as any other AI-generated content:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Worksheets are generated by and subject to the limitations of your AI model&lt;/li&gt;
	&lt;li&gt;your mileage may vary&lt;/li&gt;
	&lt;li&gt;and you absolutely need a (human)&amp;nbsp;expert in the loop to check the output.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But as a starting point, this workflow is seriously powerful.&lt;/p&gt;

&lt;p&gt;Set up your AI coding assistant to generate Maple Flow worksheets with the instructions &lt;a href="https://www.maplesoft.com/products/MapleFlow/AI-Coding-Assistants/index.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Programming in the worksheet&lt;/h2&gt;

&lt;p&gt;Maple Flow 2026 introduces in-worksheet programming, so you can write programs and scripts directly on the canvas and execute them inline with the rest of your worksheet.&lt;/p&gt;

&lt;p&gt;You can enter programs with the keyboard or use the new Programming palette, which inserts common templates such as loops and if/else blocks with the right structure and indentation.&lt;/p&gt;

&lt;p&gt;&lt;img src="/view.aspx?sf=235296_post/Inline.gif"&gt;&lt;/p&gt;

&lt;p&gt;Productivity features help keep the program readable:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;automatic closing of procedures, loops and conditionals after the opening line is entered&lt;/li&gt;
	&lt;li&gt;intelligent insertion of statement separators when appropriate&lt;/li&gt;
	&lt;li&gt;automatic indentation to preserve structure and readability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The existing Code Editor remains the right place for larger scripts. In-worksheet programming is for the logic you want to sit directly beside the math, text and results.&lt;/p&gt;

&lt;h2&gt;A smoother move for Mathcad users&lt;/h2&gt;

&lt;p&gt;The Mathcad Migration Assistant has also been updated. It now translates much of the content of Mathcad Prime files into Maple Flow format, in addition to the existing support for Mathcad 13, 14 and 15.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235296_post/Mathcad_to_Maple_Flow_modern_v4_monospaced-result.png"&gt;&lt;br&gt;
Because Maple Flow 2026 now supports in-worksheet programming, the updated Migration Assistant also translates Mathcad programs.&lt;/p&gt;

&lt;p&gt;For Mathcad thinking about moving to Maple Flow, the update makes migration faster and more practical. Existing work moves over with more of the structure and intent preserved.&lt;/p&gt;

&lt;h2&gt;Faster performance where it matters&lt;/h2&gt;

&lt;p&gt;Worksheets now compute faster! The results depend on the specific calculations, but the improvements can be very noticable - these are selected results from our internal benchmarking suite&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235296_post/performance_table.png"&gt;&lt;/p&gt;

&lt;p&gt;For engineers working with larger or more complex worksheets, that kind of improvement changes the feel of the product.&lt;/p&gt;

&lt;h2&gt;More examples, including semiconductors&lt;/h2&gt;

&lt;p&gt;Maple Flow 2026 adds more ready-to-use examples to the Application Gallery, including a new Semiconductor section.&lt;/p&gt;

&lt;p&gt;&lt;img src="/view.aspx?sf=235296_post/semiconductor.png"&gt;&lt;br&gt;
The gallery now includes worksheets semiconductor oxide growth, heat sink sizing, cylindrical fin heat transfer, NMOS threshold voltage, MOSFET power loss, photolithography scanner limits and boron implantation stability.&lt;/p&gt;

&lt;h2&gt;Improved pasting from excel&lt;/h2&gt;

&lt;p&gt;Maple Flow 2026 also improves everyday interoperability with Excel. You can now paste more types of data from Excel into Maple Flow, including data formatted as percentages.&lt;/p&gt;

&lt;p&gt;It is a small feature with a practical benefit: less cleanup, fewer interruptions and a smoother path from spreadsheet data to engineering calculation.&lt;/p&gt;

&lt;h2&gt;Why this release matters&lt;/h2&gt;

&lt;p&gt;The most important thing about Maple Flow 2026 is not any single feature - it is the direction of travel. Engineering work is becoming more connected. Calculations are moving between spreadsheets, scripts, AI coding assistants, design tools and formal documentation.&lt;/p&gt;

&lt;p&gt;Maple Flow gives those calculations a place where the math is visible, the structure is clear and the result is ready to share.&lt;/p&gt;

&lt;p&gt;So yes, Maple Flow 2026 includes new features. But the bigger story is this: engineers can now move more of their existing work out of hidden logic and into auditable worksheets that communicate the engineering.&lt;/p&gt;

&lt;p&gt;Explore the new features, try the examples and experiment with generating worksheets using AI coding assistants. &lt;a href="https://www.maplesoft.com/products/mapleflow/"&gt;Grab a trial here&lt;/a&gt;.&lt;/p&gt;
</description>
      <guid>235296</guid>
      <pubDate>Thu, 23 Jul 2026 19:37:05 Z</pubDate>
      <itunes:author>Samir Khan</itunes:author>
      <author>Samir Khan</author>
    </item>
    <item>
      <title>Creating Pi from a Single Binary Operator and the Constant 1</title>
      <link>http://www.mapleprimes.com/posts/235284-Creating-Pi-From-A-Single-Binary-Operator?ref=Feed:MaplePrimes:New Posts</link>
      <itunes:summary>&lt;p&gt;Today is Pi approximation day (22/7) and I will use that as an excuse to share my new favourite expression for Pi:&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/PiExpression.png"&gt;&lt;/p&gt;

&lt;p&gt;And this isn&amp;#39;t even an approximation! Recently, continuous mathematics has found its own equivalent to the digital hardware NAND gate. In his paper &amp;ldquo;&lt;a href="https://arxiv.org/html/2603.21852v2"&gt;All elementary functions from a single binary operator&lt;/a&gt;&amp;rdquo;, Andrzej Odrzywołek demonstrated that a single functional primitive can generate the entire standard continuous spectrum of operations. In other words, every single button on a scientific calculator, from addition and subtraction to sines, cosines, and logarithms, can be built using just this one function.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://maple.cloud/app/4847250819121152/EML+Binary+Operator?key=EC0A6CB990E4415799E7BB356647BD3CACEC601E2AFB460CB8765CA1FA8245B4"&gt;This Maple Worksheet&lt;/a&gt;&amp;nbsp;explores how the &amp;#39;Exp-Minus-Log&amp;#39; (&amp;quot;&lt;em&gt;EML&lt;/em&gt;&amp;quot;) operator, when paired solely with the constant 1, can be systematically nested to construct basic arithmetic, constants, and complex transcendental functions within Maple.&lt;/p&gt;

&lt;p&gt;In essence, he discovered that the binary operator &lt;em&gt;EML&lt;/em&gt;, along with the constant 1,&amp;nbsp;forms a basis for the set of standard scientific-calculator operations.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLdefn.png"&gt;&lt;/p&gt;

&lt;p&gt;This means that functions like&amp;nbsp;&lt;img alt="sin(x)" src="http://www.mapleprimes.com/MapleImage.ashx?f=ef66512584adc59485307b5629f5b64c.gif"&gt;,&amp;nbsp;&lt;img alt="cos(x)" src="http://www.mapleprimes.com/MapleImage.ashx?f=f8c493ecfadb5e97ac0421a680407ca4.gif"&gt;&amp;nbsp;and operations like&amp;nbsp;&lt;img alt="a-b" src="http://www.mapleprimes.com/MapleImage.ashx?f=d19d9139d0411da9576bd7c5c6b209bd.gif"&gt;&amp;nbsp;or&amp;nbsp;&lt;img alt="a^b" src="http://www.mapleprimes.com/MapleImage.ashx?f=a8c17c79c10253dc017d188f90ef9b09.gif"&gt;&amp;nbsp;can be creating by composing&amp;nbsp;&lt;em&gt;EML&lt;/em&gt;&amp;nbsp;with itself in clever ways. Some constants and functions are trivial to represent, such as&amp;nbsp;&lt;em&gt;EML(1,1) = e&lt;/em&gt;&amp;nbsp;or&amp;nbsp;&lt;em&gt;EML(x, 1) = exp(x)&lt;/em&gt;, others however, are not...&lt;/p&gt;

&lt;p&gt;With a quick one-command tweak, you can get Maple to use the property of the extended reals that&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/lnProperty.png"&gt;&lt;/p&gt;

&lt;p&gt;And then with a simple argument about standard branches, you can construct the natural logarithm for real numbers, which immediately leads the constant zero:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLln.png"&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;You can then expand the tools in your toolbox by creating subtraction with EML, ln(x), and exp(x)&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLsub.png"&gt;&lt;/p&gt;

&lt;p&gt;Which then expands the toolbox further by allowing for the construction unary minus from the constant 0 (since -x = 0 - x), and then addition (since a+b=a-(-b))&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLadd.png"&gt;&lt;/p&gt;

&lt;p&gt;Since we&amp;#39;ve constructed addition, subtraction, zero and one, we can technically construct every integer! It would not be very pleasant, and by no means optimal... but you could! Here&amp;#39;s 7 for example:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EML7.png"&gt;&lt;/p&gt;

&lt;p&gt;The next step to building all the standard functions is multiplication and inversion. And these use the classic trick by using the fact that x=exp(ln(x)) can help simplify:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLmult.png"&gt;&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLinv.png"&gt;&lt;/p&gt;

&lt;p&gt;These are compositions of exp, addition, ln, and unary minus (all functions constructed previously), which means they can be made with only EML:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLmultinvdefn.png"&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;It&amp;#39;s at this point that I will leave the derivation of division (a/b) and exponentiation (a^b) as exercises for the reader, so I can skip to something a little more&amp;nbsp;&lt;em&gt;complex...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;To go beyond the basic operators, you&amp;#39;ll need to step into the complex domain by constructing the imaginary constant i. To do this, take ln(-1) = -i*Pi (by using the standard branch) and combine it with Euler&amp;#39;s formula&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLi.png"&gt;&lt;/p&gt;

&lt;p&gt;And once again the expression on the left-hand side is made up of operations that were all previously defined, so you can compose EML to get a new constant:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLidefn.png"&gt;&lt;/p&gt;

&lt;p&gt;And finally, it&amp;#39;s possible to break down the expression for Pi from the start, since it&amp;#39;s the product i*ln(-1)&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLpi2.png"&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;By successfully extracting the mathematical constants i and Pi, I think this demonstrates the complete constructive capability of the EML&amp;nbsp;operator in the complex domain. While the resulting syntax trees become exponentially deep and unoptimized for human readability, they prove that continuous operations do not require a massive, distinct toolbox. Future applications of this uniform binary structure could dramatically simplify symbolic regression and machine learning optimization models.&amp;nbsp;&lt;br&gt;
Ultimately, the EML operator reveals the remarkable truth that the vast complexity of scientific mathematics can be distilled down to a single, beautiful building block.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
Isn&amp;#39;t math awesome?&lt;/p&gt;
</itunes:summary>
      <description>&lt;p&gt;Today is Pi approximation day (22/7) and I will use that as an excuse to share my new favourite expression for Pi:&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/PiExpression.png"&gt;&lt;/p&gt;

&lt;p&gt;And this isn&amp;#39;t even an approximation! Recently, continuous mathematics has found its own equivalent to the digital hardware NAND gate. In his paper &amp;ldquo;&lt;a href="https://arxiv.org/html/2603.21852v2"&gt;All elementary functions from a single binary operator&lt;/a&gt;&amp;rdquo;, Andrzej Odrzywołek demonstrated that a single functional primitive can generate the entire standard continuous spectrum of operations. In other words, every single button on a scientific calculator, from addition and subtraction to sines, cosines, and logarithms, can be built using just this one function.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://maple.cloud/app/4847250819121152/EML+Binary+Operator?key=EC0A6CB990E4415799E7BB356647BD3CACEC601E2AFB460CB8765CA1FA8245B4"&gt;This Maple Worksheet&lt;/a&gt;&amp;nbsp;explores how the &amp;#39;Exp-Minus-Log&amp;#39; (&amp;quot;&lt;em&gt;EML&lt;/em&gt;&amp;quot;) operator, when paired solely with the constant 1, can be systematically nested to construct basic arithmetic, constants, and complex transcendental functions within Maple.&lt;/p&gt;

&lt;p&gt;In essence, he discovered that the binary operator &lt;em&gt;EML&lt;/em&gt;, along with the constant 1,&amp;nbsp;forms a basis for the set of standard scientific-calculator operations.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLdefn.png"&gt;&lt;/p&gt;

&lt;p&gt;This means that functions like&amp;nbsp;&lt;img alt="sin(x)" src="http://www.mapleprimes.com/MapleImage.ashx?f=ef66512584adc59485307b5629f5b64c.gif"&gt;,&amp;nbsp;&lt;img alt="cos(x)" src="http://www.mapleprimes.com/MapleImage.ashx?f=f8c493ecfadb5e97ac0421a680407ca4.gif"&gt;&amp;nbsp;and operations like&amp;nbsp;&lt;img alt="a-b" src="http://www.mapleprimes.com/MapleImage.ashx?f=d19d9139d0411da9576bd7c5c6b209bd.gif"&gt;&amp;nbsp;or&amp;nbsp;&lt;img alt="a^b" src="http://www.mapleprimes.com/MapleImage.ashx?f=a8c17c79c10253dc017d188f90ef9b09.gif"&gt;&amp;nbsp;can be creating by composing&amp;nbsp;&lt;em&gt;EML&lt;/em&gt;&amp;nbsp;with itself in clever ways. Some constants and functions are trivial to represent, such as&amp;nbsp;&lt;em&gt;EML(1,1) = e&lt;/em&gt;&amp;nbsp;or&amp;nbsp;&lt;em&gt;EML(x, 1) = exp(x)&lt;/em&gt;, others however, are not...&lt;/p&gt;

&lt;p&gt;With a quick one-command tweak, you can get Maple to use the property of the extended reals that&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/lnProperty.png"&gt;&lt;/p&gt;

&lt;p&gt;And then with a simple argument about standard branches, you can construct the natural logarithm for real numbers, which immediately leads the constant zero:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLln.png"&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;You can then expand the tools in your toolbox by creating subtraction with EML, ln(x), and exp(x)&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLsub.png"&gt;&lt;/p&gt;

&lt;p&gt;Which then expands the toolbox further by allowing for the construction unary minus from the constant 0 (since -x = 0 - x), and then addition (since a+b=a-(-b))&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLadd.png"&gt;&lt;/p&gt;

&lt;p&gt;Since we&amp;#39;ve constructed addition, subtraction, zero and one, we can technically construct every integer! It would not be very pleasant, and by no means optimal... but you could! Here&amp;#39;s 7 for example:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EML7.png"&gt;&lt;/p&gt;

&lt;p&gt;The next step to building all the standard functions is multiplication and inversion. And these use the classic trick by using the fact that x=exp(ln(x)) can help simplify:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLmult.png"&gt;&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLinv.png"&gt;&lt;/p&gt;

&lt;p&gt;These are compositions of exp, addition, ln, and unary minus (all functions constructed previously), which means they can be made with only EML:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLmultinvdefn.png"&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;It&amp;#39;s at this point that I will leave the derivation of division (a/b) and exponentiation (a^b) as exercises for the reader, so I can skip to something a little more&amp;nbsp;&lt;em&gt;complex...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;To go beyond the basic operators, you&amp;#39;ll need to step into the complex domain by constructing the imaginary constant i. To do this, take ln(-1) = -i*Pi (by using the standard branch) and combine it with Euler&amp;#39;s formula&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLi.png"&gt;&lt;/p&gt;

&lt;p&gt;And once again the expression on the left-hand side is made up of operations that were all previously defined, so you can compose EML to get a new constant:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLidefn.png"&gt;&lt;/p&gt;

&lt;p&gt;And finally, it&amp;#39;s possible to break down the expression for Pi from the start, since it&amp;#39;s the product i*ln(-1)&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img src="/view.aspx?sf=235284_post/EMLpi2.png"&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;By successfully extracting the mathematical constants i and Pi, I think this demonstrates the complete constructive capability of the EML&amp;nbsp;operator in the complex domain. While the resulting syntax trees become exponentially deep and unoptimized for human readability, they prove that continuous operations do not require a massive, distinct toolbox. Future applications of this uniform binary structure could dramatically simplify symbolic regression and machine learning optimization models.&amp;nbsp;&lt;br&gt;
Ultimately, the EML operator reveals the remarkable truth that the vast complexity of scientific mathematics can be distilled down to a single, beautiful building block.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
Isn&amp;#39;t math awesome?&lt;/p&gt;
</description>
      <guid>235284</guid>
      <pubDate>Wed, 22 Jul 2026 22:27:36 Z</pubDate>
      <itunes:author>mcarvalho</itunes:author>
      <author>mcarvalho</author>
    </item>
    <item>
      <title>Matt&amp;#39;s example of an arithmetic progression</title>
      <link>http://www.mapleprimes.com/posts/235179-Matt39s-Example-Of-An-Arithmetic-Progression?ref=Feed:MaplePrimes:New Posts</link>
      <itunes:summary>&lt;p&gt;Hi Maple community, and all,&lt;br&gt;
an arbitrary arithmetic progression, with starting value , s,&amp;nbsp;&lt;/p&gt;

&lt;p&gt;and increasing by &amp;quot;a&amp;quot;, where &amp;quot;a&amp;quot; is the value to add, every time,&lt;br&gt;
so&lt;br&gt;
{Arithmetic Progression} is found by calculating&lt;br&gt;
s+a*index&lt;/p&gt;

&lt;p&gt;where index is a running index&amp;nbsp;&lt;br&gt;
see attached&lt;br&gt;
&lt;a href="/view.aspx?sf=235179_post/arithmetic_progression_with_1_and_8.mw"&gt;arithmetic_progression_with_1_and_8.mw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="/view.aspx?sf=235179_post/arithmetic_progression_with_1_and_8.mw"&gt;arithmetic_progression_with_1_and_8.mw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;hopefully, that is useful, as an example, of an arithmetic progression.&lt;/p&gt;

&lt;p&gt;Regards,&lt;br&gt;
Matt&lt;/p&gt;
</itunes:summary>
      <description>&lt;p&gt;Hi Maple community, and all,&lt;br&gt;
an arbitrary arithmetic progression, with starting value , s,&amp;nbsp;&lt;/p&gt;

&lt;p&gt;and increasing by &amp;quot;a&amp;quot;, where &amp;quot;a&amp;quot; is the value to add, every time,&lt;br&gt;
so&lt;br&gt;
{Arithmetic Progression} is found by calculating&lt;br&gt;
s+a*index&lt;/p&gt;

&lt;p&gt;where index is a running index&amp;nbsp;&lt;br&gt;
see attached&lt;br&gt;
&lt;a href="/view.aspx?sf=235179_post/arithmetic_progression_with_1_and_8.mw"&gt;arithmetic_progression_with_1_and_8.mw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="/view.aspx?sf=235179_post/arithmetic_progression_with_1_and_8.mw"&gt;arithmetic_progression_with_1_and_8.mw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;hopefully, that is useful, as an example, of an arithmetic progression.&lt;/p&gt;

&lt;p&gt;Regards,&lt;br&gt;
Matt&lt;/p&gt;
</description>
      <guid>235179</guid>
      <pubDate>Wed, 08 Jul 2026 06:42:49 Z</pubDate>
      <itunes:author>Mister_Matthew_abc</itunes:author>
      <author>Mister_Matthew_abc</author>
    </item>
    <item>
      <title>Exploring the Math Behind the FIFA 2026 Trionda Ball</title>
      <link>http://www.mapleprimes.com/posts/235168-Exploring-The-Math-Behind-The-FIFA-2026?ref=Feed:MaplePrimes:New Posts</link>
      <itunes:summary>&lt;p&gt;Every four years, the world comes together to watch one of the most anticipated sporting events in history: the FIFA World Cup.&lt;/p&gt;

&lt;p&gt;Behind all the anticipation, venue planning, and media fanfare, there are many artists and researchers who devote themselves to designing a new FIFA World Cup ball to be rolled out for the public eye (pun intended).&lt;/p&gt;

&lt;p&gt;This post presents an overview of the geometric ideas behind the design of the FIFA 2026 &amp;quot;Trionda&amp;quot; ball, using Maple to visualize and explore these concepts in depth. The ideas presented here were inspired by this &lt;a href="https://www.scientificamerican.com/article/the-surprising-math-and-physics-behind-the-2026-trionda-world-cup-soccer-ball/"&gt;Scientific American Article&lt;/a&gt;. For more information and facts about the 2026 Trionda ball, as well how the shape of the ball impacts play on the pitch, I suggest you check it out!&lt;/p&gt;

&lt;p&gt;FIFA ball designs are often inspired by one of the 5 Platonic solids. A Platonic solid is a convex polyhedron with each face being the same regular polygon with the same number of faces meeting at each corner.&lt;/p&gt;

&lt;p&gt;This year, the Trionda ball was constructed from the simplest of these shapes, the tetrahedron, consisting of 4 triangles, with 3 faces meeting at each corner. Of the five Platonic solids, this shape has the fewest faces, making it the least sphere-like. Turning such a simple polyhedron into a smooth ball is therefore a surprisingly challenging geometric problem.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;img src="/view.aspx?sf=235168_post/Screenshot_2026-07-02_132656.png"&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;So how can we turn our pointy tetrahedron into something that rolls? Rather than trying to transform the entire tetrahedron at once, we can start by redesigning a single triangular face. The goal is to create a curved triangle that will fit perfectly with three identical copies of itself while covering the surface of a sphere.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&amp;nbsp; &lt;img src="/view.aspx?sf=235168_post/Screenshot_2026-07-02_132722.png"&gt;&lt;img src="/view.aspx?sf=235168_post/Screenshot_2026-07-02_132735.png"&gt;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;Notice that in the above diagrams, the transformed triangle has the same area as the original triangle. Although the edges have been reshaped, no area is added or removed, only redistributed. Preserving the area ensures that four identical curved panels can still cover the sphere completely without leaving gaps or overlapping.&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;Now that we know how to change one face of the tetrahedron, we need to perform the same sort of transformation (from a triangle to a curved tile), on the surface of a sphere. To start, we can inscribe the tetrahedron inside the sphere, like this:&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&lt;img src="/view.aspx?sf=235168_post/Screenshot_2026-07-03_094239.png"&gt;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;From here, we can project the edges of the tetrahedron onto the sphere, creating six great-circle-arcs (also known as geodesics) as shown in the diagram below.&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&lt;img src="/view.aspx?sf=235168_post/Screenshot_2026-06-29_161920.png"&gt;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;Each region enclosed by these geodesics corresponds to one triangular face of the tetrahedron within the sphere. By transforming each geodesic triangle into a smooth curved tile (using a bit of AI help), we create a tiling of the surface similar to that of the 2026 FIFA World Cup ball!&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&lt;img src="/view.aspx?sf=235168_post/fifa_final_ball_animation.gif"&gt;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;Because each curved tile maintains the area of the geodesic-generated region, the four panels form a complete tiling of the sphere.&amp;nbsp;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;I would have liked to find a better function between the points on the sphere that resemble the actual Trionda ball more accurately but didn&amp;#39;t get the chance to dive into that. If you want to take on the challenge and are successful, please reply in the comments.&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;To see the Maple Worksheet used to generate these diagrams, check out: &lt;a href="https://maple.cloud/app/4849099601215488/Trionda+Ball?key=4A127666810F4C6ABD82F77AF97F461ED90E5515B3C4482B8FEFC2A26368EADA"&gt;Trionda Ball Worksheet&lt;/a&gt;&lt;/div&gt;
</itunes:summary>
      <description>&lt;p&gt;Every four years, the world comes together to watch one of the most anticipated sporting events in history: the FIFA World Cup.&lt;/p&gt;

&lt;p&gt;Behind all the anticipation, venue planning, and media fanfare, there are many artists and researchers who devote themselves to designing a new FIFA World Cup ball to be rolled out for the public eye (pun intended).&lt;/p&gt;

&lt;p&gt;This post presents an overview of the geometric ideas behind the design of the FIFA 2026 &amp;quot;Trionda&amp;quot; ball, using Maple to visualize and explore these concepts in depth. The ideas presented here were inspired by this &lt;a href="https://www.scientificamerican.com/article/the-surprising-math-and-physics-behind-the-2026-trionda-world-cup-soccer-ball/"&gt;Scientific American Article&lt;/a&gt;. For more information and facts about the 2026 Trionda ball, as well how the shape of the ball impacts play on the pitch, I suggest you check it out!&lt;/p&gt;

&lt;p&gt;FIFA ball designs are often inspired by one of the 5 Platonic solids. A Platonic solid is a convex polyhedron with each face being the same regular polygon with the same number of faces meeting at each corner.&lt;/p&gt;

&lt;p&gt;This year, the Trionda ball was constructed from the simplest of these shapes, the tetrahedron, consisting of 4 triangles, with 3 faces meeting at each corner. Of the five Platonic solids, this shape has the fewest faces, making it the least sphere-like. Turning such a simple polyhedron into a smooth ball is therefore a surprisingly challenging geometric problem.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;img src="/view.aspx?sf=235168_post/Screenshot_2026-07-02_132656.png"&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;So how can we turn our pointy tetrahedron into something that rolls? Rather than trying to transform the entire tetrahedron at once, we can start by redesigning a single triangular face. The goal is to create a curved triangle that will fit perfectly with three identical copies of itself while covering the surface of a sphere.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&amp;nbsp; &lt;img src="/view.aspx?sf=235168_post/Screenshot_2026-07-02_132722.png"&gt;&lt;img src="/view.aspx?sf=235168_post/Screenshot_2026-07-02_132735.png"&gt;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;Notice that in the above diagrams, the transformed triangle has the same area as the original triangle. Although the edges have been reshaped, no area is added or removed, only redistributed. Preserving the area ensures that four identical curved panels can still cover the sphere completely without leaving gaps or overlapping.&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;Now that we know how to change one face of the tetrahedron, we need to perform the same sort of transformation (from a triangle to a curved tile), on the surface of a sphere. To start, we can inscribe the tetrahedron inside the sphere, like this:&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&lt;img src="/view.aspx?sf=235168_post/Screenshot_2026-07-03_094239.png"&gt;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;From here, we can project the edges of the tetrahedron onto the sphere, creating six great-circle-arcs (also known as geodesics) as shown in the diagram below.&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&lt;img src="/view.aspx?sf=235168_post/Screenshot_2026-06-29_161920.png"&gt;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;Each region enclosed by these geodesics corresponds to one triangular face of the tetrahedron within the sphere. By transforming each geodesic triangle into a smooth curved tile (using a bit of AI help), we create a tiling of the surface similar to that of the 2026 FIFA World Cup ball!&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&lt;img src="/view.aspx?sf=235168_post/fifa_final_ball_animation.gif"&gt;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;Because each curved tile maintains the area of the geodesic-generated region, the four panels form a complete tiling of the sphere.&amp;nbsp;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;I would have liked to find a better function between the points on the sphere that resemble the actual Trionda ball more accurately but didn&amp;#39;t get the chance to dive into that. If you want to take on the challenge and are successful, please reply in the comments.&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div class="pointer-events-none fixed inset-x-0 top-0 z-50 mt-4 flex justify-center select-none not-has-focus-visible:sr-only"&gt;To see the Maple Worksheet used to generate these diagrams, check out: &lt;a href="https://maple.cloud/app/4849099601215488/Trionda+Ball?key=4A127666810F4C6ABD82F77AF97F461ED90E5515B3C4482B8FEFC2A26368EADA"&gt;Trionda Ball Worksheet&lt;/a&gt;&lt;/div&gt;
</description>
      <guid>235168</guid>
      <pubDate>Mon, 06 Jul 2026 19:28:42 Z</pubDate>
    </item>
    <item>
      <title>Fermat sequence and similar sequences</title>
      <link>http://www.mapleprimes.com/posts/235152-Fermat-Sequence-And-Similar-Sequences?ref=Feed:MaplePrimes:New Posts</link>
      <itunes:summary>&lt;p&gt;Hi Maple community and others,&lt;/p&gt;

&lt;p&gt;I&amp;#39;m very proud to present my code.&lt;/p&gt;

&lt;p&gt;Sequences are fun,&lt;br&gt;
for those who know, about them&lt;/p&gt;

&lt;p&gt;consider Fermat numbers, of the form,&lt;br&gt;
F(n) = (2^(2^n)) + 1.&lt;br&gt;
goes like&lt;/p&gt;

&lt;p&gt;3, 5, 17, 257, 65537, 4294967297, 18446744073709551617,&amp;nbsp;&lt;br&gt;
340282366920938463463374607431768211457, ...&lt;/p&gt;

&lt;p&gt;in oeis.org database at&lt;br&gt;
https://oeis.org/A000215 .&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
Similarly we can have base 3,&lt;/p&gt;

&lt;p&gt;B(a) = (3^(3^a)) + 1.&lt;br&gt;
goes like, this,&lt;br&gt;
4,28,19684, ...&lt;br&gt;
online, in database, with Universal Resource Location (URL)&lt;br&gt;
https://oeis.org/A129290&lt;/p&gt;

&lt;p&gt;There could also be base 4, that grows even faster&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href="/view.aspx?sf=235152_post/double_exponential_2_and_3_and_4.mw"&gt;double_exponential_2_and_3_and_4.mw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is all that I have, for now.&lt;/p&gt;

&lt;p&gt;Thank you for this free forum.&lt;br&gt;
regards,&lt;br&gt;
Matt&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</itunes:summary>
      <description>&lt;p&gt;Hi Maple community and others,&lt;/p&gt;

&lt;p&gt;I&amp;#39;m very proud to present my code.&lt;/p&gt;

&lt;p&gt;Sequences are fun,&lt;br&gt;
for those who know, about them&lt;/p&gt;

&lt;p&gt;consider Fermat numbers, of the form,&lt;br&gt;
F(n) = (2^(2^n)) + 1.&lt;br&gt;
goes like&lt;/p&gt;

&lt;p&gt;3, 5, 17, 257, 65537, 4294967297, 18446744073709551617,&amp;nbsp;&lt;br&gt;
340282366920938463463374607431768211457, ...&lt;/p&gt;

&lt;p&gt;in oeis.org database at&lt;br&gt;
https://oeis.org/A000215 .&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
Similarly we can have base 3,&lt;/p&gt;

&lt;p&gt;B(a) = (3^(3^a)) + 1.&lt;br&gt;
goes like, this,&lt;br&gt;
4,28,19684, ...&lt;br&gt;
online, in database, with Universal Resource Location (URL)&lt;br&gt;
https://oeis.org/A129290&lt;/p&gt;

&lt;p&gt;There could also be base 4, that grows even faster&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href="/view.aspx?sf=235152_post/double_exponential_2_and_3_and_4.mw"&gt;double_exponential_2_and_3_and_4.mw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is all that I have, for now.&lt;/p&gt;

&lt;p&gt;Thank you for this free forum.&lt;br&gt;
regards,&lt;br&gt;
Matt&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
      <guid>235152</guid>
      <pubDate>Fri, 03 Jul 2026 15:56:05 Z</pubDate>
      <itunes:author>Mister_Matthew_abc</itunes:author>
      <author>Mister_Matthew_abc</author>
    </item>
  </channel>
</rss>