Is there software to simplify physics formulae?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
9 replies · 3K views
Zaent
Messages
15
Reaction score
2
What I mean by this is that I'm looking to see if there's any sort of software out there that has formulae that it "knows" and can reduce/expand back and forth for you. A simple example would be that I type "I*R" and it gets simplified to "V" using this software, or vice versa.

I understand there's mathematical simplification on MATLAB but that got me wondering if there's anything out there like this.
 
  • Like
Likes   Reactions: FactChecker
Physics news on Phys.org
I don't mind anything online but I'm not sure whether Wolfram does quite what I'm looking for. My goal really is to insert an equation including multiple physical variables and have the software reduce the equation to its simplest form - perhaps with the option to reverse some of the simplifications it has made. A better example would be something like I^3 * R^2 being reduce to V*P (As V = I*R & P = I^2*R).
 
There is a Physics package in Maple that may be helpful but I don't think it goes as far as you are asking for. On problem with your idea is that you would have to assume a standard notation. For substituting F = mA, does F always equal force? What about an array of forces? Do you want F(i) to be an array of forces? That would really limit the notation you use. For instance, you could not use a variable F_engine_x without telling the system that it is a force. I don't know if there is a practical system to use. In addition to Maple and Mathematica that @robphy mentioned, you may want to check Mathcad. I used it long ago and liked how it automatically converted units and performed dimensional analysis.
 
Thanks for the recommendations so far.

FactChecker said:
There is a Physics package in Maple that may be helpful but I don't think it goes as far as you are asking for. On problem with your idea is that you would have to assume a standard notation. For substituting F = mA, does F always equal force? What about an array of forces? Do you want F(i) to be an array of forces? That would really limit the notation you use. For instance, you could not use a variable F_engine_x without telling the system that it is a force. I don't know if there is a practical system to use. In addition to Maple and Mathematica that @robphy mentioned, you may want to check Mathcad. I used it long ago and liked how it automatically converted units and performed dimensional analysis.

Sounds like you're catching my drift. I wondered these problems myself but thought I'd ask in case some wiz had found a workaround. To be honest I was just hoping there was a common solution to this question that most people here knew about, but it doesn't sound like it's quite as simple as that. I'll try to find a more manual approach on MATLAB and build up a library suiting my own needs. I have access to Mathcad and Maple too but am a little less familiar with them so maybe I'll investigate those a bit more before I start. Thanks again!
 
You can always include a standard file of equations that will be applied by equation manipulation programs (Maple, Mathematica, Mathcad, etc.) as long as you stick with a standard set of variable meanings (V, I, R, etc.). I think that you will find that to be too constraining. There will always be too many voltages in any but the most trivial problem.
There may be diagram languages where you can drag in resisters and other components and it will keep track of each component's parameters and states. That is outside of my knowledge base.
 
Two very nice (& free) CAS packages:
Maxima (or wxMaxima) (free Mathematica/Maple competitor): http://maxima.sourceforge.net/
Smath (free Mathcad clone): http://en.smath.info/

Haven't used Smath in a long time, but wxMaxima is pretty darn good. Smath/Mathcad historically handles units rather well.
 
  • Like
Likes   Reactions: FactChecker
I think you should look at symbolic algebra software in general, and the ones suggested are very good. My favorite is sympy, because of the Python integration and the community, but Reduce, wxMaxima, Sage, WolframAlpha, Mathematica, Mapple, Smath, Mathcad are the ones you should look.
Consider, however, that what you are asking is a very difficult problem for a computer. The definition of simplest is not clear. The software listed will do this work, but it won't be so easy as you stated. You might have to collect terms, for example R.I and substitute then for V. Reduce is focused on Physics problem, maybe you have a better change there (I never used it tho).

Good luck :)