I'm searching for a way to develop or much more optimize a symbolic equation in the form:

$\qquad f = ((I_{nxn}+\lfloor A_{nxn} \rfloor)*B_{nxn})*((I_{nxn}+\lfloor C_{nxn}\rfloor)*D_{nxn})*V_3$

This contains n x n matrices, skew matrix $\lfloor foo \rfloor$, identity matrix $I$ and a vector. Mathematica would need to respect the order of multiplication.

The final goal is to get the derivative for some of these variables.

I saw the solving and derivative function but the solving function does not seem to respect the order of multiplication since it doesn't know that the symbols are matrices.

  • 2
    $\begingroup$ In Mathematica, * always means scalar multiplication. Perhaps you should be looking at , (Dot). $\endgroup$ – m_goldberg Jun 4 '17 at 2:00
  • $\begingroup$ Can you be more specific in what you are trying to achieve? How large is n? $\endgroup$ – mikado Jun 4 '17 at 5:35
  • $\begingroup$ Hello @mikado n will be 3 in this case. The matrices are rotation matrices. $\endgroup$ – ChrisB Jun 4 '17 at 5:55
  • $\begingroup$ @m_goldberg I just tried it and it works, thank you. Now I just need to figure out to tell Mathematica that $I$ is an Identity matrix, $V$ is a vector and to respect the property that the skew-symmetric matrix only works with vectors. Am I maybe missing something, is this the way a symbolic expression would be defined or is this too specific? $\endgroup$ – ChrisB Jun 5 '17 at 17:08
  • $\begingroup$ IdentityMatrix[n] is the n x n identity matrix. $\endgroup$ – m_goldberg Jun 5 '17 at 19:55