Is there software to simplify physics formulae?

AI Thread Summary
The discussion revolves around finding software capable of simplifying and expanding mathematical equations, particularly in the context of physics. Users express interest in tools that can take equations like "I*R" and simplify them to "V," or handle more complex equations involving multiple variables. Recommendations include Wolfram|Alpha, Maple, Mathematica, Mathcad, and various free options like Maxima and Smath. While these tools can perform symbolic algebra, challenges arise regarding standard notation and the interpretation of variables, which can limit usability. Users acknowledge the complexity of defining "simplest" in mathematical terms and suggest that while existing software can assist, achieving the desired functionality may require manual intervention or a tailored approach. Overall, the conversation highlights the need for flexibility in notation and the limitations of current software in fully automating the simplification process.
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 FactChecker
Physics news on Phys.org
If you don't mind an online tool you could try Wolfram|Alpha.
 
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!
 
Zaent said:
A simple example would be that I type "I*R" and it gets simplified to "V" using this software, or vice versa.

How does the software know you are talking about a resistor?
 
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 FactChecker
  • #10
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 :)
 
Back
Top