Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Symbolic computation: Mathematica help

  1. Aug 10, 2009 #1
    I need to get a simplified equation by setting the determinant of the following expression to zero:
    exp(j.omega.dt). - [G]

    Here, I is an 18x18 identity matrix and G is an 18x18 matrix that I got by doing some symbolic computation in Mathematica (in fact G is huge).

    Can anyone help me with Mathematica code to get the simplified equation from
    det| exp(j.omega.dt). - [G] | =0

    In the literature people used Maple for the above. I have access to Mathematica and would prefer it. Thank you very much
  2. jcsd
  3. Aug 10, 2009 #2


    Staff: Mentor

    Is G numerical or symbolic? If it is symbolic are the terms algebraic or transcendtal or irrational or rational or what? Is G symmetric or off diagonal or sparse in any way? Are the terms real or complex?

    In general, this will be a hairy expression if G is symbolic. It should evaluate, but simplifying may be a pain. Generally you will just use FullSimplify and explicitly give any assumptions that are valid. If it is particularly complicated then it may take a long time to simplify it or it may run out of memory. Try to do any simplification on the terms of G first and only then calculate the determinant.
  4. Aug 11, 2009 #3
    Hi DaleSpam,
    Thanks a lot for replying.

    G is symbolic, algebraic and complex. It was obtained from some symbolic computation in Mathematica (at one stage to get G it involves matrix inversion ). Each column of 18x18 matrix G has roughly 9 zeroes, 1 one and rest of the elements (around 8 / 9 on each column) are long algebraic expression. Example of two such elements are copied below - I showed numerator, denominator by placing a long line


    ( (v4 + 2 c1 c2 v1 (2 + v4) - 2 c1 c2 v1 (v4 Cos[dx kx] + Cos[dy ky] + Cos[dz kz]))
    -1 - 6 c1 c2 v1 + 2 c1 c2 v1 (Cos[dx kx] + Cos[dy ky] + Cos[dz kz])

    -((c1 c2 E^(-I dx kx) (-1 + E^(I dx kx)) (-1 + E^(I dy ky)) v1 (-1 + v4))
    (-1 - 6 c1 c2 v1 + 2 c1 c2 v1 (Cos[dx kx] + Cos[dy ky] + Cos[dz kz])))

    FullSimplify command is already used before getting the above G.
    Any advice. Thank you so much
    Last edited: Aug 11, 2009
  5. Aug 11, 2009 #4


    Staff: Mentor

    Well, your expression is inherently hairy. You can do things like changes of variables or changes of coordinate system, e.g. let dx->Cx/kx and v1->V1/(c1 c2). Also, you can do a Series expansion about some particular point of interest. For instance if you expand to first order about dx=dy=dz=0 then expression i) reduces to -v4.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook