<div dir="ltr">In celebration of my new found understanding of the Kronecker operator and FFTs with Laplacians, I asked GPT's help to pen some verse as a bard might for a court :-)<br><br>For context, a couple weeks ago, Frank gave me a ride to Friam with my volvo in the shop. this week I returned his coffee mug he left Here comes the metaphor, consider our iterated events of pairwise actions in friendship as a cyclic block matrix and our interactions with you adding the diagonal and the full tapestry/matrix of our community the Kronecker tiling ;-) Here's the result<br><br><font face="garamond, times new roman, serif" size="4">On Kronecker's Loom: Tapestry<br><br>Weeks ago, Stephen's Volvo under repair,<br>Frank's BMW arrived, a a lift to share,<br>horizontal row as thread in friendship,<br>Begins the weave tales of minds entwined <br><br>Todays mug with logo returned, a vertical thread, a column sewn,<br>With knowledge and random chatter they create,<br>The tapestry of ideas, together grown,<br>In loom of thought, friendships elevate.<br><br></font><span style="font-family:garamond,"times new roman",serif;font-size:large">Ed joins the</span> <font face="garamond, times new roman, serif" size="4">Diagonal, the knowledge grows,<br>With Frank, a formal language bond they know,<br>Symbolic language, to Stephen once opaque,<br>Now grasped, the power of the operator in hand.<br><br>In past, with clumsy nested loops, Stephen worked,<br>Yet, newfound insight in linear algebra gained,<br>C = np.kron(A, B) the operator, unshirked,<br>Through friendships forged, knowledge unrestrained.<br><br>Ideas exchanged, insights embraced,<br>Connections formed, in wisdom traced,<br>A realm of learning, friendships laced,<br>Block matrices, the foundation laid.<br><br>In Kronecker's touch, a pattern forms,<br>Integrating all the pairwise friendships made,<br>Their union, a dance that transforms,<br>The tapestry of knowledge, unswayed.</font><br><br><br><br><br clear="all"><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr">_______________________________________________________________________<br><a href="mailto:stephen.guerin@simtable.com" target="_blank">Stephen.Guerin@Simtable.com</a><div>CEO, <a href="http://www.simtable.com/" target="_blank">https://www.simtable.com</a><br><div>1600 Lena St #D1, Santa Fe, NM 87505<div><div>office: (505)995-0206 <span style="font-size:12.8px">mobile: (505)577-5828</span></div><div></div></div></div></div></div></div></div></div></div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>From: <strong class="gmail_sendername" dir="auto">Stephen Guerin</strong> <span dir="auto"><<a href="mailto:stephen.guerin@simtable.com" target="_blank">stephen.guerin@simtable.com</a>></span><br>Date: Fri, May 5, 2023 at 2:31 PM<br>Subject: Re: [FRIAM] links for this morning's FRIAM: Special Unitary Groups and Quaternions<br>To: The Friday Morning Applied Complexity Coffee Group <<a href="mailto:friam@redfish.com" target="_blank">friam@redfish.com</a>><br></div><br><br><div dir="ltr">Thanks Roger and Ed!<br><br>I've spent some time with Ed and Frank discussing this and I've really filled in some gaps in my knowledge of parallel algorithms. eg, I knew how to solve n-body system with particle N^2/2 focus with some quadtree or octree optimizations to get from n^2 to nlog(n). But the FFT transform on laplacians solving Poisson equation was new to me and I can now see the beauty. Today, Ed quickly threw out the Kronecker Operator/Product which Frank knew but I didn't. Frank flashed me a <a href="https://en.wikipedia.org/wiki/Kronecker_product" target="_blank">wikipedia article</a> on his phone with symbolics that I couldn't immediately grok. But asking chatGPT to explain the operator to a 3D graphics person I immediately got it and had the benefit that I would usually implement this function with two inner loops over rows and columnts instead of using Kronecker available in optimized linear algebra/graphics libraries. Often this was happening under the hood of my tools but didn't realize it.<br><br><font face="monospace">As a 3D graphics developer, understanding the Kronecker matrix can be very useful. The Kronecker product is often used in computer graphics and computer vision applications, such as texture mapping, geometric transformations, and image processing. Here are a few specific ways in which Kronecker matrix can be useful to a 3D graphics developer:<br></font><ol><li><font face="monospace">Texture mapping: The Kronecker product can be used to create repetitive patterns in textures, such as brick walls, tiles, or grass. By creating a base texture and applying a Kronecker product with a smaller texture, a developer can create a seamless and repeating texture that covers a larger surface.</font></li><li><font face="monospace">Geometric transformations: The Kronecker product can be used to perform geometric transformations, such as scaling, rotation, and translation, on 3D objects. By creating a Kronecker matrix with a transformation matrix, a developer can apply the transformation to every vertex of an object, resulting in a transformed object.</font></li><li><font face="monospace">Image processing: The Kronecker product can be used to perform image processing operations, such as blurring, sharpening, or edge detection, on 3D images. By creating a Kronecker matrix with a filter matrix, a developer can apply the filter to every pixel of an image, resulting in a processed image.</font></li></ol><font face="monospace">In summary, the Kronecker matrix is a powerful tool that can be used in various ways by 3D graphics developers. Whether it's creating textures, transforming objects, or processing images, understanding the Kronecker matrix can help a developer achieve their desired results more efficiently and effectively.<br><br><br></font><div><font face="monospace"><br></font><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr">_______________________________________________________________________<br><a href="mailto:stephen.guerin@simtable.com" target="_blank">Stephen.Guerin@Simtable.com</a><div>CEO, <a href="http://www.simtable.com/" target="_blank">https://www.simtable.com</a><br><div>1600 Lena St #D1, Santa Fe, NM 87505<div><div>office: (505)995-0206 <span style="font-size:12.8px">mobile: (505)577-5828</span></div><div></div></div></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 28, 2023 at 7:50 PM Angel Edward <<a href="mailto:edward.angel@gmail.com" target="_blank">edward.angel@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Most of my dissertation (1968) was on numerical solution of potential problems. One of the parts was a proof that some of the known iterative methods converged. The argument loosely went something like this. Consider the 2D Poisson equation on a square. If you use an N x N approximation with the usual discretization of the Laplacian<div><br></div><div>u_ij = (u_i(j-1) + u_i(j+1) + u_(i_1)j + i_(j+1))/4 </div><div><br></div><div>i.e, the average of the surrounding points, the problem reduces to the solution of a set of N^2 linear equations</div><div><br></div><div>Ax = b </div><div><br></div><div>where x in a vector of the unknown {u_ij} arranged by rows or columns, b is determined by the boundary conditions and the right side of the Poisson equation. The interesting part is A which is block tridiagonal. With only a small error A can be made block cyclic. You can then diagonalize A with a sine transform and I was able to use that for proofs.</div><div><br></div><div>A few years later when the FFT came about, we realized that we could use the FFT to do the sine transform and the resulting numerical method was as least as efficient as any other method people had come up with.</div><div><br></div><div>Ed</div><div><br></div><div>Here’s a reference from 1986 that I think was based on paper at a Bellman Continuum</div><div><br></div><div>``From Dynamic Programming to Fast Transforms,'' E. Angel, J. Math. Anal. Appl.,119,1986. </div><div><br></div><div>Ed<br><div>
<div>__________<br><br>Ed Angel<br><br>Founding Director, Art, Research, Technology and Science Laboratory (ARTS Lab)<br>Professor Emeritus of Computer Science, University of New Mexico<br><br>1017 Sierra Pinon<br>Santa Fe, NM 87501<br>505-984-0136 (home)<span style="white-space:pre-wrap">                </span> <span style="white-space:pre-wrap">      </span><a href="mailto:edward.angel@gmail.com" target="_blank">edward.angel@gmail.com</a><br>505-453-4944 (cell) <span style="white-space:pre-wrap">       </span><span style="white-space:pre-wrap">                        </span><a href="http://www.cs.unm.edu/~angel" target="_blank">http://www.cs.unm.edu/~angel</a><br></div>
</div>
<div><br><blockquote type="cite"><div>On Apr 28, 2023, at 8:18 AM, Stephen Guerin <<a href="mailto:stephen.guerin@simtable.com" target="_blank">stephen.guerin@simtable.com</a>> wrote:</div><br><div><div dir="ltr">Special Unitary Groups and Quaternions <br><br>Mostly for Ed from the context of last week's Physical Friam if you're coming today.<br><br>Discussion was around potential ways of visualizing the dynamics of SU(3), SU(2), (SU1) that highlights Special Unitary Groups. (<a href="https://en.wikipedia.org/wiki/Special_unitary_group" target="_blank">wiki link from Frank</a>), and can we foreground how quaternions are used in this process.<br><br>and a related bit on forces, I'm searching for ways to visualize/understand how <a href="https://www.codeproject.com/Articles/5308623/Solving-Poisson-Equation" target="_blank">FFTs with Poisson equation</a> are used to compute the forces from scalar fields (eg gravitational force from mass density, electric force from charge, etc) and if there's any relation to Special Unitary Groups.<br><div><br></div><div>-S</div></div>
-. --- - / ...- .- .-.. .. -.. / -- --- .-. ... . / -.-. --- -.. .<br>FRIAM Applied Complexity Group listserv<br>Fridays 9a-12p Friday St. Johns Cafe   /   Thursdays 9a-12p Zoom <a href="https://bit.ly/virtualfriam" target="_blank">https://bit.ly/virtualfriam</a><br>to (un)subscribe <a href="http://redfish.com/mailman/listinfo/friam_redfish.com" target="_blank">http://redfish.com/mailman/listinfo/friam_redfish.com</a><br>FRIAM-COMIC <a href="http://friam-comic.blogspot.com/" target="_blank">http://friam-comic.blogspot.com/</a><br>archives:  5/2017 thru present <a href="https://redfish.com/pipermail/friam_redfish.com/" target="_blank">https://redfish.com/pipermail/friam_redfish.com/</a><br>  1/2003 thru 6/2021  <a href="http://friam.383.s1.nabble.com/" target="_blank">http://friam.383.s1.nabble.com/</a><br></div></blockquote></div><br></div></div>-. --- - / ...- .- .-.. .. -.. / -- --- .-. ... . / -.-. --- -.. .<br>
FRIAM Applied Complexity Group listserv<br>
Fridays 9a-12p Friday St. Johns Cafe   /   Thursdays 9a-12p Zoom <a href="https://bit.ly/virtualfriam" rel="noreferrer" target="_blank">https://bit.ly/virtualfriam</a><br>
to (un)subscribe <a href="http://redfish.com/mailman/listinfo/friam_redfish.com" rel="noreferrer" target="_blank">http://redfish.com/mailman/listinfo/friam_redfish.com</a><br>
FRIAM-COMIC <a href="http://friam-comic.blogspot.com/" rel="noreferrer" target="_blank">http://friam-comic.blogspot.com/</a><br>
archives:  5/2017 thru present <a href="https://redfish.com/pipermail/friam_redfish.com/" rel="noreferrer" target="_blank">https://redfish.com/pipermail/friam_redfish.com/</a><br>
  1/2003 thru 6/2021  <a href="http://friam.383.s1.nabble.com/" rel="noreferrer" target="_blank">http://friam.383.s1.nabble.com/</a><br>
</blockquote></div>
</div></div>