Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Re: Re: Re: Geometric Optimisation and Perl

by tsee (Curate)
on Mar 27, 2004 at 16:04 UTC ( #340267=note: print w/ replies, xml ) Need Help??

in reply to Re: Re: Re: Geometric Optimisation and Perl
in thread Geometric Optimisation and Perl

Can't resist to give a quick answer to your question:
Being a physicist, I have indeed used Mathematica, though I generally prefer Maple for most stuff since I like the interface better. As you said, it is a question of the complexity of the optimization. I don't think you need the full power of Mathematica for this, though I haven't thought it through. If it's an If I recall correctly, the first reply in this thread pointed to a good, scientific discussion of the subject.
The reason I pointed at those Math:: modules was because before engaging in hairy XS/Inline::C library wrapping, it's probably a better idea to try with what's availlable already. If that's not good enough by a small margin, it's probably a better idea to extend what's on CPAN than to roll one's own. That doesn't mean I consider Mathematica an inadequate tool for the job.


Comment on Re: Re: Re: Re: Geometric Optimisation and Perl
Replies are listed 'Best First'.
Re: Re: Re: Re: Re: Geometric Optimisation and Perl
by Vautrin (Hermit) on Mar 27, 2004 at 17:04 UTC

    You're right that if it's possible to solve the problem without using Mathematica, XS / Inline::C library wrapping, it is better to try what's available. However, I figured that I would put it out there, so that OP would know that there are other options if the problem gets complex enough.

    I'm a big fan of Perl, but to be honest, not every problem is right for it. If the OP can get a more elegant solution by using a technical computing platform like Matlab, or Mathematica (and if they can afford to), he or she may want to. However, if the OP has a reason to use Perl -- perhaps to interface with a CGI script or already existing Tk/Perl application? -- the option is there.

    I would also like to point out, that the OP doesn't have to use XS to return the values. If the solution is significantly complex, or the number is to a precision bigger then you can return via XS, or there is another reason to make XS a bad solution, it is possible to send the result over a Unix domain socket or a TCP/IP connection, or through a database, or put it in a file, or any of a number of possible solutions. Sometimes the best way to use a program is via a system() call that invokes a program that sends the data back to the program via a Unix domain socket. Of course, you're still going to have to roll your own protocol, but I figured I would put it out there so that the OP can decide what is best for his/her needs.

    Want to support the EFF and FSF by buying cool stuff? Click here.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://340267]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (7)
As of 2015-11-26 12:35 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (698 votes), past polls