Vous êtes un professionnel et vous avez besoin d'une formation ?
Machine Learning
avec Scikit-Learn
Voir le programme détaillé
Module « scipy.special »
Signature de la fonction sici
def sici(*args, **kwargs)
Description
help(scipy.special.sici)
sici(x[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])
sici(x, out=None)
Sine and cosine integrals.
The sine integral is
.. math::
\int_0^x \frac{\sin{t}}{t}dt
and the cosine integral is
.. math::
\gamma + \log(x) + \int_0^x \frac{\cos{t} - 1}{t}dt
where :math:`\gamma` is Euler's constant and :math:`\log` is the
principal branch of the logarithm [1]_.
Parameters
----------
x : array_like
Real or complex points at which to compute the sine and cosine
integrals.
out : tuple of ndarray, optional
Optional output arrays for the function results
Returns
-------
si : scalar or ndarray
Sine integral at ``x``
ci : scalar or ndarray
Cosine integral at ``x``
See Also
--------
shichi : Hyperbolic sine and cosine integrals.
exp1 : Exponential integral E1.
expi : Exponential integral Ei.
Notes
-----
For real arguments with ``x < 0``, ``ci`` is the real part of the
cosine integral. For such points ``ci(x)`` and ``ci(x + 0j)``
differ by a factor of ``1j*pi``.
For real arguments the function is computed by calling Cephes'
[2]_ *sici* routine. For complex arguments the algorithm is based
on Mpmath's [3]_ *si* and *ci* routines.
References
----------
.. [1] Milton Abramowitz and Irene A. Stegun, eds.
Handbook of Mathematical Functions with Formulas,
Graphs, and Mathematical Tables. New York: Dover, 1972.
(See Section 5.2.)
.. [2] Cephes Mathematical Functions Library,
http://www.netlib.org/cephes/
.. [3] Fredrik Johansson and others.
"mpmath: a Python library for arbitrary-precision floating-point
arithmetic" (Version 0.19) http://mpmath.org/
Examples
--------
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.special import sici, exp1
`sici` accepts real or complex input:
>>> sici(2.5)
(1.7785201734438267, 0.2858711963653835)
>>> sici(2.5 + 3j)
((4.505735874563953+0.06863305018999577j),
(0.0793644206906966-2.935510262937543j))
For z in the right half plane, the sine and cosine integrals are
related to the exponential integral E1 (implemented in SciPy as
`scipy.special.exp1`) by
* Si(z) = (E1(i*z) - E1(-i*z))/2i + pi/2
* Ci(z) = -(E1(i*z) + E1(-i*z))/2
See [1]_ (equations 5.2.21 and 5.2.23).
We can verify these relations:
>>> z = 2 - 3j
>>> sici(z)
((4.54751388956229-1.3991965806460565j),
(1.408292501520851+2.9836177420296055j))
>>> (exp1(1j*z) - exp1(-1j*z))/2j + np.pi/2 # Same as sine integral
(4.54751388956229-1.3991965806460565j)
>>> -(exp1(1j*z) + exp1(-1j*z))/2 # Same as cosine integral
(1.408292501520851+2.9836177420296055j)
Plot the functions evaluated on the real axis; the dotted horizontal
lines are at pi/2 and -pi/2:
>>> x = np.linspace(-16, 16, 150)
>>> si, ci = sici(x)
>>> fig, ax = plt.subplots()
>>> ax.plot(x, si, label='Si(x)')
>>> ax.plot(x, ci, '--', label='Ci(x)')
>>> ax.legend(shadow=True, framealpha=1, loc='upper left')
>>> ax.set_xlabel('x')
>>> ax.set_title('Sine and Cosine Integrals')
>>> ax.axhline(np.pi/2, linestyle=':', alpha=0.5, color='k')
>>> ax.axhline(-np.pi/2, linestyle=':', alpha=0.5, color='k')
>>> ax.grid(True)
>>> plt.show()
Vous êtes un professionnel et vous avez besoin d'une formation ?
RAG (Retrieval-Augmented Generation)et Fine Tuning d'un LLM
Voir le programme détaillé
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :