Carl Love

Carl Love

28100 Reputation

25 Badges

13 years, 103 days
Himself
Wayland, Massachusetts, United States
My name was formerly Carl Devore.

MaplePrimes Activity


These are replies submitted by Carl Love

@brian bovril By the way, the Pi and the 1/2 and even that the cakes are round are irrelevant. The problem can be solved simply by squaring the diameters.

@TomM So your technique for estimating the degree and the ldegree involves about the same computational effort as a minor expansion and is thus practically impossible for a larger matrix.

Like I said, the unifloat algorithm is nearly guaranteed to produce a dense polynomial. If you know a priori that the polynomial is not dense, then unifloat is a bad algorithm to use.

Your title "equal diameter division" is confusing or misleading; how about "Equal division of unequal cakes"?

The numeric case presented is a very special case. The numbers 15, 20, 25 are a Pythagorean triple. It is only because of this that cutting the cakes in half is a viable solution. Of course, that produces six pieces, but it can be accomplished with a single planar cut if you stack the cakes. The five-piece solution involves an uneven cut of the middle cake, and a bisection of the large cake. It's easy to see that there's no four-piece solution.

The general problem is interesting, and I think that it's amenable to a computer solution if the m and n are not too large. The diameter aspect is just a slighly obfuscating factor---it just means that you need to square the original numbers before proceeding. So, you might as well just ignore that aspect because it adds no mathematical complexity to the probem. So, recasting the problem more mathematically: Given m positive numbers whose sum is 1, find a way to cut some of those numbers so that the resulting set can be partitioned into n subsets each with sum 1/n. Find a way to do this that minimizes the cardinality of the overall set.

@emendes In this case, it's easy to make both your code and Kitonum's code more concise by eliminating the redundant use of the symbolic constants true and false. The expression `if`(r, false, true) is equivalent to not evalb(r) in the vast majority of cases, which is equivalent to simply not r in the vast majority of cases. There's some subtlety about this in the case of inequalities, but that's not what you're dealing with here.

@Kitonum You're misinterpretting the output of evalb. The mechanism by which Maple attempts to prove things is is. Consider these cases:

evalb(a=x);
     false
is(a <> x);
      false
is(a = x);
     false
`or`();
     false
`and`();
     true
evalb(a < x);
     a < x
is(a < x);
     false

The only thing that evalb(a <> x) is telling you is that a and x don't share the same memory address.

@TomM 

In Maple 2016, on the help page ?Determinant, there is no mention of a general default method. It says that the method will default to Gaussian elimination if the matrix has datatype = float, which obviously doesn't apply to your matrix.

So, what do you want? You asked why the phenomenon happens, and I explained that in detail. The minor method works great on a 6x6. Converting the coefficients to rationals also works great. So what do you want here?

@Kitonum Hmm, it's really hard to say whether something that depends on no variable at all "isn't a function of x alone." You might as well change [a,b,c] to [0,0,0] for your example; it makes the example clearer.

By the way, how do you estimate the degree and ldegree of the determinant? I mean How did you know so quickly that the degree was supposed to be 8 and the ldegree was supposed to be greater than 2? By the obvious rowwise and columnwise method of estimation, I get that the maximum possible degree is 9, and minimum possible ldegree is 2.

Your Question is missing "the following DE".

@Christian Wolinski Use type indexed.

@TomM Thanks. I can confirm that the phenomenon that you observed is duplicable in my Maple (2016.1). I'm still thinking about what to do about it, other than what you and Axel already mentioned. Certainly, the minor method is unacceptable for larger matrices.

Yes, an example is needed. I've generated several large (99 x 99) random examples without observing the phenomenon that you have.

@brian bovril Just change Data to L and it'll work. I decided to shorten the variable names at the last minute, and I forgot to change all occurences of Data.

@brian bovril Actually, FT and BP are initialisms but not acronyms, the distinction being whether one says the letters or pronounces it as a word. "Laser" and "NATO" are acronyms---the former common and the latter proper.

@Traruh Synred 

At the beginning of the worksheet, put this:

Pause:= proc()
     `Paused. To resume, click on Continue in this window.`;
     lprint(`Paused. To resume, click on Continue in debugger window.`);
     NULL;
end proc:
     
stopat(Pause, 3):

Then in the middle of the worksheet, any place that you want to pause, put

Pause();

The debugger window will pop up. Just ignore it (don't close it though) and go back to your worksheet. You will be able to scroll, but not to edit. When you are done reading, click on Continue in the debugger window. Then execution of the worksheet will continue.

First 382 383 384 385 386 387 388 Last Page 384 of 709