Si
-- the sine integral functionSi
(x)
represents the sine integral
int(sin(t)/t, t=0..x).
Si(x)
x |
- | an arithmetical expression |
an arithmetical expression.
x
When called with a floating point argument, the function is
sensitive to the environment variable DIGITS
which determines the numerical
working precision.
x
is a floating point number, then
Si
(x)
returns the numerical value of the sine
integral. The special values Si(0)=0 and
Si(infinity)=PI/2, Si(-infinity)=-PI/2 are implemented. For
all other arguments, Si
returns a symbolic function
call.Si
is a kernel function, i.e.,
floating point evaluation is fast.We demonstrate some calls with exact and symbolic input data:
>> Si(0), Si(1), Si(sqrt(2)), Si(x + 1), Si(infinity)
1/2 PI 0, Si(1), Si(2 ), Si(x + 1), -- 2
Floating point values are computed for floating point arguments:
>> Si(-5.0), Si(1.0), Si(2.0 + 10.0*I)
-1.549931245, 0.9460830704, 1187.409493 - 242.5252717 I
The reflection rule Si(-x)=-Si(x) is implemented for negative real numbers and products involving such numbers:
>> Si(-3), Si(-3/7), Si(-sqrt(2)), Si(-x/7), Si(-0.3*x)
1/2 / x \ -Si(3), -Si(3/7), - Si(2 ), - Si| - |, -Si(0.3 x) \ 7 /
No such ``normalization'' occurs for complex numbers or arguments that are not products:
>> Si(- 3 - I), Si(3 + I), Si(x - 1), Si(1 - x)
Si(- 3 - I), Si(3 + I), Si(x - 1), Si(1 - x)
The functions diff
, float
, limit
, and series
handle expressions involving
Si
:
>> diff(Si(x), x, x, x), float(ln(3 + Si(sqrt(PI))))
2 sin(x) sin(x) 2 cos(x) -------- - ------ - --------, 1.502020149 3 x 2 x x
>> limit(Si(2*x^2/(1+x)), x = infinity)
PI -- 2
>> series(Si(x), x = 0), series(Si(x), x = infinity, 3)
3 5 x x 6 PI cos(x) sin(x) / 1 \ x - -- + --- + O(x ), -- - ------ - ------ + O| -- | 18 600 2 x 2 | 3 | x \ x /