acer

32328 Reputation

29 Badges

19 years, 317 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are replies submitted by acer

That does not make much sense for scalars, which were being discussed here, I think.

What might be useful is having map[evalhf] utilize the Vector Math (VML) subset of MKL.

One can observe that LinearAlgebra's hardware floating-point routines are linked to MKL on MS-Windows (32bit). On Linux, ATLAS is used for this. That and other packages get to MKL/ATLAS via Maple's external calling.

I would like to see external calling work directly under evalhf (without recourse to the new `eval` capability under evalhf, which seems to add a costly transition between hardware and scalar floats). The advent of option hfloat indicates movement in the other direction, toward faster float operations outside of evalhf. How that will pan out will be interesting.

Note that scalar hardware floats are now "first class citizens" in Maple, but not yet widely used. They might be used as the type for returns from external calling within evalhf, were it enabled. Or they might be used for such returns outside of evalhf (this is not yet so, I believe).

ps. Is it just me, or does this seem odd. Note the accuracy. Why isn't Digits=trunc(evalhf(Digits)) used within the HFloat constructor?

> HFloat(1./3);
                                 0.3333333333
 
> lprint(%);
HFloat(.333333333299999979)

acer

That does not make much sense for scalars, which were being discussed here, I think.

What might be useful is having map[evalhf] utilize the Vector Math (VML) subset of MKL.

One can observe that LinearAlgebra's hardware floating-point routines are linked to MKL on MS-Windows (32bit). On Linux, ATLAS is used for this. That and other packages get to MKL/ATLAS via Maple's external calling.

I would like to see external calling work directly under evalhf (without recourse to the new `eval` capability under evalhf, which seems to add a costly transition between hardware and scalar floats). The advent of option hfloat indicates movement in the other direction, toward faster float operations outside of evalhf. How that will pan out will be interesting.

Note that scalar hardware floats are now "first class citizens" in Maple, but not yet widely used. They might be used as the type for returns from external calling within evalhf, were it enabled. Or they might be used for such returns outside of evalhf (this is not yet so, I believe).

ps. Is it just me, or does this seem odd. Note the accuracy. Why isn't Digits=trunc(evalhf(Digits)) used within the HFloat constructor?

> HFloat(1./3);
                                 0.3333333333
 
> lprint(%);
HFloat(.333333333299999979)

acer

In the Standard GUI, can you not access the same Postscript exporter as in Classic, by using the plotsetup routine?

Joe mentioned this above.

acer

Yes, the comments might well help the expert. And the revision history might too.

acer

Yes, the comments might well help the expert. And the revision history might too.

acer

When you write, "it is not clear what a singularity means in Maple" it seems to me that the notion of what, precisely, a function is supposed to mean within Maple is on-topic. Your post hinged on discrepancy between a help-page snippet revolving around the term "singularity" and a discontinuous example. It might help, as a place to start, if the concept of mathematical function were more clear, in Maple.

That help-page fragment could be rewritten. Its intended meaning could be guessed at. For example, perhaps it was intended to cover situations only where the "function" were undefined at a point, and that limit() might help  demonstrate its behaviour there (but not provide some means to get at a functional value!). It would be nicer if were more precise, so nobody had to guess.

acer

The availability and visibility of its interpreted Library code is an aspect of Maple of which I make use almost every day. I can almost always make good sense of the code even without comments. And its transparency gets utilized here on mapleprimes quite regularly too. But your points above almost never make the difference for me, and are pretty irrelevant both for me and to most of the discussions in these forums. Maple's Library visibility seems relevant to its coolness, to me, much more than these other things you mention.

Of course, maybe nobody else cares what I, or you, think is cool.

acer

The availability and visibility of its interpreted Library code is an aspect of Maple of which I make use almost every day. I can almost always make good sense of the code even without comments. And its transparency gets utilized here on mapleprimes quite regularly too. But your points above almost never make the difference for me, and are pretty irrelevant both for me and to most of the discussions in these forums. Maple's Library visibility seems relevant to its coolness, to me, much more than these other things you mention.

Of course, maybe nobody else cares what I, or you, think is cool.

acer

I'm not saying that those are not functional. I'm just pointing out that the (necessary, by definition) domain part of the mathematical notion of a function is missing in Maple procedures and expressions. And, with such a basic concept missing, it seems like a  funny semantic dance to get bogged down in such particularities of the evaluation behaviour as were mentioned.

acer

Alec, you mentioned evaluation of "functions" in this forum post. How do you feel about Maple's having expressions, and procedures, but not mathematical functions with an associated domain?

The help-page ?function just describes a function call. Where in the product's internal help-system (not manuals) does it fully describe domains for mathematical functions, let alone restrictions of domains?

With such a given set up as that, does it really then matter which particular dance steps have to happen, to get evaluation at a point to behave?

acer

Some aspects of Mathematica are the opposite of cool.

acer

Some aspects of Mathematica are the opposite of cool.

acer

Using addressof, once again, one can see that there is an instance of clean in the lexical table which is not the global :-clean. It must be a local.

> d:=[disassemble(addressof(eval(RealDomain:-limit)))]:

> pointto(d[9]);
               r2c_handler, r2c_handler, p, limit, clean, clean

> disassemble(d[9]);
           30, 6522504, 6522344, 6655128, 6539768, 6559816, 6654840

> addressof(:-clean);
                                    6559816

You can also see this using op() to get at the lexical table,

> select(t->type(convert(t,`global`),identical(clean)),
>        [op(7,eval(RealDomain:-limit))]);
                                [clean, clean]
 
> map(addressof,%);
                              [6559816, 6654840]
 
> addressof(:-clean);
                                    6559816

And, mixing and matching the fun and games,

> ToInert(pointto(6654840));
_Inert_ASSIGNEDLOCALNAME("clean", "PROC", 6654840, _Inert_ATTRIBUTE(
 
    _Inert_EXPSEQ(_Inert_EQUATION(_Inert_NAME("modulename"),
 
    _Inert_ASSIGNEDNAME("RealDomain", "MODULE", _Inert_ATTRIBUTE(_Inert_EXPSEQ(
 
    _Inert_NAME("protected", _Inert_ATTRIBUTE(_Inert_NAME("protected"))),
 
    _Inert_NAME("_syslib"))))))))

acer

Are you operating in a Document or a Worksheet? All I can imagine, offhand, is that sometimes there is a muddle in how you are entering the command within a Document.

If you are relatively new to Maple then I suggest using a Worksheet with 1D Maple input (rather than 2D Math input) for your programming experimentation. It makes programming more clear -- what you see is what is there. Perhaps leave Document mode for final presentations (if you need it).

You can open either type of sheet from the top-bar's File menu, and you can even change the default for entry from 2D to 1D under the options menus.

acer

Are you operating in a Document or a Worksheet? All I can imagine, offhand, is that sometimes there is a muddle in how you are entering the command within a Document.

If you are relatively new to Maple then I suggest using a Worksheet with 1D Maple input (rather than 2D Math input) for your programming experimentation. It makes programming more clear -- what you see is what is there. Perhaps leave Document mode for final presentations (if you need it).

You can open either type of sheet from the top-bar's File menu, and you can even change the default for entry from 2D to 1D under the options menus.

acer

First 527 528 529 530 531 532 533 Last Page 529 of 591