TechnicalSupport

Technical Support

610 Reputation

13 Badges

14 years, 198 days
Maplesoft
Waterloo, Ontario, Canada

MaplePrimes Activity


These are Posts that have been published by TechnicalSupport

We have just issued a critical fix to Maple, MapleSim, and Maple Flow running on macOS.

We have heard from some users who were experiencing serious problems with doubled characters while using Maplesoft products on macOS, including these reports on MaplePrimes. Further investigation determined that these problems appear specifically on macOS 11 and macOS 12.  I am happy to report that we have now corrected the problem, and a patch is available. 

Anyone who uses macOS 11 or macOS 12 should install this update immediately. We also strongly recommend that all macOS users install this update, to avoid problems that may be triggered by future updates to your operating system.

To obtain this update:

For those who have experienced problems, we apologize for the inconvenience and thank you for your patience while we worked to find a solution.

Maple users may notice unexpected results when calculating standard deviations with weights.

This is because the notion of weights used by Maple is not exactly the commonly used notion of repeated measurements.

Maple uses the NAG library from the Numerical Algorithms Group to compute the standard deviation in the presence of weights. The formula that is used is given in their documentation: https://www.nag.com/numeric/cl/nagdoc_cl25/pdf/g01/g01aac.pdf.

 

NULL

restart

with(Statistics)

V := `<,>`(seq(i, i = 57 .. 77), undefined)

_rtable[36893489755601713980]

(1)

W := `<,>`(2, 4, 14, 41, 83, 169, 394, 669, 990, 1223, 1329, 1230, 1063, 646, 392, 202, 79, 32, 16, 5, 2, 5)

StandardDeviation(V, weights = W)

HFloat(HFloat(undefined))

(2)

StandardDeviation(V, weights = W, ignore = true)

HFloat(2.7274213984819053)

(3)

NULL

Download standard-deviation-weights-help-example.mw

A user wondered how to have Maple produce a desired form of a solution

eq1 := `&sigma;__2` = P__2/(Pi*r^2)NULL

NULL

r := (1/2)*d

NULL

soln := `assuming`([solve(eq1, {d}, useassumptions)], [`&sigma;__2`::real, d > 0, P__2 > 0])

{d = 2*(Pi*sigma__2*P__2)^(1/2)/(Pi*sigma__2)}

(1)

NULL

Parse:-ConvertTo1D, "first argument to _Inert_ASSIGN must be assignable"

Download question-better-spacing.mw

We suggested the closest they might be able to get is using simplify like so:

 

restart; eq1 := `&sigma;__2` = P__2/(Pi*r^2)
``

``

r := (1/2)*d

``

soln := `assuming`([solve(eq1, {d}, useassumptions)], [`&sigma;__2`::real, d > 0, P__2 > 0])

{d = 2*(Pi*sigma__2*P__2)^(1/2)/(Pi*sigma__2)}

(1)

``

`assuming`([simplify(soln)], [sigma__2::real, P__2 > 0])

{d = 2*P__2^(1/2)/(Pi^(1/2)*sigma__2^(1/2))}

(2)

NULL


Download suggestion.mw

Our user wondered about using PolynomialIdeals:

1.  If we have n+1 polynomials,  f, g1,...,gn,  how to determine if  f  is in the ideal generated by  g1,...,gn?

2.  If so, how to write  f  as a polynomial combination of   g1,...,gn? 

We suggested that;

The nicest interface to answer the first question is given by the ?PolynomialIdeals,Operators page: you can write

with(PolynomialIdeals):
with(Operators):
J := <g1, g2, ..., gn>;
f in J; # true or false

To answer the second question, you need to use the lower level  package (which underlies the  package). This will also answer the first question for you. In particular the  command. You can write:

(Edit Feb 1, 2022 - use  instead of 

with(Groebner):
G := [g1, g2, ..., gn];
ord := tdeg(x,y,z); # replace x, y, z with the appropriate variables; you can also use other variable orders -- see ?Groebner,MonomialOrders

b := Basis(G, ord);
n := NormalForm(f, b, ord, 'Q');
# if n = 0 then f is in the ideal; Q is the list of coefficients:
f - add(Q[i] * b[i], i = 1 .. numelems(b)); # this will be equal to n.

A user would like to know if it is possible to specify a data set say, x:=[1,2,3,4,5,6] and then extract a random sample from that data set, i.e. xsample:=[3,2,4] for a bootstrapping-type calculation.

We suggested they use something like the following:

restart; with(Statistics); my_data := [1, 2, 4, 5.5, 5.5, 6]; X := RandomVariable(EmpiricalDistribution(my_data)); s := Sample(X, 10); Bootstrap(Mean, X, samplesize = 4, replications = 10000)

HFloat(3.9984625)

(1)

NULL

Download array-random-sample.mw

1 2 3 4 5 Page 2 of 5