Carl Love

Carl Love

28050 Reputation

25 Badges

12 years, 336 days
Himself
Wayland, Massachusetts, United States
My name was formerly Carl Devore.

MaplePrimes Activity


These are replies submitted by Carl Love

You'll likely get Answers sooner if you either post your work as a worksheet or remove the plaintext output. If it's only plaintext input, I can copy-and-paste it; but if you include plaintext output (which is barely readable anyway) as in the above, it's a much bigger chore to execute your code.

@Christian Wolinski Your 5.4 example shows an ostensibly white sphere turned half peach and half light blue by light3. That doesn't seem very controllable, although you may appreciate the aesthetic. If there are only 4 light models, I think that they should all be white, especially since you can create custom colored lights.

@Stretto 

If by "amount of interpolation" you mean the degree of the piecewise polynomial pieces that make up the interpolating function, then that can be controlled by the degree option to SplineInterpolation. It defaults to 3, and this is widely regarded as the best choice for most purposes, such as for plotting a function. It's high enough that the curve has a continuous second derivative at the junctions of the pieces but not so high as to introduce spurious wiggles.

On the other hand, if you mean the number of interpolated points, then that can be controlled by the numpointsadaptive, and sample options to plot (see ?plot,options).

@shkarah I solved Eqs 17-19 from the paper to get Eqs 20-22. Is that not what you wanted? The work in your worksheet seems to begin at an earlier place in the paper than the portion of it that you posted in your Question.

@Mac Dude 

In addition to their unevaluation action, the quotes also act like parentheses. But it is only this action as parentheses that is needed in your example:

eval(series(sin(g(x)), x), g= (x-> x^2+1));

The parentheses are needed because -> has a lower operator precedence than =.

@Christian Wolinski I think that you just inadvertently gave two identical commands.

@Christian Wolinski 

As far as I can tell, the 4 light models are just white lights from 4 different angles, and that's the way that they've always been. If you want colored lights, you need to make your own, which is pretty easy.

Shining a white light perpendicularly on a grey surface essentially makes it white. (Note that there's no essential difference between a standard "silver" mirror and a glossy grey one.)

If you execute this, do you see the difference (without doing any mouse manipulation!)?

plot3d(0, 0..1, 0..1, lightmodel= none, orientation= [80, 30, -36]);

plot3d(0, 0..1, 0..1, lightmodel= light3, orientation= [80, 30, -36]);

@chinthak I noticed several things in your code that could be done more elegantly and much, much more efficiently. For example, you do the operation below many times for different sets: 

k := {};
for i from 1 to 4096 do
    if lhs(cyclicsolution[i]) <> rhs(cyclicsolution[i]) then 
        k := {cyclicsolution[i], op(k)} 
    end if
end do:
kk:= cyclicsolution minus k;

That whole block of code can be replaced by the single command:

(kk, k):= selectremove(evalb, cyclicsolution):

In particular, note that 

  • no initialization of k is needed;
  • no index variable i is needed; indeed, no indexing at all is needed;
  • no knowledge of the number of elements of cyclicsolution is needed;
  • a single command creates both a set and its complement.

I haven't timed it, but I wouldn't be surprised if my version runs 1000 times faster.

This loop:

numelems(equals);
ind_comp := {};
for i from 1 to 69 do
    ind_comp := {lhs(equals[i]), op(ind_comp)}
end do:

can be replaced by

ind_comp:= lhs~(equals):

@eithne I just checked (1:50 AM, EST, 21-Nov-2019), and the Maple 2019.2 update is still available, ready to be downloaded by unsuspecting users who don't read MaplePrimes (which, I guess, is the majority). This bug is crippling and catasthropic, so why hasn't the update been taken down? Is this an attempt at corporate suicide?

@chinthak 

Oddly enough, nearly the same commands do it in reverse. Forget about solutionlist; it's totally unnecessary. Create the tensor directly from solutions:

T:= eval(Array((1..4)$6, ()-> index(S, args)), solutions);

That's all there is to it!

I know nothing about this nightmare with the update Maple 2019.2 other than what I've read here on MaplePrimes. (Fortunately, I didn't update my own Maple.) The problem that you describe seems consistent with what I've read. And, according to what I've read, you can work around the bug by removing the restart command from your worksheet. IMO, this is the most catasthropic bug ever released into Maple. That leads me to believe that it'll be fixed soon.

@chinthak Ah, yes, I now see the ambiguous interpretations of your Question as essentially being opposites.

To answer, I need to know how the list is organized. In other words, which indices of the tensor correspond to the nth list element? The easiest situation would be that the indices are the base-4 representation of n-1 with each digit increased by 1.

Or perhaps your list entries already contain the indices in some form?

@SaeedAF7 Thank you, and a Vote Up. It's exactly what I was looking for. 

@rameen hamood 

More hints:

4. The results of any command can be made into a set by enclosing the command in curly braces { }.

5. Any command can be made to operate elementwise, e.g. individually on the elements of a set, by appending to its name, e.g. abs~.

6. The non-real roots of a real polynomial always occur as conjugate pairs. The members of such a pair have the same modulus. 

@acer Thank you for the clarification; I was suspicious of that. I should probably not try understanding unformatted 2D ASCII output on my phone. 

First 242 243 244 245 246 247 248 Last Page 244 of 709