{
  "__type": "IngestedDoc",
  "__tag": 4010,
  "_content": {
    "Notes": {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "For valid results, the integral must converge; behavior for divergent integrals is not guaranteed."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Strong",
              "__tag": 4048,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Extra information for quad() inputs and outputs"
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "If full_output is non-zero, then the third output argument (infodict) is a dictionary with entries as tabulated below. For infinite limits, the range is transformed to (0,1) and the optional outputs are given with respect to this transformed range. Let M be the input argument limit and let K be infodict['last']. The entries are:"
            }
          ]
        },
        {
          "__type": "DefList",
          "__tag": 4033,
          "children": [
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'neval'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "The number of function evaluations."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'last'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "The number, K, of subintervals produced in the subdivision process."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'alist'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 array of length M, the first K elements of which are the     left end points of the subintervals in the partition of the     integration range."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'blist'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 array of length M, the first K elements of which are the     right end points of the subintervals."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'rlist'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 array of length M, the first K elements of which are the     integral approximations on the subintervals."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'elist'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 array of length M, the first K elements of which are the     moduli of the absolute error estimates on the subintervals."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'iord'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 integer array of length M, the first L elements of     which are pointers to the error estimates over the subintervals     with "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "L=K"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " if "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "K<=M/2+2"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " or "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "L=M+1-K"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " otherwise. Let I be the     sequence "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "infodict['iord']"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " and let E be the sequence     "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "infodict['elist']"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ".  Then "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "E[I[1]], ..., E[I[L]]"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " forms a     decreasing sequence."
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "If the input argument points is provided (i.e., it is not None), the following additional outputs are placed in the output dictionary. Assume the points sequence is of length P."
            }
          ]
        },
        {
          "__type": "DefList",
          "__tag": 4033,
          "children": [
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'pts'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 array of length P+2 containing the integration limits     and the break points of the intervals in ascending order.     This is an array giving the subintervals over which integration     will occur."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'level'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 integer array of length M (=limit), containing the     subdivision levels of the subintervals, i.e., if (aa,bb) is a     subinterval of "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "(pts[1], pts[2])"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " where "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "pts[0]"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " and "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "pts[2]"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "     are adjacent elements of "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "infodict['pts']"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", then (aa,bb) has level l     if "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "|bb-aa| = |pts[2]-pts[1]| * 2**(-l)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'ndin'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 integer array of length P+2. After the first integration     over the intervals (pts[1], pts[2]), the error estimates over some     of the intervals may have been increased artificially in order to     put their subdivision forward. This array has ones in slots     corresponding to the subintervals for which this happens."
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Strong",
              "__tag": 4048,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Weighting the integrand"
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "The input variables, "
            },
            {
              "__type": "Emphasis",
              "__tag": 4047,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "weight"
                }
              ]
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " and "
            },
            {
              "__type": "Emphasis",
              "__tag": 4047,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "wvar"
                }
              ]
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", are used to weight the integrand by a select list of functions. Different integration methods are used to compute the integral with these weighting functions, and these do not support specifying break points. The possible values of weight and the corresponding weighting functions are."
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "==========  ===================================   =====================\n``weight``  Weight function used                  ``wvar``\n==========  ===================================   =====================\n'cos'       cos(w*x)                              wvar = w\n'sin'       sin(w*x)                              wvar = w\n'alg'       g(x) = ((x-a)**alpha)*((b-x)**beta)   wvar = (alpha, beta)\n'alg-loga'  g(x)*log(x-a)                         wvar = (alpha, beta)\n'alg-logb'  g(x)*log(b-x)                         wvar = (alpha, beta)\n'alg-log'   g(x)*log(x-a)*log(b-x)                wvar = (alpha, beta)\n'cauchy'    1/(x-c)                               wvar = c\n==========  ===================================   =====================",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "wvar holds the parameter w, (alpha, beta), or c depending on the weight selected. In these expressions, a and b are the integration limits."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "For the 'cos' and 'sin' weighting, additional inputs and outputs are available."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "For weighted integrals with finite integration limits, the integration is performed using a Clenshaw-Curtis method, which uses Chebyshev moments. For repeated calculations, these moments are saved in the output dictionary:"
            }
          ]
        },
        {
          "__type": "DefList",
          "__tag": 4033,
          "children": [
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'momcom'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "The maximum level of Chebyshev moments that have been computed,     i.e., if "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "M_c"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " is "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "infodict['momcom']"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " then the moments have been     computed for intervals of length "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "|b-a| * 2**(-l)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ",     "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "l=0,1,...,M_c"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'nnlog'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 integer array of length M(=limit), containing the     subdivision levels of the subintervals, i.e., an element of this     array is equal to l if the corresponding subinterval is     "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "|b-a|* 2**(-l)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'chebmo'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-2 array of shape (25, maxp1) containing the computed     Chebyshev moments. These can be passed on to an integration     over the same interval by passing this array as the second     element of the sequence wopts and passing infodict['momcom'] as     the first element."
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "If one of the integration limits is infinite, then a Fourier integral is computed (assuming w neq 0). If full_output is 1 and a numerical error is encountered, besides the error message attached to the output tuple, a dictionary is also appended to the output tuple which translates the error codes in the array "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "info['ierlst']"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " to English messages. The output information dictionary contains the following entries instead of 'last', 'alist', 'blist', 'rlist', and 'elist':"
            }
          ]
        },
        {
          "__type": "DefList",
          "__tag": 4033,
          "children": [
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'lst'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "The number of subintervals needed for the integration (call it "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "K_f"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ")."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'rslst'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 array of length M_f=limlst, whose first "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "K_f"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " elements     contain the integral contribution over the interval     "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "(a+(k-1)c, a+kc)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " where "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "c = (2*floor(|w|) + 1) * pi / |w|"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "     and "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "k=1,2,...,K_f"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'erlst'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 array of length "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "M_f"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " containing the error estimate     corresponding to the interval in the same position in     "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "infodict['rslist']"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "'ierlst'"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A rank-1 integer array of length "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "M_f"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " containing an error flag     corresponding to the interval in the same position in     "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "infodict['rslist']"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ".  See the explanation dictionary (last entry     in the output tuple) for the meaning of the codes."
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Strong",
              "__tag": 4048,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Details of QUADPACK level routines"
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "CrossRef",
              "__tag": 4002,
              "value": "quad",
              "reference": {
                "__type": "LocalRef",
                "__tag": 4022,
                "kind": "module",
                "path": "scipy.integrate._quadpack_py:quad"
              },
              "kind": "module"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " calls routines from the FORTRAN library QUADPACK. This section provides details on the conditions for each routine to be called and a short description of each routine. The routine called depends on "
            },
            {
              "__type": "ParamRef",
              "__tag": 4071,
              "name": "weight"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", "
            },
            {
              "__type": "ParamRef",
              "__tag": 4071,
              "name": "points"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " and the integration limits "
            },
            {
              "__type": "ParamRef",
              "__tag": 4071,
              "name": "a"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " and "
            },
            {
              "__type": "ParamRef",
              "__tag": 4071,
              "name": "b"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "================  ==============  ==========  =====================\nQUADPACK routine  `weight`        `points`    infinite bounds\n================  ==============  ==========  =====================\nqagse             None            No          No\nqagie             None            No          Yes\nqagpe             None            Yes         No\nqawoe             'sin', 'cos'    No          No\nqawfe             'sin', 'cos'    No          either `a` or `b`\nqawse             'alg*'          No          No\nqawce             'cauchy'        No          No\n================  ==============  ==========  =====================",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "The following provides a short description from "
            },
            {
              "__type": "FootnoteReference",
              "__tag": 4066,
              "label": "1"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " for each routine."
            }
          ]
        },
        {
          "__type": "DefList",
          "__tag": 4033,
          "children": [
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "qagse"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "is an integrator based on globally adaptive interval     subdivision in connection with extrapolation, which will     eliminate the effects of integrand singularities of     several types. The integration is performed using a 21-point Gauss-Kronrod      quadrature within each subinterval."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "qagie"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "handles integration over infinite intervals. The infinite range is     mapped onto a finite interval and subsequently the same strategy as     in "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "QAGS"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " is applied."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "qagpe"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "serves the same purposes as QAGS, but also allows the     user to provide explicit information about the location     and type of trouble-spots i.e. the abscissae of internal     singularities, discontinuities and other difficulties of     the integrand function."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "qawoe"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "is an integrator for the evaluation of     "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\int^b_a \\cos(\\omega x)f(x)dx"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " or     "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\int^b_a \\sin(\\omega x)f(x)dx"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "     over a finite interval [a,b], where "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\omega"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " and "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "f"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "     are specified by the user. The rule evaluation component is based     on the modified Clenshaw-Curtis technique"
                    }
                  ]
                },
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "An adaptive subdivision scheme is used in connection     with an extrapolation procedure, which is a modification     of that in "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "QAGS"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " and allows the algorithm to deal with     singularities in "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "f(x)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "qawfe"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "calculates the Fourier transform     "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\int^\\infty_a \\cos(\\omega x)f(x)dx"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " or     "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\int^\\infty_a \\sin(\\omega x)f(x)dx"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "     for user-provided "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\omega"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " and "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "f"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ". The procedure of     "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "QAWO"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " is applied on successive finite intervals, and convergence     acceleration by means of the "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\varepsilon"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "-algorithm is applied     to the series of integral approximations."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "qawse"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "approximate "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\int^b_a w(x)f(x)dx"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", with "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "a < b"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " where     "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "w(x) = (x-a)^{\\alpha}(b-x)^{\\beta}v(x)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " with     "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\alpha,\\beta > -1"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", where "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "v(x)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " may be one of the     following functions: "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "1"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\log(x-a)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\log(b-x)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ",     "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\log(x-a)\\log(b-x)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                },
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "The user specifies "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\alpha"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\beta"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " and the type of the     function "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "v"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ". A globally adaptive subdivision strategy is     applied, with modified Clenshaw-Curtis integration on those     subintervals which contain "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "a"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " or "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "b"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DefListItem",
              "__tag": 4037,
              "dt": {
                "__type": "Paragraph",
                "__tag": 4045,
                "children": [
                  {
                    "__type": "Text",
                    "__tag": 4046,
                    "value": "qawce"
                  }
                ]
              },
              "dd": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "compute "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "\\int^b_a f(x) / (x-c)dx"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " where the integral must be     interpreted as a Cauchy principal value integral, for user specified     "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "c"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " and "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "f"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ". The strategy is globally adaptive. Modified     Clenshaw-Curtis integration is used on those intervals containing the     point "
                    },
                    {
                      "__type": "InlineMath",
                      "__tag": 4057,
                      "value": "x = c"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Strong",
              "__tag": 4048,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Integration of Complex Function of a Real Variable"
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "A complex valued function, "
            },
            {
              "__type": "InlineMath",
              "__tag": 4057,
              "value": "f"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", of a real variable can be written as "
            },
            {
              "__type": "InlineMath",
              "__tag": 4057,
              "value": "f = g + ih"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ".  Similarly, the integral of "
            },
            {
              "__type": "InlineMath",
              "__tag": 4057,
              "value": "f"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " can be written as"
            }
          ]
        },
        {
          "__type": "Math",
          "__tag": 4058,
          "value": "\\int_a^b f(x) dx = \\int_a^b g(x) dx + i\\int_a^b h(x) dx"
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "assuming that the integrals of "
            },
            {
              "__type": "InlineMath",
              "__tag": 4057,
              "value": "g"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " and "
            },
            {
              "__type": "InlineMath",
              "__tag": 4057,
              "value": "h"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " exist over the interval "
            },
            {
              "__type": "InlineMath",
              "__tag": 4057,
              "value": "[a,b]"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " "
            },
            {
              "__type": "FootnoteReference",
              "__tag": 4066,
              "label": "2"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". Therefore, "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "quad"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " integrates complex-valued functions by integrating the real and imaginary components separately."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Strong",
              "__tag": 4048,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Array API Standard Support"
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "CrossRef",
              "__tag": 4002,
              "value": "quad",
              "reference": {
                "__type": "LocalRef",
                "__tag": 4022,
                "kind": "module",
                "path": "scipy.integrate._quadpack_py:quad"
              },
              "kind": "module"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "SCIPY_ARRAY_API=1"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported."
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "====================  ====================  ====================\nLibrary               CPU                   GPU\n====================  ====================  ====================\nNumPy                 ✅                     n/a                 \nCuPy                  n/a                   ⛔                   \nPyTorch               ⛔                     ⛔                   \nJAX                   ⛔                     ⛔                   \nDask                  ⛔                     n/a                 \n====================  ====================  ====================",
          "execution_status": null
        },
        {
          "__type": "Blockquote",
          "__tag": 4059,
          "children": [
            {
              "__type": "Paragraph",
              "__tag": 4045,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "See "
                },
                {
                  "__type": "InlineRole",
                  "__tag": 4003,
                  "value": "dev-arrayapi",
                  "domain": null,
                  "role": "ref",
                  "inventory": null
                },
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": " for more information."
                }
              ]
            }
          ]
        }
      ],
      "title": [],
      "level": 0,
      "target": null
    },
    "Warns": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Raises": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Yields": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Methods": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Returns": {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Parameters",
          "__tag": 4026,
          "children": [
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "y",
              "annotation": "float",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "The integral of func from "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "a"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " to "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "b"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "abserr",
              "annotation": "float",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "An estimate of the absolute error in the result."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "infodict",
              "annotation": "dict",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A dictionary containing additional information."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "",
              "annotation": "message",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A convergence message."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "",
              "annotation": "explain",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Appended only with 'cos' or 'sin' weighting and infinite integration limits, it contains an explanation of the codes in infodict['ierlst']"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "title": [],
      "level": 0,
      "target": null
    },
    "Summary": {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Compute a definite integral."
            }
          ]
        }
      ],
      "title": [],
      "level": 0,
      "target": null
    },
    "Receives": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Warnings": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Attributes": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Parameters": {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Parameters",
          "__tag": 4026,
          "children": [
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "func",
              "annotation": "{function, scipy.LowLevelCallable}",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A Python function or method to integrate. If "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "func"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " takes many arguments, it is integrated along the axis corresponding to the first argument."
                    }
                  ]
                },
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "If the user desires improved integration performance, then "
                    },
                    {
                      "__type": "InlineRole",
                      "__tag": 4003,
                      "value": "f",
                      "domain": null,
                      "role": null,
                      "inventory": null
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " may be a "
                    },
                    {
                      "__type": "CrossRef",
                      "__tag": 4002,
                      "value": "scipy.LowLevelCallable",
                      "reference": {
                        "__type": "RefInfo",
                        "__tag": 4000,
                        "module": "scipy",
                        "version": "*",
                        "kind": "api",
                        "path": "scipy._lib._ccallback:LowLevelCallable"
                      },
                      "kind": "module"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " with one of the signatures      "
                    }
                  ]
                },
                {
                  "__type": "Code",
                  "__tag": 4050,
                  "value": "double func(double x)\ndouble func(double x, void *user_data)\ndouble func(int n, double *xx)\ndouble func(int n, double *xx, void *user_data)",
                  "execution_status": null
                },
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "The "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "user_data"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " is the data contained in the "
                    },
                    {
                      "__type": "CrossRef",
                      "__tag": 4002,
                      "value": "scipy.LowLevelCallable",
                      "reference": {
                        "__type": "RefInfo",
                        "__tag": 4000,
                        "module": "scipy",
                        "version": "*",
                        "kind": "api",
                        "path": "scipy._lib._ccallback:LowLevelCallable"
                      },
                      "kind": "module"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ". In the call forms with "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "xx"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ",  "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "n"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " is the length of the "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "xx"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " array which contains "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "xx[0] == x"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " and the rest of the items are numbers contained in the "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "args"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " argument of quad."
                    }
                  ]
                },
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "In addition, certain ctypes call signatures are supported for backward compatibility, but those should not be used in new code."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "a",
              "annotation": "float",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Lower limit of integration (use -numpy.inf for -infinity)."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "b",
              "annotation": "float",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Upper limit of integration (use numpy.inf for +infinity)."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "args",
              "annotation": "tuple, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Extra arguments to pass to "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "func"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "full_output",
              "annotation": "int, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Non-zero to return a dictionary of integration information. If non-zero, warning messages are also suppressed and the message is appended to the output tuple."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "complex_func",
              "annotation": "bool, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Indicate if the function's ("
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "func"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ") return type is real ("
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "complex_func=False"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ": default) or complex ("
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "complex_func=True"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "). In both cases, the function's argument is real. If full_output is also non-zero, the "
                    },
                    {
                      "__type": "CrossRef",
                      "__tag": 4002,
                      "value": "infodict",
                      "reference": {
                        "__type": "RefInfo",
                        "__tag": 4000,
                        "module": null,
                        "version": null,
                        "kind": "local",
                        "path": "infodict"
                      },
                      "kind": "local"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", "
                    },
                    {
                      "__type": "InlineRole",
                      "__tag": 4003,
                      "value": "message",
                      "domain": null,
                      "role": null,
                      "inventory": null
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", and "
                    },
                    {
                      "__type": "InlineRole",
                      "__tag": 4003,
                      "value": "explain",
                      "domain": null,
                      "role": null,
                      "inventory": null
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " for the real and complex components are returned in a dictionary with keys \"real output\" and \"imag output\"."
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "title": [],
      "level": 0,
      "target": null
    },
    "Extended Summary": {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Integrate func from "
            },
            {
              "__type": "ParamRef",
              "__tag": 4071,
              "name": "a"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " to "
            },
            {
              "__type": "ParamRef",
              "__tag": 4071,
              "name": "b"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " (possibly infinite interval) using a technique from the Fortran library QUADPACK."
            }
          ]
        }
      ],
      "title": [],
      "level": 0,
      "target": null
    },
    "Other Parameters": {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Parameters",
          "__tag": 4026,
          "children": [
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "epsabs",
              "annotation": "float or int, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Absolute error tolerance. Default is 1.49e-8. "
                    },
                    {
                      "__type": "CrossRef",
                      "__tag": 4002,
                      "value": "quad",
                      "reference": {
                        "__type": "LocalRef",
                        "__tag": 4022,
                        "kind": "module",
                        "path": "scipy.integrate._quadpack_py:quad"
                      },
                      "kind": "module"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " tries to obtain an accuracy of "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "abs(i-result) <= max(epsabs, epsrel*abs(i))"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " where "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "i"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " = integral of "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "func"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " from "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "a"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " to "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "b"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", and "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "result"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " is the numerical approximation. See "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "epsrel"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " below."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "epsrel",
              "annotation": "float or int, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Relative error tolerance. Default is 1.49e-8. If "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "epsabs <= 0"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "epsrel"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " must be greater than both 5e-29 and "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "50 * (machine epsilon)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ". See "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "epsabs"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " above."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "limit",
              "annotation": "float or int, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "An upper bound on the number of subintervals used in the adaptive algorithm."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "points",
              "annotation": "(sequence of floats,ints), optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A sequence of break points in the bounded integration interval where local difficulties of the integrand may occur (e.g., singularities, discontinuities). The sequence does not have to be sorted. Note that this option cannot be used in conjunction with "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "weight"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "weight",
              "annotation": "float or int, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "String indicating weighting function. Full explanation for this and the remaining arguments can be found below."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "wvar",
              "annotation": "optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Variables for use with weighting functions."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "wopts",
              "annotation": "optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Optional input for reusing Chebyshev moments."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "maxp1",
              "annotation": "float or int, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "An upper bound on the number of Chebyshev moments."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "limlst",
              "annotation": "int, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Upper bound on the number of cycles (>=3) for use with a sinusoidal weighting and an infinite end-point."
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "title": [],
      "level": 0,
      "target": null
    }
  },
  "_ordered_sections": [
    "Summary",
    "Extended Summary",
    "Parameters",
    "Attributes",
    "Methods",
    "Returns",
    "Yields",
    "Receives",
    "Other Parameters",
    "Raises",
    "Warns",
    "Warnings",
    "Notes"
  ],
  "item_file": "/scipy/integrate/_quadpack_py.py",
  "item_line": 22,
  "item_type": "function",
  "aliases": [
    "scipy.integrate.quad"
  ],
  "example_section_data": {
    "__type": "Section",
    "__tag": 4015,
    "children": [
      {
        "__type": "Text",
        "__tag": 4046,
        "value": "Calculate :math:`\\int^4_0 x^2 dx` and compare with an analytic result\n\n"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "from scipy import integrate\nimport numpy as np\nx2 = lambda x: x**2\n",
        "execution_status": "success"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "integrate.quad(x2, 0, 4)\nprint(4**3 / 3.)  # analytical result\n",
        "execution_status": "failure"
      },
      {
        "__type": "Text",
        "__tag": 4046,
        "value": "\nCalculate :math:`\\int^\\infty_0 e^{-x} dx`\n\n"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "invexp = lambda x: np.exp(-x)\n",
        "execution_status": "success"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "integrate.quad(invexp, 0, np.inf)\n",
        "execution_status": "failure"
      },
      {
        "__type": "Text",
        "__tag": 4046,
        "value": "\nCalculate :math:`\\int^1_0 a x \\,dx` for :math:`a = 1, 3`\n\n"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "f = lambda x, a: a*x\ny, err = integrate.quad(f, 0, 1, args=(1,))\ny\ny, err = integrate.quad(f, 0, 1, args=(3,))\ny\n",
        "execution_status": "success"
      },
      {
        "__type": "Text",
        "__tag": 4046,
        "value": "\nCalculate :math:`\\int^1_0 x^2 + y^2 dx` with ctypes, holding\ny parameter as 1::\n\n    testlib.c =>\n        double func(int n, double args[n]){\n            return args[0]*args[0] + args[1]*args[1];}\n    compile to library testlib.*\n\n::\n\n   from scipy import integrate\n   import ctypes\n   lib = ctypes.CDLL('/home/.../testlib.*') #use absolute path\n   lib.func.restype = ctypes.c_double\n   lib.func.argtypes = (ctypes.c_int,ctypes.c_double)\n   integrate.quad(lib.func,0,1,(1))\n   #(1.3333333333333333, 1.4802973661668752e-14)\n   print((1.0**3/3.0 + 1.0) - (0.0**3/3.0 + 0.0)) #Analytic result\n   # 1.3333333333333333\n\nBe aware that pulse shapes and other sharp features as compared to the\nsize of the integration interval may not be integrated correctly using\nthis method. A simplified example of this limitation is integrating a\ny-axis reflected step function with many zero values within the integrals\nbounds.\n\n"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "y = lambda x: 1 if x<=0 else 0\nintegrate.quad(y, -1, 1)\nintegrate.quad(y, -1, 100)\nintegrate.quad(y, -1, 10000)\n",
        "execution_status": "success"
      }
    ],
    "title": [],
    "level": 0,
    "target": null
  },
  "see_also": [
    {
      "__type": "SeeAlsoItem",
      "__tag": 4028,
      "name": {
        "__type": "CrossRef",
        "__tag": 4002,
        "value": "dblquad",
        "reference": {
          "__type": "LocalRef",
          "__tag": 4022,
          "kind": "module",
          "path": "scipy.integrate._quadpack_py:dblquad"
        },
        "kind": "module"
      },
      "descriptions": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "double integral"
            }
          ]
        }
      ],
      "type": "func"
    },
    {
      "__type": "SeeAlsoItem",
      "__tag": 4028,
      "name": {
        "__type": "CrossRef",
        "__tag": 4002,
        "value": "fixed_quad",
        "reference": {
          "__type": "LocalRef",
          "__tag": 4022,
          "kind": "module",
          "path": "scipy.integrate._quadrature:fixed_quad"
        },
        "kind": "module"
      },
      "descriptions": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "fixed-order Gaussian quadrature"
            }
          ]
        }
      ],
      "type": "func"
    },
    {
      "__type": "SeeAlsoItem",
      "__tag": 4028,
      "name": {
        "__type": "CrossRef",
        "__tag": 4002,
        "value": "nquad",
        "reference": {
          "__type": "LocalRef",
          "__tag": 4022,
          "kind": "module",
          "path": "scipy.integrate._quadpack_py:nquad"
        },
        "kind": "module"
      },
      "descriptions": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "n-dimensional integrals (uses "
            },
            {
              "__type": "InlineRole",
              "__tag": 4003,
              "value": "quad",
              "domain": null,
              "role": null,
              "inventory": null
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " recursively)"
            }
          ]
        }
      ],
      "type": "func"
    },
    {
      "__type": "SeeAlsoItem",
      "__tag": 4028,
      "name": {
        "__type": "CrossRef",
        "__tag": 4002,
        "value": "romb",
        "reference": {
          "__type": "LocalRef",
          "__tag": 4022,
          "kind": "module",
          "path": "scipy.integrate._quadrature:romb"
        },
        "kind": "module"
      },
      "descriptions": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "integrator for sampled data"
            }
          ]
        }
      ],
      "type": "func"
    },
    {
      "__type": "SeeAlsoItem",
      "__tag": 4028,
      "name": {
        "__type": "CrossRef",
        "__tag": 4002,
        "value": "scipy.special",
        "reference": {
          "__type": "LocalRef",
          "__tag": 4022,
          "kind": "module",
          "path": "scipy.special"
        },
        "kind": "module"
      },
      "descriptions": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "for coefficients and roots of orthogonal polynomials"
            }
          ]
        }
      ],
      "type": "func"
    },
    {
      "__type": "SeeAlsoItem",
      "__tag": 4028,
      "name": {
        "__type": "CrossRef",
        "__tag": 4002,
        "value": "simpson",
        "reference": {
          "__type": "LocalRef",
          "__tag": 4022,
          "kind": "module",
          "path": "scipy.integrate._quadrature:simpson"
        },
        "kind": "module"
      },
      "descriptions": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "integrator for sampled data"
            }
          ]
        }
      ],
      "type": "func"
    },
    {
      "__type": "SeeAlsoItem",
      "__tag": 4028,
      "name": {
        "__type": "CrossRef",
        "__tag": 4002,
        "value": "tplquad",
        "reference": {
          "__type": "LocalRef",
          "__tag": 4022,
          "kind": "module",
          "path": "scipy.integrate._quadpack_py:tplquad"
        },
        "kind": "module"
      },
      "descriptions": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "triple integral"
            }
          ]
        }
      ],
      "type": "func"
    }
  ],
  "signature": {
    "__type": "SignatureNode",
    "__tag": 4029,
    "kind": "function",
    "parameters": [
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "func",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": {
          "__type": "Empty",
          "__tag": 4031
        }
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "a",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": {
          "__type": "Empty",
          "__tag": 4031
        }
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "b",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": {
          "__type": "Empty",
          "__tag": 4031
        }
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "args",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "()"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "full_output",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "0"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "epsabs",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "1.49e-08"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "epsrel",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "1.49e-08"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "limit",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "50"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "points",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "None"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "weight",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "None"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "wvar",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "None"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "wopts",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "None"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "maxp1",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "50"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "limlst",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "50"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "complex_func",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "False"
      }
    ],
    "return_annotation": {
      "__type": "Empty",
      "__tag": 4031
    },
    "target_name": "quad"
  },
  "references": [
    ".. [1] Piessens, Robert; de Doncker-Kapenga, Elise;",
    "       Überhuber, Christoph W.; Kahaner, David (1983).",
    "       QUADPACK: A subroutine package for automatic integration.",
    "       Springer-Verlag.",
    "       ISBN 978-3-540-12553-2.",
    "",
    ".. [2] McCullough, Thomas; Phillips, Keith (1973).",
    "       Foundations of Analysis in the Complex Plane.",
    "       Holt Rinehart Winston.",
    "       ISBN 0-03-086370-8"
  ],
  "qa": "scipy.integrate._quadpack_py:quad",
  "arbitrary": [],
  "local_refs": [
    "a",
    "abserr",
    "args",
    "b",
    "complex_func",
    "epsabs",
    "epsrel",
    "full_output",
    "func",
    "infodict",
    "limit",
    "limlst",
    "maxp1",
    "points",
    "weight",
    "wopts",
    "wvar",
    "y"
  ]
}