acer

32353 Reputation

29 Badges

19 years, 331 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are replies submitted by acer

@Markiyan Hirnyk No, the 1 was not out of thin air -- I thought about what a trivial case of that might be, akin to solving an identity.

Anyway, your comment about the RHS was silly and wrong. The RHS of ff is GAMMA(n-1)/GAMMA(1/n) and not just GAMMA(n-1), and that does in fact evaluate to exact 1 when n=(1/2)*sqrt(5)+1/2).

Clearly you do sometimes say something even when you have nothing to say.

@Markiyan Hirnyk  That's not the RHS. 

I would like to find a way to obtain a version of your expression in Maple 2016.1 which integrates numerically this fast. Likely it's size would be comparable. I have not yet found the magic simplification incantation which can easily be applied programmatically.

Maple_numeric_speed_special.mw

The timings are different, but not very different in a relative sense.

Could you state your target (relative) accuracy? Is it 1e-5, or finer, or would you be satisfied with even say, epsilon=1e-3 or 1e-4 (in which case probabilistic methods like CubaCuhre might be faster).

I'm not sure why you say that the evalf(Int(...)) syntax has changed in Maple 2016. I don't yet see any problem with that. Where there is some problem, however, is with the simplify(expr1,LaguerreL) and simplify(expr1,sqrt) in Maple 2016.1. I can try and figure out what's up with that, and how to better proceed. I notice that your were assigning results from both of those to expr1, so only one of them was being used anyway. Was that intentional, or a mistake?

@Traruh Synred From that error message you show it seems that you are using 2D Input mode. (If so then you should upload a document with the problematic 2D Input instead of trying to show it in your posting as plaintext...)

Anyway, get rid of that full colon that appears immediately after proc() . That errant colon ends the (empty) first statement in your procedure body, and that's not valid before the global declaration. That should solve your issue.

Nasser has updated his comparison page for performance of default (double-precision) float Matrix rank computation, now giving timings for 64bit Maple 2016.1(a?), Mathematica 11.0, and Matlab 2016a on Windows. The relative performance situation now appears to have reversed, with Maple 2016.1 and Matlab 2016a being significantly faster than Mathematica 11.0.

He also gives a link to this stackexchange item, in which he gives a table of the Intel MKL versions used by the three products. There are various references to updates to SVD performance in several Release Notes of MKL v11.x.x updates which may be found via web-search, but it's difficult to figure out which might be key here. (Likely it would be ones related to computing singular values only, and not the singular vectors.)

I would hazard the guess that Wolfram (WRI) can "fix" this by some suitable adjustment to which driver they call for this computation, and how, and that if all three products do it "right" then all three can continue to get the best, matching performance.

I notice also that there is a new MKL version, named 2017 (as opposed to 11.x.x). Those release notes, as well as older ones of v.11.x.x, quite often mention both algorithmic improvements as well as chipset-dependent improements (eg. for AVX2 enabled machines). The customer seems to be the true winner in this race.

@Bendesarts All three examples also work for me in my 64bit Windows 7 versions of Maple2016.1,  Build ID 1133417, whether I re-execute or not.

@Bendesarts Did you try re-executing the whole sheet? It works for me using Maple 2016.1a on 64bit Linux. (By the way I intended the latter two examples on the sheet as nicer for use in Maple 2016. See the comments.)

kernelopts(version);
   Maple 2016.1, X86 64 LINUX, Apr 22 2016, Build ID 1133417

@Carl Love Indeed I had imagined that handling the objective repeatedly (say, as some additional parameters changed while the objective continued to be formed in part by those main variables) would mean that by far the simplest solution would be to not assign to the main variables. I quite agree, making the assignments would be the awkward/wrong way to go, in that situation.

I'm hoping that a worksheet will be uploaded so that, in this likely scenario we could provide the full solution.

The Question indicates to me that the OP is not aware of any way to make use of the NLPSolve solution even once. So I've given such. If he needs to loop, and re-use those names in a running version of the objective, then indeed he should use the two-argument eval method and not use assign.

@tomleslie That thread is not related to this Question.

That whole thread was a bit weird, actually, as the only reason Admin privileges were needed was because the hdb file was unwisely placed in the lib subfolder of the actual Maple installation. Putting it into a toolbox folder (as I did in my attached answer here) is much better.

But in any case the two Questions are about two different things and the suggestions in the thread you cite will do nothing at all to aid here. It just muddied the waters by citing it at all.

@digerdiga If you call evalf(int(...)) instead of evalf(Int(...)) and the end-points are not floats (and if you didn't pass the option `numeric` to `int`) then it will first try to compute the integral symbolically, and that can be expensive. And if would do that for each invocation, thus even more expensive when looped. This is a common mistake in usage when someone is intending to do purely numeric integration.

The term you were originally looking for is re-entrant, rather than thread-safe, I suspect. And, yes, it is supposed to be.

@a_simsim You're most welcome. Please forgive me if I restate the following. The basic problem was that simply computing 

VEHQD( 1.0 );

outside of Explore was also not working. It's usually helpful to ensure that the explored thing works on its own outside of any Explore usage, with actual values supplied for the parameters.

@emendes Please note that on the first usage (which creates the toolbox folder and the .help file) the added help page will not be accessible upon help query. The GUI must be fully closed and relaunched from the desktop, and then try the help query.

Keep the location for the .help file specied by me (ie , the "toolbox" location). That's what makes it work automaticallt upon relaunch. Otherwise you have to put the .help file in the Maple installation's "lib" folder, or make a personal initialization file that augments libname.

(Perhaps someone else can confirm that "it works".)

What version of Maple are you using now?

acer

First 293 294 295 296 297 298 299 Last Page 295 of 592