(* Copyright INRIA and Microsoft Corporation, 2008-2013. *)
(* DDMF is distributed under CeCILL-B license. *)


let italic s = DC.dstyle (DC.css_of_string "font-style: italic") s

let glossary =
  (* Please, keep the notions alphabetically sorted. *)
        An $(italic "ansatz") is an expression for the general solutions \
        of a problem, or for most of them, which typically involves \
        undetermined coefficients, and is used for an educated guess.\
      >>)) ;
    ("Chebyshev expansion",
        A $(italic "Chebyshev expansion") is a series of the form \
        <:imath<f(x)=\frac{c_0}{2}+\sum_{n=1}^{+\infty} c_nT_n(x)>> \
        where <:imath<T_n(x)>> denotes the <:imath<n>>th Chebyshev polynomial \
        of the first kind.\
      >>)) ;
    ("formal power series",
        A $(italic "formal power series") <:imath<f(x)>> is an infinite sum \
        of the form <:imath<\sum_{n = 0}^\infty f_n x^n>> \
        where the <:imath<f_n>> are in some common ring <:imath<R>>. \
        The coefficient <:imath<f_n>> of <:imath<x^n>> in <:imath<f(x)>> \
        is also denoted <:imath<[x^n] \, f(x)>>. \
        The ring of formal power series is denoted <:imath<R[[x]]>>.\
      >>)) ;
    ("formal logarithmic sum",
        A $(italic "formal logarithmic sum") is a finite sum of the form \
        <:imath<\sum_{\alpha,j} x^\alpha f_{\alpha,j}(x) \log(x)^j>> \
        where the <:imath<\alpha>> are in some common ring <:imath<R>> \
        and the <:imath<f_{\alpha,j}(x)>> are formal power series \
        in <:imath<R[[x]]>>.\
      >>)) ;
    ("indicial equation",
        The $(italic "indicial equation") (or $(italic "indicial polynomial")) \
        of a linear differential equation with polynomial coefficients is the \
        coefficient of the power of_<:imath<x>> with lowest exponent \
        in the expression that is obtained by the substitution \
        <:imath<y(x) = x^\alpha>> into the equation. \
        Its roots are exactly the exponents of <:imath<x>> that can appear \
        as lowest exponents in a series solution of the differential equation.\
     >>)) ;
    ("majorant series",
        A series <:imath<\sum_{n\geq0} g_n z^n>> with nonnegative coefficients \
        is a $(italic "majorant series") of a series \
        <:imath<\sum_{n\geq0} f_n z^n>> with complex coefficients if \
        <:imath<|f_n| \leq g_n>> for all <:imath<n>>.\
      >>)) ;
    ("ordinary point",
        A complex number <:imath<z_0>> is an $(italic "ordinary point") of a \
        linear ordinary differential equation with polynomial coefficients, if \
        the leading coefficient of the equation does not vanish \
        at <:imath<z_0>>.\
      >>)) ;
    ("ramification index",
        The $(italic "ramification index") is the smallest positive \
        integer <:imath<r>> such that the exponent of an exponential factor \
        can be expressed as a polynomial in <:imath<x^{-1/r}>>.
      >>)) ;
    ("singular point",
        A complex number <:imath<z_0>> is a $(italic "singular point") (or \
        $(italic "singularity") of a linear ordinary differential equation \
        with polynomial coefficients, if the leading coefficient of the \
        equation vanishes at <:imath<z_0>>.\
      >>)) ;
    ("Laplace transform",
        The $(italic "Laplace transform") of a function <:imath<f>> of the \
        variable <:imath<z>> is the function <:imath<F>> defined by the \
        integral <:imath<F(s) = \int_0^\infty e^{-sz} f(z) \,dz>>.\

(* A single function, named g for conciseness, as it is called Glossary.g. *)
let g ?(display = None) notion =
  let body =
    try List.assoc notion glossary with
    | Not_found ->
      <:text<($(italic notion) deserves a definition)>>

    (match display with
    | Some d -> d
    | None -> notion)

let title _ = <:text<Glossary>>

let par = (fun (_, body) -> <:par< $(t_ent:body) >>) glossary

let_service Glossary : DC.sec_entities * unit with { title = title } =
    (title ())
    (if not (DynaMoW.Services.Renderings.is_defined ()) then
        Make sure you have selected a mathematical rendering
        from the DDMF home page before looking at the glossary.
    else DC.unordered_list par),

Generated by GNU Enscript