acer

32333 Reputation

29 Badges

19 years, 320 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are replies submitted by acer

@mmcdara Incorrectly describing the double-underscore as a means to "index a symbol by another symbol" is not just incorrect here; it confuses the whole issue.

The double-underscore syntax produces a name which renders as subscripted when pretty-printed, by design. But the central purpose of the double-underscore syntax is that it is not indexing.

The main purpose of the double-underscore syntax is to provide an alternate mechanism for subscripting, without the name depending upon (or being mutable with respect to) the subscript.

The way to get an indexed name is to index into a name, by making an indexed reference to it. The syntax for indexing is available via square brackets.

Subscripting is not the same as indexing.

It happens to be the case that indexed names pretty-print as subscripted names. That is a historical feature of Maple, which works well. But it does not mean that all subscripted names are indexed.

The alternate mechanism for creating names which pretty-print as subscripted -- ie. double-underscore -- was introduced so that people could use expressions that contained both the basename as well as the subscripted names without functional collision or interference, and indeed without any programmatic dependence (eg. relation to the basename, mutability of the subscript, or equivalence to the indexed name which happens to pretty-print similarly). For example, using x alongside the indexed name x[0] in calls to solve, dsolve, etc, is problematic, and so one may safely use x alongside x__0 instead.

Some people have now innappropriately conflated the two mechanisms for subscripting. Some people are now innappropriately expecting that double-underscore subscripted names act as if such names depended programmatically upon their subscripts. That is directly contrary to their very design and intended purpose. 

If you are using Maple 17 (released in the year 2013) then it confuses things to mark your Question as Product = Maple 2017 (released in year 2017).

The Fractals:-LSystem package used in Tom's Answer is present in Maple 2017 and it's understandable that he suggested it since that's how you had originally marked this Question. It was introduced in Maple 2015, and so is not present in older Maple 17.

I have revised the Product marker on this Question.

I have also revised the marker on some of your older Questions (including some marked Product = Maple 2017 and for which your attachments were last saved by you in Maple 17). Apologies to those who notice the blip in the Mapleprimes "Last Action" date field.

What version are comparing against, in which characters appeared larger? Was it 2020.1/2020.0, or some earlier version?

What operating system are you running on?

