Looking for a set of symbolic algebra Java classes

I’m working on a physics engine in Java for my own enrichment and I need a set of Java classes which would allow me to perform symbolic computation. I’ve looked on the internet and the only packages I’ve found so far are extremely large and have pretty specific applications. Does anyone know of a small, straightforward algebraic/calculus Java package for general use? Thanks.

I must be unfamiliar with your math terminology, 'cuz I always figure that every programming language (of which I’m aware, anyway) is capable of “symbolic algebra”. Even prolog, for instance. :slight_smile: So, I’m asking for clarification as to what you’re looking for.

The only higher math package not found in the native Java classes that I’ve used personally is JAMA (JAva MAtrix package). I don’t think it’s what you’re looking for; the reason I mention it is that there are links at the bottom of that page that may be helpful…

Are you required to do this in Java? That’s about the last language I’d choose for doing symbolic computation.

Symbolic computation refers to manipulating mathematical expressions as expressions, not numerically.

Ah, thank you. I kinda figured it was my ignorance showing.

I’m using Java because I know it and want to get better at it. I guess I could learn another language to do this, but that would defeat the purpose of the exercise I created for myself.

What language would you suggest?

I was gonna mention this, but didn’t think it would be very useful.

You could look for software with Java bindings (akin to what JPL does for SWIProlog). Perhaps a “heavy-duty” package that you’ve already considered and passed over would supply such functionality.

Failing that, and if you’re really intent on learning more Java functionality, you could look for software that you can access via JNI. I’m not recommending it, mind you, but it’s a useful thing to be able to do.

Sorry, I’m still no help in suggesting actual software…

Java is a general-purpose programming language, but it’s really geared towards systems and applications programming. If there’s a package out there that already does this stuff, you could use that, but if not, you should look into Mathematica or the open source alternatives. As a beginning programmer, you do not want to be doing this stuff yourself.

I’ll look into learnin Mathematica. Thanks. :slight_smile:

By the way, I’m not a beginning programmer. I’m a third-year computer science major. :wink:

You’re not even a beginning programmer, then. :stuck_out_tongue:

You really need experience with multiple languages that are significantly different before you can claim not to be a beginner. Learning Mathematica will put you a long way down that road.