Carl Love

Carl Love

28055 Reputation

25 Badges

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

MaplePrimes Activity


These are replies submitted by Carl Love

Rouben: This Reply is to expand on what Acer said: "It's because Vectors are mutable". Items in a set are collasped if they are identical, i.e., they are in fact the same entity stored at the same address. This is the same (arguably flimsy) criterion used to determine equality in the expression evalb(A=B), the statement if A=B then..., etc. (but not the profound expression is(A=B)!). Two lists containing identical elements in the same order are themselves identical; thus lists are said to be immutable. (A list can only be created or destroyed; it can't be modified.) But two tables or rtables (Arrays, Vectors, Matrixes) containing identical entries in the same order are separate entities; they are said to be mutable. (An entry of an rtable can be changed without destroying and recreating the whole rtable.) To determine the equality of rtables, there're various tricks, one of which is conversion to list or listlist form. Another is the (poorly placed) command LinearAlgebra:-Equal, which has nothing to do with linear algebra.

Acer also brought up the point of determing the equality of floating-point rtables. He mentioned using an SVD. Hmm, that seems like overkill to me, but I'm willing to be convinced otherwise by an example. Personally, I'd compute pairwise (via ListTools:-Categorize) the LinearAlgebra:-Norm (or LinearAlgebra:-MatrixNorm) of the differences.

@Alejandro Jakubi Thanks for the PURRS.

Can you show an example of using the ansatz? Can it be applied to the linear homogenous constant-coefficient recurrence

B(n,k) = B(n-1,k) + B(n-1,k-1), B(n,0)=1, B(n,n)=1, for all n,k >= 0,

whose solution is very well known (binomial(n,k))?

@testht06 

Okay, I understand the project now, and I'll work on it. Please post any followups in the new Question thread.

Okay, now I'm sure that you mean that D is diagonal, not that it's diagonalizable.

 

 

@testht06 

You say D is a diagonalizable matrix of the eigenvalues of M. That doesn't quite make sense to me. Do you mean that D is a diagonal matrix of the eigenvalues of M?

What does D^(1/4) mean? Do you mean the fourth roots? Since we know that the eigenvalues of M are in GF(2^16), will we need to go to GF((2^16)^4) to get the fourth roots? Which of the four fourth roots do you want to use?

Would you post your code so far?

@testht06 

Are you saying that the matrices P and D are given, and that you simply need to compute P.D^(1/4).P^(-1)? Or are you talking about the same matrix as in the previous problem? Can you show your attempt so far? Mightn't we need to go to GF((2^8)^4) to get the fourth roots of the elements of D?

Shouldn't you be asking this as a new Question, a separate thread?

@testht06 

I added many comments to the Answer worksheet above, and I added code to represent the irreducible factor in the new field, extract both its roots, and verify the relationship (1st root)^256 = (2nd root).

@al-faraj The commands solve and eval are very different---nearly the opposite of each other. If you have an expression with x and you want to change (or substitute) the x with 17, then the command to use is eval. If you have an expression with x and you want to rearrange it so that the x is isolated on the left side of the equal sign, then the command to use is solve.

Why I say that they are nearly opposite: with solve Maple can tell you that x = 17; with eval you can tell Maple that x= 17.

By the way, I didn't ask for an explanation of what you were doing; I asked to see your code. I understand what power regression is.

@testht06 Please proofread your Replies carefully. Okay, I understand the encoding scheme now. Are you sure that that coefficient is 213? I have checked many different ways, and I get 231 every time. If this is because of a different version of Maple, it will be important to investigate what causes the difference. And note that you misentered the field extension above as x^8+y^4+y^3+1.

And you still have not explained what 256^256 = 487 means.

@ 

I am a committed user of the 1D input. But I do disagree with you about .mws versus .mw. The dichotomy is better known as Classic GUI versus Standard GUI. Yes, Standard is a little slower, and yes, Standard uses a lot more RAM. But there are many features, especially many plotting features, that are only available in Standard. One notable feature of Standard is Code Edit Regions. This is a much easier way to manage a code of a few hundred lines than is a Classic worksheet.

While Standard does use significantly more RAM, so do almost all modern programs. The amount that it uses is usually insignificant on my 16GB system.

Like I said before, the only coefficients in the field GF(2^8) are 0 and 1. So what do your 27, 16, 37, 217, 213, and 30 mean? Is that some way of encoding the 256 polynomial members of the field? For example, does your 16 represent alpha^4 where alpha is root of x^8+x^4+x^3+1?

You wrote,

The factors of this polynomial are: (x + 37)(x + 217)(x^2 + 213x +30) (in maple)

Can you show the Maple command that gave you this?

Furthermore, x^8+x^4+x^3+1 can be factored mod 2, so it doesn't define a valid field extension! My guess is that you mistyped that when you posted and that you meant x^8+x^4+x^3+x+1.

If I make the above correction and use the natural binary encoding scheme, then I get that the factors are (x+37)(x+217)(x^2+231x+30). Note that my coefficients are slightly different from yours: I have 231 instead of 213.

Finally, what does 256^256 = 487 mean? I can't wrap my head around that in any encoding scheme.

@khoirun 

Like the error message says, your system probably does have a singularity at .73473335. If so, that's a mathematical limitation---not a Maple limitation---and there's no way around it. If you believe that the error message is incorrect---that there actually is no singularity---then post your code and someone here will look at it and give you an opinion. It would be best if you posted the code as a new Question rather than appending it to this thread.

I can't see anything wrong with your code as posted. There may be an extraneous invisible character in your worksheet. I am suspicious about the superfluous parentheses around the 2 in -(2). Please upload your worksheet.

Or, just retype the command on a new line. Like I said, I don't see anything wrong with your command. Explicitly retype it---don't cut and paste.

@khoirun You misspelled the command name. It is DEplot3d, not ODEplot3d. Since it is in the package DEtools, you need to either issue the command with(DEtools), or refer to the command as DEtools[DEplot3d].

@Kitonum 

This is an aside, just a coding tip for Kitonum: When you use option remember, there's no need to explicitly assign entries in the remember table. They are assigned automatically. So, your code could be

M:= proc(k::nonnegint, n::nonnegint)
option remember;
     if k*n = 0 then 0
     elif k = 1 then n
     elif n = 1 then 1
     else M(k,n-1)+M(k-1,n-1)+M(k-2,n-2)
     end if
end proc:

Or, looked at another way, your code would do the same thing without option remember because you explicitly assign the remember table entries.

First 494 495 496 497 498 499 500 Last Page 496 of 709