[There was a glitch in Maple 2020.0, but I cannot tell whether you are seeing the reverse effect of that, based only on the few details you've given so far.]

@dnaviaux The short reponse is that, yes, plots and 2D Math (typeset) equations and much more can be used in Tabulate. And DocumentTools:-Tabulate has its own Help page with examples.

And even Tabulate is just a convenient way to get some of the functionality of DocumentTools:-Layout, which provides pretty broad functionality for generating worksheets (as results) programmatically. One end-goal of that is programmatic construction of nice, typeset reports.

I can put together some nice examples, trying to prototype some of the ideas you mentioned from generating multiple kinds of report from the same data source. But it's Dec 27, there's fresh snow, etc. Perhaps in a day or so...

If you already know LaTeX well then it could be a way to grind out some finer nuances of a typeset report. But I think that it's just another toolset layer, and mostly would make this job involve more effort. If you don't already know LaTeX then I think that using it here would be crazy.

@Carl Love Your surmise about anti-aliasing (in the presence of "too many points") is correct. That was one of the main points of my own Answer, though I suspect I did not make it all clear enough.

However, using implicitplot is unnecessary for the example at hand, is much less efficient than using just the plot command, and has led to some confusion (and at least one mischaracterized explanation -- not yours).

But your explanation is indeed germane, and may well help in other examples that do need implicitplot.

Please don't submit duplicates of this Question.

@snowman In that case you can obtain a smooth curve, computed much more efficiently, by passing an explicit formulation to the `plot` command itself.

That uses adaptive sampling, and doesnt produce more data points than the renderer handles well (ie. avoids antialiasing disabling).

You don't need to go near all this implicitplot mess, here.

@dnaviaux Please don't put the same query in two places. Here is enough.

@Kitonum Your (edited) approach is smooth, yes, but it computes the contribution from x=5..infinity as this:

int((sin(t)^2)^exp(t), t = 5 .. infinity, method = _d01amc,  numeric);
                                      -8
                        3.730510477 10

But that looks quite wrong. (It's very close to 3.73051*10^-8 which wolframalpha.com gave me, btw, which I find funny.)

Consider just this portion,

int((sin(t)^2)^exp(t), t = 5 .. 20, numeric);
                         0.04401097083

Shouldn't the integral for x=5..infinity be at least that much? It seems that the approach to force method=_d01amc neglects a significant portion of the integral from x=5..infinity.

However,

int((sin(t)^2)^exp(t), t = 5 .. infinity, numeric);
                         0.04401097083

I don't much like the look of that result 0.04401097083 for x=5..infinity, either, because it's the same as the result for x=5..20. I distrust it because of further missed portions like this:

evalf(Int(t->(sin(t)^2)^exp(t), 20.42 .. 20.425 ));
                        0.00006521564386

And so on, in ever-narrower bands around odd multiples of Pi/2. I haven't thought much about whether it converges. The total integral from x=5..infinity might be a great as 0.0441 or so.

What to do, then? If a function were devised to compute each contribution from a periodic subrange, then `evalf/Sum` might be able to tell whether their numeric sum converges quickly enough to validate. Umph.

@dnaviaux Yes, what Carl just showed is very close to something done at the start of the old link (which I had cited earlier in this thread).

For example, generating the name that displays as the Greek letter under the GUI's printf ,

nprintf("&#%a;",sscanf(`03A9`,"%x")[]);

                 Ω

# And that name is just this entity
StringTools:-Explode(%);

     ["&", "#", "9", "3", "7", ";"]

You can make procedures to conveniently apply all these conversions and manipulations.

The following three entity representations all get rendered as the Greek letter Omega under the (usual) print command in the GUI. Actually the first two render directly as italic, and last as upright Roman, under print. But only the middle one is displayed as you want under the GUI's printf.

    `Ω`    `Ω`     `Ω`

Lastly, I don't think that any of this material is documented in Maple's Help or manuals. But it can be useful.

Using either Explore (or plots:-animate) a polar plot can be zoomed dynamically.

For fun,

Explore(plots:-polarplot([seq([j, (2*j*Pi)/10], j = 1 .. 10)],
                         style = pointline, color = "green",
                         symbol = solidbox, gridlines, size = [500, 500],
                         coordinateview=[0..11*(1-0.9*(N-1)/(200-1)), default]),
        parameters = [[N = 1 .. 200, width = 400]], frames = 300, width = 600):

Other options can be added to the Explore call, to animate or adjust the number of frames, etc. Or, zooming "out"...

Explore(plots:-polarplot([seq([j, (2*j*Pi)/10], j = 1 .. N)],
                         style = pointline, color = "green",
                         symbol = solidbox, gridlines, size = [500, 500]),
        parameters = [[N = 1 .. 50, width = 400]], animate, frames = 600,
        width = 600):

@mmcdara I don't have any strict preference about what you post.

I was responding to your query, "...why is the possibility of receiving a vote or being selected as the best answer (ok, this rarely happens) no longer proposed in my replies?"

The reason is because Replies cannot take on votes or thumbs-up, or be selected as best Answer (cup icon). Only Answers can get such things, via the current mechanisms of this site.

Please add very close followup queries to this topic here, as Comment/Reply, rather than start a separate Question thread without branching (close-referenceing links). It helps to keep the content together.

@dnaviaux This is why I added +- as an example in my Answer to one of your previous Questions.

@jalal You can turn off the rendering of the borders for the vertex labels. That should hide the ellipses, which are elongated around the accented labels.

For example, in Maple 2020, you could add this line (before calling DrawGraph),

   StyleVertex(G, Vertices(G), border=false);

With that added in appropriately, I get this in Maple 2020.1,

First 142 143 144 145 146 147 148 Last Page 144 of 591