Alejandro Jakubi

MaplePrimes Activity


These are replies submitted by Alejandro Jakubi

@PatrickT 

I hope that your message will help. I have submited a SCR on this subject about three and a half years ago, without much success so far, as you can see. Actually, I have requested a help page dedicated to this important functionality, with diverse usage examples, including how some commands like simplify and combine handle %-inertized function names, etc.

@PatrickT 

I hope that your message will help. I have submited a SCR on this subject about three and a half years ago, without much success so far, as you can see. Actually, I have requested a help page dedicated to this important functionality, with diverse usage examples, including how some commands like simplify and combine handle %-inertized function names, etc.

@PatrickT 

Indeed, the subject of the inertization prefix % is subdocumented, despite being a very useful tool. Probably, the only other help page dealing with it is ?updates,Maple12,symbolics.

@PatrickT 

Indeed, the subject of the inertization prefix % is subdocumented, despite being a very useful tool. Probably, the only other help page dealing with it is ?updates,Maple12,symbolics.

The normal usage of total derivative is as here, typically the derivative wrt the time variable t.

The normal usage of total derivative is as here, typically the derivative wrt the time variable t.

@PatrickT 

Thank you for sharing your commanders' tests. They are worth looking at!

@PatrickT 

Thank you for sharing your commanders' tests. They are worth looking at!

@PatrickT 

What I have said is that the CLI executable cmaple.exe does work in your sense: test.mpl -> cmaple.exe -> postscript.eps (in the current directory). However, this batch mode operation cannot be implemented with the Standard GUI executable maplew.exe, as far as I know. That is, you have the process: test.mpl -> maplew.exe -> GUI execute -> postscript.eps (in the current directory).

So, without a secret trick for operating the Standard GUI executable in batch mode, this means that you cannot use the current Standard GUI plot export drivers in batch mode. This is an example of bad system design, in my opinion, but so are the facts. Then, if your expectation was batch mode + Standard drivers, the answer seems no. Yet, for the reasons discussed above, keeping the source code in text files has significant advantages.

@PatrickT 

What I have said is that the CLI executable cmaple.exe does work in your sense: test.mpl -> cmaple.exe -> postscript.eps (in the current directory). However, this batch mode operation cannot be implemented with the Standard GUI executable maplew.exe, as far as I know. That is, you have the process: test.mpl -> maplew.exe -> GUI execute -> postscript.eps (in the current directory).

So, without a secret trick for operating the Standard GUI executable in batch mode, this means that you cannot use the current Standard GUI plot export drivers in batch mode. This is an example of bad system design, in my opinion, but so are the facts. Then, if your expectation was batch mode + Standard drivers, the answer seems no. Yet, for the reasons discussed above, keeping the source code in text files has significant advantages.

@pagan 

The first point is that solve could return integer and binary labels with a different suffix, so the "1" should not be hardcoded. It can be handled by type suffixed. Then, an integer solver would be need to deal with the system of conditions produced by getassumptions, with the binary label set to 0 or 1. I am in doubt that isolve could deal with them, in general.

e := 4*cos(t)+2*cos(2*t)=0:
sol:=solve([e, 0 <= t, t <= 2*Pi], t, AllSolutions, Explicit):
map(indets,[sol],{suffixed(_B,integer),suffixed(_Z,integer)}); 
                        [{_Z1~}, {_Z1~}, {_B1~, _Z1~}]

evalindets(%,name,x->getassumptions(x));
                                          %3            %3
[{{_Z1~::AndProp(integer, RealRange(-1/2 ----, 1 - 1/2 ----)),
                                          Pi            Pi
    /  %3 _B1~       \      /%3 _B1~       \
    |- ------- + _Z1~|::%5, |------- - _Z1~|::%4}}, {{
    \    Pi          /      \  Pi          /
                                          %3            %3
    _Z1~::AndProp(integer, RealRange(1/2 ----, 1 + 1/2 ----)),
                                          Pi            Pi
    /  %3 _B1~       \      /%3 _B1~       \
    |- ------- + _Z1~|::%5, |------- - _Z1~|::%4}}, {%6, {
    \    Pi          /      \  Pi          /
    /    -Pi + %1 + 2 _B1~ Pi - 2 _B1~ %1\
    |1/2 --------------------------------|::real,
    \                   Pi               /
    /    Pi + %1 + 2 _B1~ Pi - 2 _B1~ %1\        /  %3 _B1~     \
    |1/2 -------------------------------|::real, |- ------- + %6|::%5,
    \                  Pi               /        \    Pi        /
    /%3 _B1~     \      /      %1           _B1~ %1     \
    |------- - %6|::%4, |-1/2 ---- - _B1~ + ------- + %6|::%2,
    \  Pi        /      \      Pi             Pi        /
    /     %1           _B1~ %1     \
    |1/2 ---- + _B1~ - ------- - %6|::%2}}]
    \     Pi             Pi        /
                    1/2
                   3
%1 := arccos(1/2 + ----)
                    2
%2 := RealRange(-1/2, infinity)
              1/2
             3
%3 := arccos(---- - 1/2)
              2
                          %3
%4 := RealRange(-1 + 1/2 ----, infinity)
                          Pi
                      %3
