Is there software to simplify physics formulae?

Tags:
1. Sep 30, 2016

Zaent

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.

2. Sep 30, 2016

Filip Larsen

If you don't mind an online tool you could try Wolfram|Alpha.

3. Sep 30, 2016

Zaent

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).

4. Sep 30, 2016

robphy

5. Sep 30, 2016

FactChecker

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.

6. Sep 30, 2016

Zaent

Thanks for the recommendations so far.

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!

7. Oct 1, 2016

Staff Emeritus
How does the software know you are talking about a resistor?

8. Oct 1, 2016

FactChecker

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.

9. Oct 17, 2016

dostalik

Two very nice (& free) CAS packages:
Maxima (or wxMaxima) (free Mathematica/Maple competitor): http://maxima.sourceforge.net/

Haven't used Smath in a long time, but wxMaxima is pretty darn good. Smath/Mathcad historically handles units rather well.

10. Nov 8, 2016

LoopInt

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 :)