acer

32313 Reputation

29 Badges

19 years, 314 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are replies submitted by acer

Neither the "Save as Help Page" top-menu item not the routine makehelp() are as powerful and flexible as the INTERFACE_HELP command.

If one has many .mw files to convert, then point & click tools are about as unproductive as it gets.

Several nice options for INTERFACE_HELP, such as whether to make the page "active" or to include text content directly, are apparently not available in the other mechanisms, "Save as Help Page" or makehelp.

The help and instructions for INTERFACE_HELP are (no big surprise) available in the help-system under the topic INTERFACE_HELP. In stark contrast to that, the top menu's "Save as Help Page" item produces a "Save To Database" pop-up window with no embedded help button. It's help is located only under the main help system and not as an accompanying pop-up, under the more obscure topic "worksheet,reference,addhelp". That topic is harder to locate if you don't already know that it exists and where it lives.

It would be better if all these tools clearly indicated that a writable directory can be used as the first item in libname (so that the system can create a new maple.hdb database there). As things currently are, the pop-up window alone for the menu item "Save as Help Page" gives no hint that this is possible, nor does it give any hint to the help-page which mentions it.

acer

Right. And this also agrees with what solve() gave in my reply.

> ss := solve( {seq(x^%T . b =0, x in C)} );
ss := {B = 0, J_1 = J_1, J_2 = J_2}, {B = B, J_1 = 0, J_2 = 0},
 
                  -1/2 I Pi        Pi I
    {B = B, J_1 = ---------, J_2 = ----}
                      B             B
 
> seq( eval(b,x)^%T, x in [ss] );
                                  %1, %1, %1
 
            %1 := [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

Oh, wait. What if one sets _EnvAllSolutions to be true, before this solve() call? OK, that gives a more general solution, but subsequent simplification also gives the same result.

> _EnvAllSolutions:=true:
> sss := solve( {seq(x^%T . b =0, x in C)} );
                     -I Pi _Z8~        2 I Pi _Z7~
sss := {B = B, J_1 = ----------, J_2 = -----------},
                         B                  B
 
                  -1/2 I Pi (1 + 2 _Z9~)        Pi (1 + 2 _Z7~) I
    {B = B, J_1 = ----------------------, J_2 = -----------------}
                            B                           B
 
> simplify([seq( eval(b,x)^%T, x in [ss] )]);
[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
 
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]

acer

Right. And this also agrees with what solve() gave in my reply.

> ss := solve( {seq(x^%T . b =0, x in C)} );
ss := {B = 0, J_1 = J_1, J_2 = J_2}, {B = B, J_1 = 0, J_2 = 0},
 
                  -1/2 I Pi        Pi I
    {B = B, J_1 = ---------, J_2 = ----}
                      B             B
 
> seq( eval(b,x)^%T, x in [ss] );
                                  %1, %1, %1
 
            %1 := [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

Oh, wait. What if one sets _EnvAllSolutions to be true, before this solve() call? OK, that gives a more general solution, but subsequent simplification also gives the same result.

> _EnvAllSolutions:=true:
> sss := solve( {seq(x^%T . b =0, x in C)} );
                     -I Pi _Z8~        2 I Pi _Z7~
sss := {B = B, J_1 = ----------, J_2 = -----------},
                         B                  B
 
                  -1/2 I Pi (1 + 2 _Z9~)        Pi (1 + 2 _Z7~) I
    {B = B, J_1 = ----------------------, J_2 = -----------------}
                            B                           B
 
> simplify([seq( eval(b,x)^%T, x in [ss] )]);
[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
 
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]

acer

Nor all products that work alongside Maple are available on all platforms. Examples of that can be found in the MapleConnect suite of add-ons. For example, it was true of the LabVIEW toolbox for Maple 11, I believe.

Or perhaps one might have custom commercial .dll's to work with, or some add-on to Matlab or another 3rd party tool which would only work on Windows and that one wished to connect to from Maple.

In those scenarios running Maple on Windows would be necessary in order to get the connectivity and 3rd party apps to all work. But for other usual Maple work one might well (!) want to work in a sane environment like Linux.

I'm unaware of any restriction with running a validly activated Maple on multiple virtual machines on the same host by the same user. If there were then I'd like to hear about it here.

acer

Entering,

kernelopts(opaquemodules=false):

will subsequently allow those showstat() or eval() calls to access that non-exported local member SendRequest of the HTTP module.

acer

Entering,

kernelopts(opaquemodules=false):

will subsequently allow those showstat() or eval() calls to access that non-exported local member SendRequest of the HTTP module.

acer

Hi Alec,

How should quality control be managed?

For example, I believe that this pair of paragraphs on this page are not correct.

"Only two possibilities exist: either a variable is local to the one procedure which it immediately occurs in, or it is global to the entire Maple session. Local variables are local only to their own procedure. They are not known in other procedures, even within procedures which appear within the procedure which defines them.

If you do not declare your variables to be global or local, Maple decides for you. If a variable appears on the left-hand side of an explicit assignment, then Maple assumes that you intend the variable to be local. Otherwise , Maple assumes than the variable is global to the whole session."

As I interpret those paragraphs, they are both contradicted by the following example,

For example,

> restart:

> x := 17:

> f := proc()
> local x, g;
>    g := proc()
>    local t:
>       t := x:
>       print(t);
>    end proc:
>    x := 13:
>    g();
> end proc:

> f();
                                      13

Upon reading the section "Implicit Local Variables" of the ?proc help-page it becomes more clear that the actual situation in Maple is at odds with the paragraphs above in several ways.

I'm not trying to pick on this entry in particular. I am wondering how to best manage feedback and discussion. Should the wiki have a discussion page for each information page? (I didn't see one. Sorry if I missed it.)

acer

kernelopts(opaquemodules=false):
eval(HTTP:-SendRequest);

acer

"Man is the measure of all things: of those which are, that they are, and of those which are not, that they are not"            -- Tag the mag'

kernelopts(opaquemodules=false):
eval(HTTP:-SendRequest);

acer

"Man is the measure of all things: of those which are, that they are, and of those which are not, that they are not"            -- Tag the mag'

That's a interesting view, Doug. (I realize that it's a suggestion for a possible interpretation, and may not be what you yourself hold fast to.) But doesn't it describe the opposite state of affairs from what Maple does now?

