Thomas Richard

Mr. Thomas Richard

3407 Reputation

13 Badges

14 years, 75 days
Maplesoft Europe GmbH
Technical professional in industry or government
Aachen, North Rhine-Westphalia, Germany

MaplePrimes Activity

These are answers submitted by Thomas Richard

Yes, of course the OpenMaple API is maintained; last year, it has been extended to cover Python.

Maple contains all necessary files for using the API. I'm wondering what made you think you need to download anything else. The URL you mentioned has nothing to do with Maple, as far as I can tell.

I suggest that you start by following the instructions e.g. under ?OpenMaple,Java,Examples

It's an undocumented method (see ?int,methods), so a bug report does not make much sense.

But if you want to learn about Ore rings (of univariate skew polynomials) in Maple, please take a look at the OreTools package.

That ODE is certainly a bit beyond the scope of these commands - please see the help page for the Student:-ODEs package.

Therefore, in the 2024.1 update it will be rejected as "not supported" by ODESteps.

As you know, dsolve and odetest are more appropriate tools for such advanced ODEs.

That's just interface(typesetting=standard) versus interface(typesetting=extended), or interactively: Tools -> Options -> Display -> Typesetting Level.

I'm not aware of any direct code converter, but two features should be mentioned here.

1. Maple has a built-in Python engine (interpreter and some libraries); enter ?Python,EvalString to open a help page that should be the most relevant one here. You can also enter Python code using Maple's code editor (as of Maple 2023).

2. There is an API for calling Maple from some other languages, and Python was added to that list in 2023. Please enter ?updates,Maple2023,Connectivity to see more.

It's located in the Maple Application Center; just search for Fourier, and you will find it (sorry, inserting the target URL does not work for me).

The LambertW function has an infinite number of branches (in the complex domain). If nothing is known about x, the principal branch will be returned by solve. By prescribing x=10, solve is able to select a particular branch (-1 in this case).

To obtain the general solution, insert the 'allsolutions' option, which will introduce an integer parameter for the branch.

Please see the TWSolutions help page; there are many features implemented.

Here's a first code snippet - you might want to adjust the options as needed:

with(DEtools, diff_table):
U := diff_table(u(x,t)):
KdV := U[t] + U[]*U[x] + U[x,x,x] = 0;
TWS_ode := TWSolutions(KdV, functions = identity, output=ODE);


From the View menu, select Markers. A column will be inserted to the left of the worksheet. Scroll down until you see two document block markers with a thin red line. On both of these, right-click to open the context menu, then select Document Block > Show Command. The Typesetting:-RuleAssistant() lines will become visible then. Delete both and save your worksheet.

These products do not come bundled, so they have to be purchased separately.

Also take a look at the disjoint sets of platform support: Maple Calculator is available for Android and iOS; Maple on Windows, Linux, and macOS.

On Windows and macOS, I'm not getting any KCL either. However, value(u) returns this integral unevaluated.

We can convert the sines to exponentials, and then simplify (I haven't tried much here):


A result in terms of Lommel functions.

What OS are you running Maple on?

In case of Windows, this FAQ page should help. Another customer confirmed this to me just a few days ago.

P.S. I suppose you mean the font size, as opposed to the font as such...

Maple does not convert that cosine value to an algebraic number by default, so we need to insert one step (or two if wanted):

rt := cos(2*Pi/7);
ro := convert(rt,RootOf);
# if you want to see an explicit representation of the root:
ra := convert(ro,radical);


No, a KCL error is not expected, of course. Supplying a method option helps, though:


Here's an approach using conversion to complex exponentials and then evalc'ing.

Probably not the most efficient, but easy to write down...



sineExpr := (m::posint) -> local t, j; add(mul(ifelse(j <> t, sin(a[j] - b[t])/sin(b[j] - b[t]), sin(a[t] - b[t])), j = 1 .. m), t = 1 .. m);

proc (m::posint) local t, j; options operator, arrow; add(mul(ifelse(j <> t, sin(a[j]-b[t])/sin(b[j]-b[t]), sin(a[t]-b[t])), j = 1 .. m), t = 1 .. m) end proc



























1 2 3 4 5 6 7 Last Page 1 of 44