Changeset ca1eaeb in sasview for src/sas


Ignore:
Timestamp:
Dec 6, 2016 5:14:03 PM (8 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
b61bd57
Parents:
48cd5b3
git-author:
Paul Kienzle <pkienzle@…> (12/06/16 16:24:01)
git-committer:
Paul Kienzle <pkienzle@…> (12/06/16 17:14:03)
Message:

update equations in special function documentation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sasgui/perspectives/fitting/media/plugin.rst

    r48cd5b3 rca1eaeb  
    560560 
    561561    M_PI_180, M_4PI_3: 
    562         $\pi/{180}$, $\tfrac{4}{3}\pi$ 
     562        $\frac{\pi}{180}$, $\frac{4\pi}{3}$ 
    563563    SINCOS(x, s, c): 
    564564        Macro which sets s=sin(x) and c=cos(x). The variables *c* and *s* 
     
    596596These functions have been tuned to be fast and numerically stable down 
    597597to $q=0$ even in single precision.  In some cases they work around bugs 
    598 which appear on some platforms but not others. So use them where needed. 
    599 The list in :code:`source` gives the required dependencies, related to the described function, that have to be added to your model !!! 
    600  
     598which appear on some platforms but not others, so use them where needed. 
     599Add the files listed in :code:`source = ["lib/file.c", ...]` to your *model.py* 
     600file in the order given, otherwise these functions will not be available. 
    601601 
    602602    polevl(x, c, n): 
    603         Polynomial evaluation $p(x) = \sum_{i=0}^n c_i x^{n-i}$ using Horner's 
     603        Polynomial evaluation $p(x) = \sum_{i=0}^n c_i x^i$ using Horner's 
    604604        method so it is faster and more accurate. 
    605605 
    606         $c = \{c_i\}$ is the table of coefficients' values (sorted from the highest order to the constant one). 
    607  
    608         :code:`source = ["lib/polevl.c" ...]` (`link to code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/polevl.c>`_) 
     606        $c = \{c_n, c_{n-1}, \ldots, c_0 \}$ is the table of coefficients, 
     607        sorted from highest to lowest. 
     608 
     609        :code:`source = ["lib/polevl.c", ...]` (`link to code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/polevl.c>`_) 
    609610 
    610611    p1evl(x, c, n): 
    611         Evaluation of normalized polynomial $p(x) = x^n + \sum_{i=1}^n c_i x^{n-i}$ using Horner's 
    612         method so it is faster and more accurate. 
    613  
    614         $c = \{c_i\}$ is the table of coefficients' values (sorted from the highest order to the constant one) 
    615         with $c[n]=c_0=1.0$. 
     612        Evaluation of normalized polynomial $p(x) = x^n + \sum_{i=0}^{n-1} c_i x^i$ 
     613        using Horner's method so it is faster and more accurate. 
     614 
     615        $c = \{c_{n-1}, c_{n-2} \ldots, c_0 \}$ is the table of coefficients, 
     616        sorted from highest to lowest. 
    616617 
    617618        :code:`source = ["lib/polevl.c", ...]` 
     
    621622        Gamma function $\text{sas_gamma}(x) = \Gamma(x)$. 
    622623 
    623         The standard math library gamma function, tgamma(x) is unstable for x below 1 on some platforms. 
     624        The standard math function, tgamma(x) is unstable for $x < 1$ 
     625        on some platforms. 
    624626 
    625627        :code:`source = ["lib/sasgamma.c", ...]` 
     
    628630    sas_erf(x), sas_erfc(x): 
    629631        Error function 
    630         $\text{sas_erf}(x) = \frac{1}{\sqrt\pi}\int_0^x e^{-t^2}\,dt$ 
     632        $\text{sas_erf}(x) = \frac{2}{\sqrt\pi}\int_0^x e^{-t^2}\,dt$ 
    631633        and complementary error function 
    632         $\text{sas_erfc}(x) = \frac{1}{\sqrt\pi}\int_x^{\infty} e^{-t^2}\,dt$. 
    633  
    634         The standard math library erf and erfc are slower and broken 
     634        $\text{sas_erfc}(x) = \frac{2}{\sqrt\pi}\int_x^{\infty} e^{-t^2}\,dt$. 
     635 
     636        The standard math functions erf(x) and erfc(x) are slower and broken 
    635637        on some platforms. 
    636638 
     
    642644        $J_0(x) = \frac{1}{\pi}\int_0^\pi \cos(x\sin(\tau))\,d\tau$. 
    643645 
     646        The standard math function j0(x) is not available on all platforms. 
     647 
    644648        :code:`source = ["lib/polevl.c", "lib/sas_J0.c", ...]` 
    645649        (`link to Bessel function's code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/sas_J0.c>`_) 
     
    649653        $J_1(x) = \frac{1}{\pi}\int_0^\pi \cos(\tau - x\sin(\tau))\,d\tau$. 
    650654 
     655        The standard math function j1(x) is not available on all platforms. 
     656 
    651657        :code:`source = ["lib/polevl.c", "lib/sas_J1.c", ...]` 
    652658        (`link to Bessel function's code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/sas_J1.c>`_) 
    653659 
    654660    sas_JN(n, x): 
    655         Bessel function of the first kind and integer order $n$: $\text{sas_JN}(n, x)=J_n(x)$ where 
     661        Bessel function of the first kind and integer order $n$: 
     662        $\text{sas_JN}(n, x)=J_n(x)$ where 
    656663        $J_n(x) = \frac{1}{\pi}\int_0^\pi \cos(n\tau - x\sin(\tau))\,d\tau$. 
    657  
    658664        If $n$ = 0 or 1, it uses sas_J0(x) or sas_J1(x), respectively. 
     665 
     666        The standard math function jn(n, x) is not available on all platforms. 
    659667 
    660668        :code:`source = ["lib/polevl.c", "lib/sas_J0.c", "lib/sas_J1.c", "lib/sas_JN.c", ...]` 
     
    670678        .. math:: 
    671679 
    672            \begin{equation} 
    673              \text{Si}(x) \sim \frac{\pi}{2} - \frac{\cos(x)}{x}\big(1 - \frac{2!}{x^2} + \frac{4!}{x^4} 
    674              - \frac{6!}{x^6} \big) - \frac{\sin(x)}{x} \big(\frac{1}{x} - \frac{3!}{x^3} + \frac{5!}{x^5} 
    675              - \frac{7!}{x^7}\big) 
    676            \end{equation} 
     680             \text{Si}(x) \sim \frac{\pi}{2} 
     681             - \frac{\cos(x)}{x}\left(1 - \frac{2!}{x^2} + \frac{4!}{x^4} - \frac{6!}{x^6} \right) 
     682             - \frac{\sin(x)}{x}\left(\frac{1}{x} - \frac{3!}{x^3} + \frac{5!}{x^5} - \frac{7!}{x^7}\right) 
    677683 
    678684        For small arguments, 
     
    680686        .. math:: 
    681687 
    682           \begin{equation} 
    683            \text{Si}(x) \sim x - \frac{x^3}{3\times 3!} + \frac{x^5}{5 \times 5!} - \frac{x^7}{7 \times 7!} 
     688           \text{Si}(x) \sim x 
     689           - \frac{x^3}{3\times 3!} + \frac{x^5}{5 \times 5!} - \frac{x^7}{7 \times 7!} 
    684690           + \frac{x^9}{9\times 9!} - \frac{x^{11}}{11\times 11!} 
    685            \end{equation} 
    686691 
    687692        :code:`source = ["lib/Si.c", ...]` 
     
    690695    sph_j1c(x): 
    691696        Spherical Bessel form 
    692         $\text{sph_j1c}(x) = 3 j_1(x)/(x) = 3 (\sin(x) - x \cos(x))/{(x)^3}$, 
    693         with a limiting value of 1 at $x=0$, where $j_1(x)$ is the spherical Bessel function of the first kind 
    694         and first order. 
     697        $\text{sph_j1c}(x) = 3 j_1(x)/x = 3 (\sin(x) - x \cos(x))/x^3$, 
     698        with a limiting value of 1 at $x=0$, where $j_1(x)$ is the spherical 
     699        Bessel function of the first kind and first order. 
    695700 
    696701        This function uses a Taylor series for small $x$ for numerical accuracy. 
     
    701706 
    702707    sas_J1c(x): 
    703         Bessel form $\text{sas_J1c}(x) = 2 J_1(x)/{(x)}$, with a limiting value of 1 at $x=0$, 
    704         where $J_1(x)$ is the Bessel function of first kind and first order. 
     708        Bessel form $\text{sas_J1c}(x) = 2 J_1(x)/x$, with a limiting value 
     709        of 1 at $x=0$, where $J_1(x)$ is the Bessel function of first kind 
     710        and first order. 
    705711 
    706712        :code:`source = ["lib/polevl.c", "lib/sas_J1.c", ...]` 
     
    710716    Gauss76Z[i], Gauss76Wt[i]: 
    711717        Points $z_i$ and weights $w_i$ for 76-point Gaussian quadrature, respectively, 
    712         computing $\int_{-1}^1 f(z)\,dz \approx \sum_{i=1}^{76} w_i f(z_i)$. 
     718        computing $\int_{-1}^1 f(z)\,dz \approx \sum_{i=1}^{76} w_i\,f(z_i)$. 
    713719 
    714720        Similar arrays are available in :code:`gauss20.c` for 20-point 
Note: See TracChangeset for help on using the changeset viewer.