Carl Love

Carl Love

28100 Reputation

25 Badges

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

MaplePrimes Activity


These are replies submitted by Carl Love

@smith_alpha You could use c:= rand(0..1)() every time you want to generate a random number (a random bit in this case). But if you want to generate multiple random bits, it is more efficient to do c:= rand(0..1) once, and then call c() every time you want a new one. The c:= rand(a..b) generates a procedure which generates a random number; it not itself generate the random number.

@noor-al-bahrain The real root is not a rational number. You cannot find the fraction because the fraction doesn't exist.

There is a difference between convert(x, rational) and convert(x, rational, exact). Consider

x:= evalf(1/3);
                      
0.333333333333333
convert(x, rational);
                             
  1/3
convert(x, rational, exact);
                       
333333333333333/1000000000000000

@henrylyl When you pass a Vector (or other rtable) as a procedure argument, it only passes a pointer to the object rather than making a copy of the object. The same is true when you assign one Vector (or other rtable) to another with :=. So, if A is Vector, after the assignment

B:= A;

any changes made to B will be made to A also, and vice versa. To avoid this, you need to use the copy command:

B:= copy(A);

Now A and B are completely separate objects. In your case, you can make your procedure call with copy like this:

SLRrepeatedsample(copy(X), copy(Y), 2, .95);

Or you can use the copy command with the assignment inside the procedure.

 

You have only one loop, not a nested loop.

@henrylyl Two problems I see immediately. The first is that LinearFit is spelled with a capital F. You have a lowercase f in several places. The second is Why is x a Vector? It only has a single value. In the line beginning ySE:=, you try to use x as if it were a scalar.

What kind of data are in the Arrays cosArr2, k1, and alpha? If it is not floating point, could you make it so?

I think that the problem can be done. Instead of NextTo, we need a custom relational constraint CircNextTo (and its negation). See the long comment ahead of procedure `Know/Rel`. These procedures are much easier to write than the general procedural constraints that I wrote about yesterday. See the seven examples that I put in the code, starting with SameBlock.

Then to make the rotational symmetry unique, we arbitrarily make Alan = 1. Since left and right are not used in the problem, we also have flip symmetry. We know Amy is next to Alan, so we make Amy = 2.

To express a disjunction of constraints, use OR([constraints]). There can be any number of constraints more than one. Example: OR([NextTo(Amy, Alan, PN), NextTo(Brad, Beth, PN)]). Note that both letters of OR are uppercase.

I was wrong about the negation of the NextTo constraint, and I've changed my previous answer regarding that. Please reread it. The negation of NextTo(A, B, V) is Rel(Separated, A, B, V, [1]). Since Separated is an export of the dynamic module, a constraint using it must appear after the with is executed.

The circular arrangement does indeed complicate matters. I don't know if this problem can be solved by the package. I'll be thinking about it as I fall asleep tonight.

@Joe Riel I think the depends is an elegant solution to the problem. Why do you say that it only partially solves the problem?

@Joe Riel To me, a dimension check in the body of the anonymous procedure is certainly nastier than using subs to create a check in the header.

@weirp Are the scalars a and b going to be specific numeric values at the time of execution, or will they be unspecified symbols? If the latter, then I'm afraid that your computation is not feasible. The size of A[k] grows by a factor of about 3 for each k, and A[16] is already 460 megabytes. Whereas with a and b as specific integers I've finished the computation up to k = 100 in a few seconds with no problems.

@pepegna90 I have the worksheet already! I need the matrix data. That's what I couldn't find on filedropper.

You've given the initial value for k. I think that it is also necessary to give initial values for i and j and also to specify their upper bounds.

@pepegna90 I can't find your file from the link on filedropper. The link just takes me to the fledropper main page.

@Joe Riel Can you please show this example done with objects? Would using objects avoid the "nastiness" of having to use subs?

First 567 568 569 570 571 572 573 Last Page 569 of 709