Question: strange behaviour of signum(1,name) that give a BIG PROBLEM when creatiin fortran subroutine

Hi to everybody. I have to derive in "x" a few times an expression that contains the term signum(Q), where Q =Q(x). The problem is that maple derive also signum and gives as results signum(1,Q) so in my long expression there are a lot of signum(1,Q) . The problem is that when I create a fortran subroutine that compute this expression i get the warning

"the function "signum"  is not recognized in the target language".

So the problem is duplex:

1)maple make a lot of computation deriving all the signum(1,Q)  and the expression becomes very large.

2)When I create the fortran subroutine this is not efficient cause I have to substitute signum(1,Q)  with zero and it makes a lot of not necessary computations

So I tryed to assume my variable Q as:

assume(Q<>0);

but signum(1,Q) is not zero why? If I assume

assume(Q>0);

writing signum(1,Q)  i get zero! it's quite strange! how can i get zero when i compute signum(1,Q)?thanks

alberto

 

Please Wait...