Robert Israel

6577 Reputation

21 Badges

18 years, 211 days
University of British Columbia
Associate Professor Emeritus
North York, Ontario, Canada

MaplePrimes Activity


These are replies submitted by Robert Israel

> de:= diff(a(x),x)=evalc(Im(diff(F(x),x)/F(x)))*180/Pi:
  DEtools[DEplot](de, a(x), x=-0.1 .. 2, 
     [a(1)=argument(F(1))*180/Pi], 
     linecolour=black, arrows=none);
Note that the argument of your F actually doesn't exist at x=0 (because F(0) = 0), which is why I made the initial condition at x=1.
> de:= diff(a(x),x)=evalc(Im(diff(F(x),x)/F(x)))*180/Pi:
  DEtools[DEplot](de, a(x), x=-0.1 .. 2, 
     [a(1)=argument(F(1))*180/Pi], 
     linecolour=black, arrows=none);
Note that the argument of your F actually doesn't exist at x=0 (because F(0) = 0), which is why I made the initial condition at x=1.
The change in densityplot in Maple 11 has been discussed here before. It's intended to provide a smoother representation of the function, but clearly there's a bug here. One would think that the following command would make the colour depend only on y, but instead it seems to me that it depends on y/x, as the superimposed contourplot shows.
> display([densityplot(y, x = 0 .. 3, y = 0 .. x, scaling = constrained, colorstyle = HUE, style=patchnogrid),
  contourplot(x*y, x = 0 .. 3, y = 0 .. x, colour=black)]);
On the other hand, in this one the colour does depend on y, but shouldn't:
> display([densityplot(y/x, x = 0 .. 3, y = 0 .. x, scaling = constrained, colorstyle = HUE, style=patchnogrid),
  contourplot(y, x = 0 .. 3, y = 0 .. x, colour=black)]);
It didn't lose those terms when I did it. Perhaps you're confused because the polynomial S might not come out in sorted order.
> sort(S,x,ascending);
will put it in ascending order of powers of x. With or without that, coeff will let you access individual coefficients. It also lets you access individual coefficients of the Taylor series T.
Let A(j), j=1..12, be your matrices, B(j) the corresponding matrices of real parts, C(j) the corresponding matrices of imaginary parts. Then you want to check that the system of (real) equations sum(B(j)*x[j],j=1..12)=0 and sum(C(j)*x[j],j=1..12)=0 has no nontrivial solutions. For example:
> with(LinearAlgebra):
  eqs:= {seq(seq(add(Re(A(j)[i,k])*x[j],j=1..12)=0, 
        i=1..4),k=1..4),
     seq(seq(add(Im(A(j)[i,k])*x[j],j=1..12)=0,
        i=1..4),k=1..4)};
  solve(eqs);
The matrices are linearly independent over the reals iff the only solution is all x[j] = 0. Equivalently, the matrix G of coefficients has rank 12.
> G:= GenerateMatrix(eqs,[seq](x[j],j=1..12))[1];
  Rank(G);
I don't think I understand what you think you now understand. In no case are we talking about the reciprocals of matrix elements. If f is a one-to-one function on some domain D, f^` -1` is the inverse function, so that (f^` -1`)(f(x)) = x for all `in`(x, D) and f((f^` -1`)(y)) = y for all `in`(y,f(D)). This has nothing specific to do with matrices. f could be a function from any set to any set. If U is a square matrix (which might be the result of applying some function to another matrix), U^` -1` is the inverse matrix, such that U.U^` -1` and U^` -1`.U are the identity matrix.
I don't think I understand what you think you now understand. In no case are we talking about the reciprocals of matrix elements. If f is a one-to-one function on some domain D, f^` -1` is the inverse function, so that (f^` -1`)(f(x)) = x for all `in`(x, D) and f((f^` -1`)(y)) = y for all `in`(y,f(D)). This has nothing specific to do with matrices. f could be a function from any set to any set. If U is a square matrix (which might be the result of applying some function to another matrix), U^` -1` is the inverse matrix, such that U.U^` -1` and U^` -1`.U are the identity matrix.
Your confusion is between the inverse function and the inverse of the value of the function. The inverse of the function exp is ln (at least on an appropriate domain). The inverse of exp(x) is exp(-x). To get 2-D math output in a post, normally you'd use <maple> and </maple> (i.e. "Maple Math") tags. Thus
<maple>exp(x)</maple>
becomes exp(x) However, in this case John uploaded a gif file.
Your confusion is between the inverse function and the inverse of the value of the function. The inverse of the function exp is ln (at least on an appropriate domain). The inverse of exp(x) is exp(-x). To get 2-D math output in a post, normally you'd use <maple> and </maple> (i.e. "Maple Math") tags. Thus
<maple>exp(x)</maple>
becomes exp(x) However, in this case John uploaded a gif file.
Sure, by all means. And if you don't mind, I'd like to see an e-print of the paper (or you could post a link to it here).
Sure, by all means. And if you don't mind, I'd like to see an e-print of the paper (or you could post a link to it here).
I think the point of the exercise was to do it without "max".
I think the point of the exercise was to do it without "max".
Here's one way I might do it.
> Max:= proc()
  local symargs, numargs, m;
  numargs, symargs:= selectremove(type,[args],realcons);
  if nops(numargs) > 0 then
    m:= -infinity;
    for t in numargs do 
       if is(t > m) then m:= t fi
       od;
    if nops(symargs) = 0 then m
    else 'procname'(m,op(symargs))
    fi
  else 'procname'(op(symargs))
  fi
 end proc;
Here's one way I might do it.
> Max:= proc()
  local symargs, numargs, m;
  numargs, symargs:= selectremove(type,[args],realcons);
  if nops(numargs) > 0 then
    m:= -infinity;
    for t in numargs do 
       if is(t > m) then m:= t fi
       od;
    if nops(symargs) = 0 then m
    else 'procname'(m,op(symargs))
    fi
  else 'procname'(op(symargs))
  fi
 end proc;
First 168 169 170 171 172 173 174 Last Page 170 of 187