Carl Love

Carl Love

28070 Reputation

25 Badges

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

MaplePrimes Activity


These are replies submitted by Carl Love

I assume that you meant to attach some code or a Maple worksheet. Nothing got attached. Please edit your Question and try that again. 

Is your actual problem that you want to find the value of the model parameter a such that the level surface UC(...) = 1 best approximates the experimental data?

A Google search for "Joaminsthal" returns 0 hits. So, this name doesn't appear in a single web page anywhere in the world?

I assume that your Question is essentially Does this Maple code and its accompanying comments fulfill the requirements of this assignment, i.e., does it verify the theorem? Without a clear reference for the theorem, I can't Answer that.

I have a complete solution to your problem done, including producing the graph that you showed. I'm happy to help, but you need to show some effort. If all you can get is a worksheet full of error messages, that's fine, show that.

Here's my plot:

@Angelo Melino 

Here's why Acer's trick works: If you try to apply evalhf to Acer's procedures Hre or Him (e.g., evalhf(Hre(1))), you'll get an error message because evalhf can't handle lists (such as Acer's empty list []) in any form. The numeric integrator (`evalf/int` and its subprocedures) is prepared for this possibility: It traps that error and switches to evalf instead of evalhf.

This doesn't explain how he knew that evalhf was the cause of the problem; rather, it explains how he knew how to construct a workaround once he knew that.

@maple_user_2017 If you'd prefer not explaining a "workaround" to your students, I'll note again that solve followed by evalf gets you your results without issue. Your initial problem was that you were thrown off course by RootOf. Those can usually be resolved with evalf if there are no symbolic parameters.

@maple_user_2017 You're absolutely right that it's difficult to understand why this trick works. I only said that it was obvious to me (as 20-year hard-core Maple user), not that it was obvious in general.

Here is my insight---just some heuristics, not an algorithm. This is also just me guessing---I haven't investigated in this case. The command fsolve is unfortunately very sensitive to precision issues. It tries to guarantee that its results are accurate to the last decimal place. That's good, but what's unfortunate is that there's no way for the user to control how many extra digits it uses internally. The result is that fsolve often gives up and returns unevaluated even though it has actually found a result accurate to almost the last decimal place. The variable a is essentially part of an exponent. Tiny changes in an exponent can lead to much larger overall changes. With my substitution, the first two equations are simple polynomials (no variables in exponents) that can be solved independently of the third equation.

Note that your solve command also reduced the problem to a polynomial. If you had pressed forward by applying evalf to solve's result, you would've obtained the same result that we just got from fsolve. You can usually do this with RootOf results from solve.

Do you mean What aspects of a convergent transition matrix[*1l affect the rate of convergence of its powers?

[*1] transition matrix is a square matrix of probabilities each row of which sums to 1. It's convergent if its powers approach a limit.

@tomleslie The function is piecewise differentiable on the same intervals on which the derivative is piecewise continuous. That's enough. The derivative of the function is the stated derivative; so it is a solution.

In Maple 2018, and perhaps earlier, sum(binomial(k+j, k), j= 0..n-k) immediately evaluates to binomial(n+1, k+1), even without the assumptions.

@mschneider I just added my version of Christian's line of code to my Reply above. Maybe it's easier to understand. Breaking it down:

  • indets(A, 'ln'(dependent(x))) finds the set of all subexpressions of A that are ln functions with argument depending on x (that's your x).
  • op~ strips the ln off of all of them.
  • >~ 0 sets them all greater than 0.
  • The means "apply the operation to all the objects in the container rather than to the container itself". It's called the elementwise operator (see ?elementwise). It's similar to map.

@mschneider Your misunderstanding is because the x in Christian's procedure is that procedure's parameter; it's not the x that occurs in your equation. All his procedure does is ensure that the arguments to both logs are positive. In other words, a*x + b > 0 and c*x+d > 0.

I would write his line of code as follows, which is perhaps easier to understand:

B:= op~(indets(A, 'ln'(dependent(x)))) >~ 0;

@vv A great, efficient answer that wouldn't occur to most new users. Vote up. To make it a bit more robust, I think that you should enforce q > p because there's the potential that some procedures that call ifactors rely on the primes being in order, even if ModularSquareRoot does not.

Please expand your worksheet online, so that it appears in the Post.

How'd you call help: a question mark, F1, help command, hyperlink, or something else?

First 245 246 247 248 249 250 251 Last Page 247 of 709