<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Symbolic Computation on Xingyu Chen</title><link>https://cxy0714.github.io/en/tags/symbolic-computation/</link><description>Recent content in Symbolic Computation on Xingyu Chen</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 17 Mar 2023 18:34:35 +0800</lastBuildDate><atom:link href="https://cxy0714.github.io/en/tags/symbolic-computation/index.xml" rel="self" type="application/rss+xml"/><item><title>Mathematica Pitfalls: Symbolic Matrix Computation</title><link>https://cxy0714.github.io/en/2023/03/17/mathematica-matrix-symbolic/</link><pubDate>Fri, 17 Mar 2023 18:34:35 +0800</pubDate><guid>https://cxy0714.github.io/en/2023/03/17/mathematica-matrix-symbolic/</guid><description>&lt;h2 id="where-the-problem-came-from">Where the problem came from&lt;/h2>
&lt;p>Lately, in order to derive some formulas, I needed to verify the inner-product results of a number of high-dimensional matrices (more than twenty of them, each taking anywhere from one to eight hours by hand), and I needed a reliable tool to help me check my computations. So I thought of Mathematica.&lt;/p>
&lt;p>My computation was roughly this: take two $k^2\times k^5$ matrices $A,B$ and compute their inner product $Tr(A \cdot B^T)$. Using the cyclic property of $Tr$, this can be turned into a sort of &amp;ldquo;inner product&amp;rdquo; between a $1 \times k^2$ row vector, a $k^2\times k^5$ matrix and a $k^5\times 1$ column vector — that is, adding up a pile of ($k^2\times k^5$) numbers. But $A$ and $B$ are not scalar matrices: their entries are all symbolic, and the dimensions grow with the order of the formula.&lt;/p></description></item></channel></rss>