I want to calculate the Sign function of a matrix Z by using the Green’s matrix function G[t].The above steps will help understanding the problem:
1]Solve G’[t]=ZG[t]+?? Where ? is the Dirac function,I the identity matrix,Z the constant matrix and G[t] which i want.
2] We take the limits limit t->0+G[t]=G[+0] and t->0-G[t]=G[-0]
3]the SignZ=-(G[+0] +G[-0] ).
I have already do these steps but one property for SignZ is that (signZ)^2=I. Any opinion ?
With Best Regards Dimitrios
Several comments
- It seems that you are not using Mathematica version 11. Now the
result is returned in terms of the HeavisideTheta function and the
values returned are undecidable, e.g.
-1+2.0 HeavisideTheta[0.] etc (you cannot determine if this is positive or negative as 0 < HeavisideTheta[0] < 1 - - You need to use Chop to remove numerical round off errors
- Use DSolveValue to get the result as a list of answers rather than a list of rules (that you remove anyway).
- You might work with exact values (so, no need for Chop) if you set Amat with exact integers. The Limit function can handle the Root objects correctly
- As for the desired property for Zsgn, you can define that in case where Zsgn is a symbol (or more accurately, when Zsgn is a symbolic function head) rather than a variable bounded to some value
I attach here a notebook with changes for comments 1,3,4 (no need for Chop in comment 2 when using comment 4).
yehuda