blob: 19016d2beae5471fac4b236f284859450cac46f5 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>BaseAbstractUnivariateIntegrator (Apache Commons Math 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="BaseAbstractUnivariateIntegrator (Apache Commons Math 3.3 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BaseAbstractUnivariateIntegrator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../../org/apache/commons/math3/analysis/integration/IterativeLegendreGaussIntegrator.html" title="class in org.apache.commons.math3.analysis.integration"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html" target="_top">Frames</a></li>
<li><a href="BaseAbstractUnivariateIntegrator.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.analysis.integration</div>
<h2 title="Class BaseAbstractUnivariateIntegrator" class="title">Class BaseAbstractUnivariateIntegrator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html" title="interface in org.apache.commons.math3.analysis.integration">UnivariateIntegrator</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/apache/commons/math3/analysis/integration/IterativeLegendreGaussIntegrator.html" title="class in org.apache.commons.math3.analysis.integration">IterativeLegendreGaussIntegrator</a>, <a href="../../../../../../org/apache/commons/math3/analysis/integration/LegendreGaussIntegrator.html" title="class in org.apache.commons.math3.analysis.integration">LegendreGaussIntegrator</a>, <a href="../../../../../../org/apache/commons/math3/analysis/integration/MidPointIntegrator.html" title="class in org.apache.commons.math3.analysis.integration">MidPointIntegrator</a>, <a href="../../../../../../org/apache/commons/math3/analysis/integration/RombergIntegrator.html" title="class in org.apache.commons.math3.analysis.integration">RombergIntegrator</a>, <a href="../../../../../../org/apache/commons/math3/analysis/integration/SimpsonIntegrator.html" title="class in org.apache.commons.math3.analysis.integration">SimpsonIntegrator</a>, <a href="../../../../../../org/apache/commons/math3/analysis/integration/TrapezoidIntegrator.html" title="class in org.apache.commons.math3.analysis.integration">TrapezoidIntegrator</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">BaseAbstractUnivariateIntegrator</span>
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html" title="interface in org.apache.commons.math3.analysis.integration">UnivariateIntegrator</a></pre>
<div class="block">Provide a default implementation for several generic functions.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.2</dd>
<dt><span class="strong">Version:</span></dt>
<dd>$Id: BaseAbstractUnivariateIntegrator.java 1455194 2013-03-11 15:45:54Z luc $</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#DEFAULT_ABSOLUTE_ACCURACY">DEFAULT_ABSOLUTE_ACCURACY</a></strong></code>
<div class="block">Default absolute accuracy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#DEFAULT_MAX_ITERATIONS_COUNT">DEFAULT_MAX_ITERATIONS_COUNT</a></strong></code>
<div class="block">Default maximal iteration count.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#DEFAULT_MIN_ITERATIONS_COUNT">DEFAULT_MIN_ITERATIONS_COUNT</a></strong></code>
<div class="block">Default minimal iteration count.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#DEFAULT_RELATIVE_ACCURACY">DEFAULT_RELATIVE_ACCURACY</a></strong></code>
<div class="block">Default relative accuracy.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/util/Incrementor.html" title="class in org.apache.commons.math3.util">Incrementor</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#iterations">iterations</a></strong></code>
<div class="block">The iteration count.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#BaseAbstractUnivariateIntegrator(double, double)">BaseAbstractUnivariateIntegrator</a></strong>(double&nbsp;relativeAccuracy,
double&nbsp;absoluteAccuracy)</code>
<div class="block">Construct an integrator with given accuracies.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#BaseAbstractUnivariateIntegrator(double, double, int, int)">BaseAbstractUnivariateIntegrator</a></strong>(double&nbsp;relativeAccuracy,
double&nbsp;absoluteAccuracy,
int&nbsp;minimalIterationCount,
int&nbsp;maximalIterationCount)</code>
<div class="block">Construct an integrator with given accuracies and iteration counts.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#BaseAbstractUnivariateIntegrator(int, int)">BaseAbstractUnivariateIntegrator</a></strong>(int&nbsp;minimalIterationCount,
int&nbsp;maximalIterationCount)</code>
<div class="block">Construct an integrator with given iteration counts.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#computeObjectiveValue(double)">computeObjectiveValue</a></strong>(double&nbsp;point)</code>
<div class="block">Compute the objective function value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected abstract double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#doIntegrate()">doIntegrate</a></strong>()</code>
<div class="block">Method for implementing actual integration algorithms in derived
classes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#getAbsoluteAccuracy()">getAbsoluteAccuracy</a></strong>()</code>
<div class="block">Get the actual absolute accuracy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#getEvaluations()">getEvaluations</a></strong>()</code>
<div class="block">Get the number of function evaluations of the last run of the integrator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#getIterations()">getIterations</a></strong>()</code>
<div class="block">Get the number of iterations of the last run of the integrator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#getMax()">getMax</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#getMaximalIterationCount()">getMaximalIterationCount</a></strong>()</code>
<div class="block">Get the upper limit for the number of iterations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#getMin()">getMin</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#getMinimalIterationCount()">getMinimalIterationCount</a></strong>()</code>
<div class="block">Get the min limit for the number of iterations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#getRelativeAccuracy()">getRelativeAccuracy</a></strong>()</code>
<div class="block">Get the actual relative accuracy.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#integrate(int, org.apache.commons.math3.analysis.UnivariateFunction, double, double)">integrate</a></strong>(int&nbsp;maxEval,
<a href="../../../../../../org/apache/commons/math3/analysis/UnivariateFunction.html" title="interface in org.apache.commons.math3.analysis">UnivariateFunction</a>&nbsp;f,
double&nbsp;lower,
double&nbsp;upper)</code>
<div class="block">Integrate the function in the given interval.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html#setup(int, org.apache.commons.math3.analysis.UnivariateFunction, double, double)">setup</a></strong>(int&nbsp;maxEval,
<a href="../../../../../../org/apache/commons/math3/analysis/UnivariateFunction.html" title="interface in org.apache.commons.math3.analysis">UnivariateFunction</a>&nbsp;f,
double&nbsp;lower,
double&nbsp;upper)</code>
<div class="block">Prepare for computation.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_ABSOLUTE_ACCURACY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_ABSOLUTE_ACCURACY</h4>
<pre>public static final&nbsp;double DEFAULT_ABSOLUTE_ACCURACY</pre>
<div class="block">Default absolute accuracy.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator.DEFAULT_ABSOLUTE_ACCURACY">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DEFAULT_RELATIVE_ACCURACY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_RELATIVE_ACCURACY</h4>
<pre>public static final&nbsp;double DEFAULT_RELATIVE_ACCURACY</pre>
<div class="block">Default relative accuracy.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator.DEFAULT_RELATIVE_ACCURACY">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DEFAULT_MIN_ITERATIONS_COUNT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_MIN_ITERATIONS_COUNT</h4>
<pre>public static final&nbsp;int DEFAULT_MIN_ITERATIONS_COUNT</pre>
<div class="block">Default minimal iteration count.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator.DEFAULT_MIN_ITERATIONS_COUNT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DEFAULT_MAX_ITERATIONS_COUNT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_MAX_ITERATIONS_COUNT</h4>
<pre>public static final&nbsp;int DEFAULT_MAX_ITERATIONS_COUNT</pre>
<div class="block">Default maximal iteration count.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator.DEFAULT_MAX_ITERATIONS_COUNT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="iterations">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>iterations</h4>
<pre>protected final&nbsp;<a href="../../../../../../org/apache/commons/math3/util/Incrementor.html" title="class in org.apache.commons.math3.util">Incrementor</a> iterations</pre>
<div class="block">The iteration count.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="BaseAbstractUnivariateIntegrator(double, double, int, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BaseAbstractUnivariateIntegrator</h4>
<pre>protected&nbsp;BaseAbstractUnivariateIntegrator(double&nbsp;relativeAccuracy,
double&nbsp;absoluteAccuracy,
int&nbsp;minimalIterationCount,
int&nbsp;maximalIterationCount)
throws <a href="../../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a>,
<a href="../../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></pre>
<div class="block">Construct an integrator with given accuracies and iteration counts.
<p>
The meanings of the various parameters are:
<ul>
<li>relative accuracy:
this is used to stop iterations if the absolute accuracy can't be
achieved due to large values or short mantissa length. If this
should be the primary criterion for convergence rather then a
safety measure, set the absolute accuracy to a ridiculously small value,
like <a href="../../../../../../org/apache/commons/math3/util/Precision.html#SAFE_MIN"><code>Precision.SAFE_MIN</code></a>.</li>
<li>absolute accuracy:
The default is usually chosen so that results in the interval
-10..-0.1 and +0.1..+10 can be found with a reasonable accuracy. If the
expected absolute value of your results is of much smaller magnitude, set
this to a smaller value.</li>
<li>minimum number of iterations:
minimal iteration is needed to avoid false early convergence, e.g.
the sample points happen to be zeroes of the function. Users can
use the default value or choose one that they see as appropriate.</li>
<li>maximum number of iterations:
usually a high iteration count indicates convergence problems. However,
the "reasonable value" varies widely for different algorithms. Users are
advised to use the default value supplied by the algorithm.</li>
</ul>
</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>relativeAccuracy</code> - relative accuracy of the result</dd><dd><code>absoluteAccuracy</code> - absolute accuracy of the result</dd><dd><code>minimalIterationCount</code> - minimum number of iterations</dd><dd><code>maximalIterationCount</code> - maximum number of iterations</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if minimal number of iterations
is not strictly positive</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if maximal number of iterations
is lesser than or equal to the minimal number of iterations</dd></dl>
</li>
</ul>
<a name="BaseAbstractUnivariateIntegrator(double, double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BaseAbstractUnivariateIntegrator</h4>
<pre>protected&nbsp;BaseAbstractUnivariateIntegrator(double&nbsp;relativeAccuracy,
double&nbsp;absoluteAccuracy)</pre>
<div class="block">Construct an integrator with given accuracies.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>relativeAccuracy</code> - relative accuracy of the result</dd><dd><code>absoluteAccuracy</code> - absolute accuracy of the result</dd></dl>
</li>
</ul>
<a name="BaseAbstractUnivariateIntegrator(int, int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BaseAbstractUnivariateIntegrator</h4>
<pre>protected&nbsp;BaseAbstractUnivariateIntegrator(int&nbsp;minimalIterationCount,
int&nbsp;maximalIterationCount)
throws <a href="../../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a>,
<a href="../../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></pre>
<div class="block">Construct an integrator with given iteration counts.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>minimalIterationCount</code> - minimum number of iterations</dd><dd><code>maximalIterationCount</code> - maximum number of iterations</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if minimal number of iterations
is not strictly positive</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if maximal number of iterations
is lesser than or equal to the minimal number of iterations</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getRelativeAccuracy()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRelativeAccuracy</h4>
<pre>public&nbsp;double&nbsp;getRelativeAccuracy()</pre>
<div class="block">Get the actual relative accuracy.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html#getRelativeAccuracy()">getRelativeAccuracy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html" title="interface in org.apache.commons.math3.analysis.integration">UnivariateIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the accuracy</dd></dl>
</li>
</ul>
<a name="getAbsoluteAccuracy()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAbsoluteAccuracy</h4>
<pre>public&nbsp;double&nbsp;getAbsoluteAccuracy()</pre>
<div class="block">Get the actual absolute accuracy.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html#getAbsoluteAccuracy()">getAbsoluteAccuracy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html" title="interface in org.apache.commons.math3.analysis.integration">UnivariateIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the accuracy</dd></dl>
</li>
</ul>
<a name="getMinimalIterationCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinimalIterationCount</h4>
<pre>public&nbsp;int&nbsp;getMinimalIterationCount()</pre>
<div class="block">Get the min limit for the number of iterations.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html#getMinimalIterationCount()">getMinimalIterationCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html" title="interface in org.apache.commons.math3.analysis.integration">UnivariateIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the actual min limit</dd></dl>
</li>
</ul>
<a name="getMaximalIterationCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaximalIterationCount</h4>
<pre>public&nbsp;int&nbsp;getMaximalIterationCount()</pre>
<div class="block">Get the upper limit for the number of iterations.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html#getMaximalIterationCount()">getMaximalIterationCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html" title="interface in org.apache.commons.math3.analysis.integration">UnivariateIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the actual upper limit</dd></dl>
</li>
</ul>
<a name="getEvaluations()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEvaluations</h4>
<pre>public&nbsp;int&nbsp;getEvaluations()</pre>
<div class="block">Get the number of function evaluations of the last run of the integrator.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html#getEvaluations()">getEvaluations</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html" title="interface in org.apache.commons.math3.analysis.integration">UnivariateIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>number of function evaluations</dd></dl>
</li>
</ul>
<a name="getIterations()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIterations</h4>
<pre>public&nbsp;int&nbsp;getIterations()</pre>
<div class="block">Get the number of iterations of the last run of the integrator.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html#getIterations()">getIterations</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html" title="interface in org.apache.commons.math3.analysis.integration">UnivariateIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>number of iterations</dd></dl>
</li>
</ul>
<a name="getMin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMin</h4>
<pre>protected&nbsp;double&nbsp;getMin()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the lower bound.</dd></dl>
</li>
</ul>
<a name="getMax()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMax</h4>
<pre>protected&nbsp;double&nbsp;getMax()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the upper bound.</dd></dl>
</li>
</ul>
<a name="computeObjectiveValue(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeObjectiveValue</h4>
<pre>protected&nbsp;double&nbsp;computeObjectiveValue(double&nbsp;point)
throws <a href="../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a></pre>
<div class="block">Compute the objective function value.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>point</code> - Point at which the objective function must be evaluated.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the objective function value at specified point.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a></code> - if the maximal number of function
evaluations is exceeded.</dd></dl>
</li>
</ul>
<a name="setup(int, org.apache.commons.math3.analysis.UnivariateFunction, double, double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setup</h4>
<pre>protected&nbsp;void&nbsp;setup(int&nbsp;maxEval,
<a href="../../../../../../org/apache/commons/math3/analysis/UnivariateFunction.html" title="interface in org.apache.commons.math3.analysis">UnivariateFunction</a>&nbsp;f,
double&nbsp;lower,
double&nbsp;upper)
throws <a href="../../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a>,
<a href="../../../../../../org/apache/commons/math3/exception/MathIllegalArgumentException.html" title="class in org.apache.commons.math3.exception">MathIllegalArgumentException</a></pre>
<div class="block">Prepare for computation.
Subclasses must call this method if they override any of the
<code>solve</code> methods.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxEval</code> - Maximum number of evaluations.</dd><dd><code>f</code> - the integrand function</dd><dd><code>lower</code> - the min bound for the interval</dd><dd><code>upper</code> - the upper bound for the interval</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></code> - if <code>f</code> is <code>null</code>.</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MathIllegalArgumentException.html" title="class in org.apache.commons.math3.exception">MathIllegalArgumentException</a></code> - if <code>min &gt;= max</code>.</dd></dl>
</li>
</ul>
<a name="integrate(int, org.apache.commons.math3.analysis.UnivariateFunction, double, double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>integrate</h4>
<pre>public&nbsp;double&nbsp;integrate(int&nbsp;maxEval,
<a href="../../../../../../org/apache/commons/math3/analysis/UnivariateFunction.html" title="interface in org.apache.commons.math3.analysis">UnivariateFunction</a>&nbsp;f,
double&nbsp;lower,
double&nbsp;upper)
throws <a href="../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a>,
<a href="../../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a>,
<a href="../../../../../../org/apache/commons/math3/exception/MathIllegalArgumentException.html" title="class in org.apache.commons.math3.exception">MathIllegalArgumentException</a>,
<a href="../../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></pre>
<div class="block">Integrate the function in the given interval.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html#integrate(int, org.apache.commons.math3.analysis.UnivariateFunction, double, double)">integrate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/analysis/integration/UnivariateIntegrator.html" title="interface in org.apache.commons.math3.analysis.integration">UnivariateIntegrator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>maxEval</code> - Maximum number of evaluations.</dd><dd><code>f</code> - the integrand function</dd><dd><code>lower</code> - the min bound for the interval</dd><dd><code>upper</code> - the upper bound for the interval</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value of integral</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a></code> - if the maximum number of function
evaluations is exceeded.</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a></code> - if the maximum iteration count is exceeded
or the integrator detects convergence problems otherwise</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MathIllegalArgumentException.html" title="class in org.apache.commons.math3.exception">MathIllegalArgumentException</a></code> - if min > max or the endpoints do not
satisfy the requirements specified by the integrator</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></code> - if <code>f</code> is <code>null</code>.</dd></dl>
</li>
</ul>
<a name="doIntegrate()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>doIntegrate</h4>
<pre>protected abstract&nbsp;double&nbsp;doIntegrate()
throws <a href="../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a>,
<a href="../../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a></pre>
<div class="block">Method for implementing actual integration algorithms in derived
classes.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the root.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a></code> - if the maximal number of evaluations
is exceeded.</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a></code> - if the maximum iteration count is exceeded
or the integrator detects convergence problems otherwise</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BaseAbstractUnivariateIntegrator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../../org/apache/commons/math3/analysis/integration/IterativeLegendreGaussIntegrator.html" title="class in org.apache.commons.math3.analysis.integration"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/analysis/integration/BaseAbstractUnivariateIntegrator.html" target="_top">Frames</a></li>
<li><a href="BaseAbstractUnivariateIntegrator.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>