%5 := RealRange(-1/2 ----, infinity)
                      Pi
                      /  %3 _B1~       \      /%3 _B1~       \
%6 := {_Z1~::integer, |- ------- + _Z1~|::%5, |------- - _Z1~|::%4,
                      \    Pi          /      \  Pi          /
    /      %1           _B1~ %1       \
    |-1/2 ---- - _B1~ + ------- + _Z1~|::%2,
    \      Pi             Pi          /
    /     %1           _B1~ %1       \
    |1/2 ---- + _B1~ - ------- - _Z1~|::%2}
    \     Pi             Pi          /

@pagan 

The first point is that solve could return integer and binary labels with a different suffix, so the "1" should not be hardcoded. It can be handled by type suffixed. Then, an integer solver would be need to deal with the system of conditions produced by getassumptions, with the binary label set to 0 or 1. I am in doubt that isolve could deal with them, in general.

e := 4*cos(t)+2*cos(2*t)=0:
sol:=solve([e, 0 <= t, t <= 2*Pi], t, AllSolutions, Explicit):
map(indets,[sol],{suffixed(_B,integer),suffixed(_Z,integer)}); 
                        [{_Z1~}, {_Z1~}, {_B1~, _Z1~}]

evalindets(%,name,x->getassumptions(x));
                                          %3            %3
[{{_Z1~::AndProp(integer, RealRange(-1/2 ----, 1 - 1/2 ----)),
                                          Pi            Pi
    /  %3 _B1~       \      /%3 _B1~       \
    |- ------- + _Z1~|::%5, |------- - _Z1~|::%4}}, {{
    \    Pi          /      \  Pi          /
                                          %3            %3
    _Z1~::AndProp(integer, RealRange(1/2 ----, 1 + 1/2 ----)),
                                          Pi            Pi
    /  %3 _B1~       \      /%3 _B1~       \
    |- ------- + _Z1~|::%5, |------- - _Z1~|::%4}}, {%6, {
    \    Pi          /      \  Pi          /
    /    -Pi + %1 + 2 _B1~ Pi - 2 _B1~ %1\
    |1/2 --------------------------------|::real,
    \                   Pi               /
    /    Pi + %1 + 2 _B1~ Pi - 2 _B1~ %1\        /  %3 _B1~     \
    |1/2 -------------------------------|::real, |- ------- + %6|::%5,
    \                  Pi               /        \    Pi        /
    /%3 _B1~     \      /      %1           _B1~ %1     \
    |------- - %6|::%4, |-1/2 ---- - _B1~ + ------- + %6|::%2,
    \  Pi        /      \      Pi             Pi        /
    /     %1           _B1~ %1     \
    |1/2 ---- + _B1~ - ------- - %6|::%2}}]
    \     Pi             Pi        /
                    1/2
                   3
%1 := arccos(1/2 + ----)
                    2
%2 := RealRange(-1/2, infinity)
              1/2
             3
%3 := arccos(---- - 1/2)
              2
                          %3
%4 := RealRange(-1 + 1/2 ----, infinity)
                          Pi
                      %3
%5 := RealRange(-1/2 ----, infinity)
                      Pi
                      /  %3 _B1~       \      /%3 _B1~       \
%6 := {_Z1~::integer, |- ------- + _Z1~|::%5, |------- - _Z1~|::%4,
                      \    Pi          /      \  Pi          /
    /      %1           _B1~ %1       \
    |-1/2 ---- - _B1~ + ------- + _Z1~|::%2,
    \      Pi             Pi          /
    /     %1           _B1~ %1       \
    |1/2 ---- + _B1~ - ------- - _Z1~|::%2}
    \     Pi             Pi          /

@PatrickT 

Such a test would be interesting. However, at this point, it is not clear to me whether these differences are a Windows 7 vs XP issue, a 64-bit Maple executable or library vs the 32-bit counterpart, or whether that virtual XP will behave the same as a real XP 32-bit in this regards.

You have said that you are running Maple 15 32 bits on 64 bits Windows 7. Are those results the same with 64-bit Maple 15?

 

@PatrickT 

Such a test would be interesting. However, at this point, it is not clear to me whether these differences are a Windows 7 vs XP issue, a 64-bit Maple executable or library vs the 32-bit counterpart, or whether that virtual XP will behave the same as a real XP 32-bit in this regards.

You have said that you are running Maple 15 32 bits on 64 bits Windows 7. Are those results the same with 64-bit Maple 15?

 

@Joe Riel 

Perhaps in Maple, the Iverson bracket should go as a function call, so that in this case, the answer could be 1/2*Iverson(i::integer and 1 <= i and i <= n) or 1/2*Iverson(i::integer,1<=i,i<=n). Or perhaps the bracket could go into a "conditional" call like conditional(1/2,[ i::integer and 1 <= i and i <= n]) (note that the PatternMatching packet already has the conditional construct, and Mathematica 8 comes with ConditionalExpression).

In this way, probably, the "functional" differentiation routine producing any such output, should not need to decide whether a condition like i^3 + j^3=k^3 holds, just write it. And, eventually, an specialized theorem-proving routine would take care of deciding.

First 75 76 77 78 79 80 81 Last Page 77 of 109