I might make another suggestion on how to interpret such problems: in both cases the integrand (or antiderivative) must be evaluated at floating-point values. So numeric stability is desired. Numeric quadrature routines are often designed with that goal in mind. (Simple example: spurious nonzero imaginary artefacts seem to quite often occur when evaluating exact antiderivatives at approximate values under fixed precision, while numeric quadrature might produce strictly real evaluations.) So maybe Maple should do numeric quadrature in both situations originally posted above.

acer

What happens if you split the integral, making assumptions a>0,a<2 for one part and a>2 for the other? And then use eval() instead of subs()?

acer

Here's an experiment. Open a new Worksheet (not Document). Toggle to 1-D Maple Notation input (not 2D Math input) using either the keyboard shortcut or with the menubar's Tools -> Options -> Display(tab) -> Input display . I realize that those might be different on OSX. You'll know it's right if you can get the red cursor and red input.

Now, enter this,

eval(plot);

Did that print out the body of the plot() procedure? Can you issue the command

plot(2*x-9, x = -10 .. 10);

from that same worksheet, by typing it in and not using context-menus and the mouse?

I'm just trying to see whether all plotting is not working, or just the plot command, or context-menu results, or...

Do other typed commands work OK, like int(sin(x),x) ?

acer

Here's an experiment. Open a new Worksheet (not Document). Toggle to 1-D Maple Notation input (not 2D Math input) using either the keyboard shortcut or with the menubar's Tools -> Options -> Display(tab) -> Input display . I realize that those might be different on OSX. You'll know it's right if you can get the red cursor and red input.

Now, enter this,

eval(plot);

Did that print out the body of the plot() procedure? Can you issue the command

plot(2*x-9, x = -10 .. 10);

from that same worksheet, by typing it in and not using context-menus and the mouse?

I'm just trying to see whether all plotting is not working, or just the plot command, or context-menu results, or...

Do other typed commands work OK, like int(sin(x),x) ?

acer

This is the so-called 2-D Math parser in action.

You can set a new default using the top-menubar's Options -> Display -> "Input display". You can set that drop-down choice to the old 1-D "Maple Notation" value. I also have set the default  Options -> Interface -> "Default format for new worksheets" to be Worksheet rather than Document. Together those two changes should make the Standard GUI act more like you are used to. You can choose "Apply Globally" if you want to set it thus for all future sessions.

I'm curious, when you entered 5/7*3 did you see it represented as a fraction, 5 over 7 dot 3 ?

acer

I forgot about that. Brilliant. Thanks, Robert.

It does pretty much exactly what my code above does. (Like my code, it too overwrites the orginal Matrix with the superimposed L and U factors.) And so determinant of a 6000x6000 nonsparse float[8] takes 280MB -- pretty much the memory only to hold the Matrix itself.

So the original poster could just ensure that the Matrix is created with datatype=float[8], and not with storage=sparse, and then do your LUDecomposition call above.

acer

First 534 535 536 537 538 539 540 Last Page 536 of 591