Carl Love

Carl Love

28100 Reputation

25 Badges

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

MaplePrimes Activity


These are replies submitted by Carl Love

@tomleslie I see no way of answering your quiz II questions without knowing what the expressions are. Since it's the same group of five commands in each group, it's clearly impossible to answer.

Most of your frustration is simply due to your not knowing the correct command for proving the mathematical equality of symbolic expressions over the complex numbers: is. Unfortunately it's poorly documented: Its help page being lumped together with assume, one might be misled into thinking that it only pertained to expressions to which assumptions apply. So replace all your simplifyexpand, etc., with is(A=B), which uses trivalent logic, returning true, false, or FAIL. Without seeing your expressions t1,...,t7, I bet that it'll return true in every case.

I find absurd the idea that the necessarily kernel-level statement "if A=B ..." would do anything other than a simple identity check (although I do appreciate your frustration with not knowing that there is a simple mathematical-level equality checker). How would one program the higher-level equality checks such as is without the existence of lower-level checks? How would one check whether an expression needed to be rearranged or simplified?

Regarding IsMatrixShape(..., symmetric): It can be extended to use is-level checking by a one-liner:

`IsMatrixShape/IsSymmetric`:= A-> A::'Matrix'('square') and andmap(is, A=~A^%T):

A:= <0, x*(x+1); x^2+x, 0>:
IsMatrixShape(A, IsSymmetric);

     true

@Alex Smith Thanks for the update. Is there an analogous situation with "surface integral" vs. "flux integral" that would explain the OP's difficulties?

Looking through a few calculus textbooks and several online references, it was difficult to verify what you said. I did ultimately find one source on the web that backs up what you said (17calculus.com). So, my preliminary survey suggests that for most modern authors the direction matters in a path integral.

@zia9206314 

The word plot is in a text field. If you change that to executable code, the command works as is.

Your wording suggests that you intended for there to be some code accompanying your Question, but there is no code. You can enter or cut-and-paste code as plaintext or use the green uparrow tool (last item on the second row of the toolbar in the MaplePrimes editor) to upload a worksheet.

@tomleslie You wrote:

M1:= < <0, x*(1+x)> | <0, 0> >:
M2:= < <0, 0> | <x+x**2, 0> >:
M1+M2; # whatever Maple says, this matrix is symmetric!

Whether it's symmetric depends on whether x*(1+x) is equal to x+x^2 and that depends on the domain of discourse. If the domain is complex numbers, then they're equal. If the domain is abstract symbolic expressions, then they're not equal.

IsMatrixShape( M1+M2, symmetric);

This will return false because x*(1+x) is not identically equal to x+x^2. (Note that x^2 is identically equal to x**2.)

IsMatrixShape( simplify(M1+M2), symmetric);

This will return false because simplify neither expands nor factors, so it causes no change to M1+M2.

IsMatrixShape( simplify(M1)+simplify(M2), symmetric);

Once again, simplify has no effect on these expressions, so this will return false.

IsMatrixShape( simplify~(M1)+simplify~(M2), symmetric);

Ditto: false.

IsMatrixShape( simplify~(M1+M2), symmetric);

Ditto: false.

IsMatrixShape( expand(M1+M2), symmetric);

Since expand does not automatically map over Matrices, this will return false.

IsMatrixShape( expand(M1)+expand(M2), symmetric);

Ditto: false.

IsMatrixShape( expand~(M1)+expand~(M2), symmetric);

Since expand changes x*(1+x) to x+x^2, the expressions are now identical, and this will return true.

IsMatrixShape( expand~(M1+M2), symmetric);

Ditto: true.

Upon grading my quiz in Maple 2015, I see that I got them all right.

 

 

 

 

 

@Guy1 But how can you get to the next line so that you can enter a chevron without first pressing Shift+Enter?

@bfathi 

You just need to enter the code for dsnumsort, which appears at the end of the section 25.5.1. Omit the read command.

What's a .wm file? I use Maple 2015 with .mw files and 1D input, and I have no trouble entering multi-line commands. I use Shift-Enter to continue a line.

@aamirkhan 

Q is not the same thing as `#mi("Q")`. Likewise for M. I don't know how those names got misrepresented as the longer forms. That's one of the mysteries of 2D input. Perhaps it has something to with entry by palette or cut and paste. But the other Qs in the expression are normal.

@tomleslie 

In your expression assigning the value of B__22, you refer to R__bL2, but the matrix that you defined above that is Rb__L2. Also, you've used `*` in two places in that expression where you should've used `.`.

I know that it's that simple because I corrected the OP's worksheet simply by retyping the first term like I described. If IsMatrixShape returns true, which it did, then the problem is corrected.

Would you check carefully whether you're missing any second derivatives in the PDEs? I find it somewhat surprising that there are no second derivatives of u or v, and yet your boundary conditions specify the values of u and v on both boundaries.

@Markiyan Hirnyk 

Note that the OrthogonalExpansions package needs to be downloaded (as explained in Kitonum's Answer) before you can read its help file. For Maple 18+, the help file will need to be converted to the new format. The DiscreteTransforms package comes with Maple.

@Axel Vogt 

is(t^2 < exp(t)) assuming t > 0;

     true

@jahan I found the following worksheet for you. The worksheet contains instructions for downloading and using the package. Note that you will have to read the worksheet before you execute it, because executing it requires having the package.

ShootBVP.mw

It is great that you uploaded a worksheet. Considering that your code is so short, I think that it would facilitate the ensuing dicussion if you also pasted the code directly into your Question. Here it is, with the blank lines deleted:

Partition := proc(n::integer) local i, Integer, Sum, Partition:
    Sum := 0;
  for i from 1 to n do
    while Sum < n do
      Integer [i] := RandomTools[Generate](integer(range = 1..n));
      Partition := Vector[row](Integer[i]);
      Sum:= Integer [i] + Sum;
    end do;
  end do;
 print(Partition);
end;

First 499 500 501 502 503 504 505 Last Page 501 of 709