blob: 6f878c346cf923f481ed47d7d4b3b8ce7e5e8bdf [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>AbstractIntegrator (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="AbstractIntegrator (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/AbstractIntegrator.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/ode/AbstractParameterizable.html" title="class in org.apache.commons.math3.ode"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/ode/AbstractIntegrator.html" target="_top">Frames</a></li>
<li><a href="AbstractIntegrator.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.ode</div>
<h2 title="Class AbstractIntegrator" class="title">Class AbstractIntegrator</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.ode.AbstractIntegrator</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/ode/FirstOrderIntegrator.html" title="interface in org.apache.commons.math3.ode">FirstOrderIntegrator</a>, <a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html" title="class in org.apache.commons.math3.ode.nonstiff">AdaptiveStepsizeIntegrator</a>, <a href="../../../../../org/apache/commons/math3/ode/nonstiff/RungeKuttaIntegrator.html" title="class in org.apache.commons.math3.ode.nonstiff">RungeKuttaIntegrator</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">AbstractIntegrator</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/ode/FirstOrderIntegrator.html" title="interface in org.apache.commons.math3.ode">FirstOrderIntegrator</a></pre>
<div class="block">Base class managing common boilerplate for all integrators.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>2.0</dd>
<dt><span class="strong">Version:</span></dt>
<dd>$Id: AbstractIntegrator.java 1517418 2013-08-26 03:18:55Z dbrosius $</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>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#isLastStep">isLastStep</a></strong></code>
<div class="block">Indicator for last step.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#resetOccurred">resetOccurred</a></strong></code>
<div class="block">Indicator that a state or derivative reset was triggered by some event.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/commons/math3/ode/sampling/StepHandler.html" title="interface in org.apache.commons.math3.ode.sampling">StepHandler</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#stepHandlers">stepHandlers</a></strong></code>
<div class="block">Step handler.</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/ode/AbstractIntegrator.html#stepSize">stepSize</a></strong></code>
<div class="block">Current stepsize.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#stepStart">stepStart</a></strong></code>
<div class="block">Current step start time.</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/ode/AbstractIntegrator.html#AbstractIntegrator()">AbstractIntegrator</a></strong>()</code>
<div class="block">Build an instance with a null name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#AbstractIntegrator(java.lang.String)">AbstractIntegrator</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Build an instance.</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/ode/AbstractIntegrator.html#acceptStep(org.apache.commons.math3.ode.sampling.AbstractStepInterpolator, double[], double[], double)">acceptStep</a></strong>(<a href="../../../../../org/apache/commons/math3/ode/sampling/AbstractStepInterpolator.html" title="class in org.apache.commons.math3.ode.sampling">AbstractStepInterpolator</a>&nbsp;interpolator,
double[]&nbsp;y,
double[]&nbsp;yDot,
double&nbsp;tEnd)</code>
<div class="block">Accept a step, triggering events and step handlers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#addEventHandler(org.apache.commons.math3.ode.events.EventHandler, double, double, int)">addEventHandler</a></strong>(<a href="../../../../../org/apache/commons/math3/ode/events/EventHandler.html" title="interface in org.apache.commons.math3.ode.events">EventHandler</a>&nbsp;handler,
double&nbsp;maxCheckInterval,
double&nbsp;convergence,
int&nbsp;maxIterationCount)</code>
<div class="block">Add an event handler to the integrator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#addEventHandler(org.apache.commons.math3.ode.events.EventHandler, double, double, int, org.apache.commons.math3.analysis.solvers.UnivariateSolver)">addEventHandler</a></strong>(<a href="../../../../../org/apache/commons/math3/ode/events/EventHandler.html" title="interface in org.apache.commons.math3.ode.events">EventHandler</a>&nbsp;handler,
double&nbsp;maxCheckInterval,
double&nbsp;convergence,
int&nbsp;maxIterationCount,
<a href="../../../../../org/apache/commons/math3/analysis/solvers/UnivariateSolver.html" title="interface in org.apache.commons.math3.analysis.solvers">UnivariateSolver</a>&nbsp;solver)</code>
<div class="block">Add an event handler to the integrator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#addStepHandler(org.apache.commons.math3.ode.sampling.StepHandler)">addStepHandler</a></strong>(<a href="../../../../../org/apache/commons/math3/ode/sampling/StepHandler.html" title="interface in org.apache.commons.math3.ode.sampling">StepHandler</a>&nbsp;handler)</code>
<div class="block">Add a step handler to this integrator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#clearEventHandlers()">clearEventHandlers</a></strong>()</code>
<div class="block">Remove all the event handlers that have been added to the integrator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#clearStepHandlers()">clearStepHandlers</a></strong>()</code>
<div class="block">Remove all the step handlers that have been added to the integrator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#computeDerivatives(double, double[], double[])">computeDerivatives</a></strong>(double&nbsp;t,
double[]&nbsp;y,
double[]&nbsp;yDot)</code>
<div class="block">Compute the derivatives and check the number of evaluations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getCurrentSignedStepsize()">getCurrentSignedStepsize</a></strong>()</code>
<div class="block">Get the current signed value of the integration stepsize.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getCurrentStepStart()">getCurrentStepStart</a></strong>()</code>
<div class="block">Get the current value of the step start time t<sub>i</sub>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getEvaluations()">getEvaluations</a></strong>()</code>
<div class="block">Get the number of evaluations of the differential equations function.</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/ode/AbstractIntegrator.html#getEvaluationsCounter()">getEvaluationsCounter</a></strong>()</code>
<div class="block">Get the evaluations counter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/commons/math3/ode/events/EventHandler.html" title="interface in org.apache.commons.math3.ode.events">EventHandler</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getEventHandlers()">getEventHandlers</a></strong>()</code>
<div class="block">Get all the event handlers that have been added to the integrator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getExpandable()">getExpandable</a></strong>()</code>
<div class="block">Get the differential equations to integrate.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getMaxEvaluations()">getMaxEvaluations</a></strong>()</code>
<div class="block">Get the maximal number of functions evaluations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getName()">getName</a></strong>()</code>
<div class="block">Get the name of the method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/commons/math3/ode/sampling/StepHandler.html" title="interface in org.apache.commons.math3.ode.sampling">StepHandler</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getStepHandlers()">getStepHandlers</a></strong>()</code>
<div class="block">Get all the step handlers that have been added to the integrator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#initIntegration(double, double[], double)">initIntegration</a></strong>(double&nbsp;t0,
double[]&nbsp;y0,
double&nbsp;t)</code>
<div class="block">Prepare the start of an integration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#integrate(org.apache.commons.math3.ode.ExpandableStatefulODE, double)">integrate</a></strong>(<a href="../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a>&nbsp;equations,
double&nbsp;t)</code>
<div class="block">Integrate a set of differential equations up to the given time.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#integrate(org.apache.commons.math3.ode.FirstOrderDifferentialEquations, double, double[], double, double[])">integrate</a></strong>(<a href="../../../../../org/apache/commons/math3/ode/FirstOrderDifferentialEquations.html" title="interface in org.apache.commons.math3.ode">FirstOrderDifferentialEquations</a>&nbsp;equations,
double&nbsp;t0,
double[]&nbsp;y0,
double&nbsp;t,
double[]&nbsp;y)</code>
<div class="block">Integrate the differential equations up to the given time.</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/ode/AbstractIntegrator.html#sanityChecks(org.apache.commons.math3.ode.ExpandableStatefulODE, double)">sanityChecks</a></strong>(<a href="../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a>&nbsp;equations,
double&nbsp;t)</code>
<div class="block">Check the integration span.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#setEquations(org.apache.commons.math3.ode.ExpandableStatefulODE)">setEquations</a></strong>(<a href="../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a>&nbsp;equations)</code>
<div class="block">Set the equations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#setMaxEvaluations(int)">setMaxEvaluations</a></strong>(int&nbsp;maxEvaluations)</code>
<div class="block">Set the maximal number of differential equations function evaluations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#setStateInitialized(boolean)">setStateInitialized</a></strong>(boolean&nbsp;stateInitialized)</code>
<div class="block">Set the stateInitialized flag.</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="stepHandlers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stepHandlers</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/commons/math3/ode/sampling/StepHandler.html" title="interface in org.apache.commons.math3.ode.sampling">StepHandler</a>&gt; stepHandlers</pre>
<div class="block">Step handler.</div>
</li>
</ul>
<a name="stepStart">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stepStart</h4>
<pre>protected&nbsp;double stepStart</pre>
<div class="block">Current step start time.</div>
</li>
</ul>
<a name="stepSize">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stepSize</h4>
<pre>protected&nbsp;double stepSize</pre>
<div class="block">Current stepsize.</div>
</li>
</ul>
<a name="isLastStep">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLastStep</h4>
<pre>protected&nbsp;boolean isLastStep</pre>
<div class="block">Indicator for last step.</div>
</li>
</ul>
<a name="resetOccurred">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>resetOccurred</h4>
<pre>protected&nbsp;boolean resetOccurred</pre>
<div class="block">Indicator that a state or derivative reset was triggered by some event.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractIntegrator(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractIntegrator</h4>
<pre>public&nbsp;AbstractIntegrator(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
<div class="block">Build an instance.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - name of the method</dd></dl>
</li>
</ul>
<a name="AbstractIntegrator()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractIntegrator</h4>
<pre>protected&nbsp;AbstractIntegrator()</pre>
<div class="block">Build an instance with a null name.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
<div class="block">Get the name of the method.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getName()">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>name of the method</dd></dl>
</li>
</ul>
<a name="addStepHandler(org.apache.commons.math3.ode.sampling.StepHandler)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addStepHandler</h4>
<pre>public&nbsp;void&nbsp;addStepHandler(<a href="../../../../../org/apache/commons/math3/ode/sampling/StepHandler.html" title="interface in org.apache.commons.math3.ode.sampling">StepHandler</a>&nbsp;handler)</pre>
<div class="block">Add a step handler to this integrator.
<p>The handler will be called by the integrator for each accepted
step.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#addStepHandler(org.apache.commons.math3.ode.sampling.StepHandler)">addStepHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>handler</code> - handler for the accepted steps</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getStepHandlers()"><code>ODEIntegrator.getStepHandlers()</code></a>,
<a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#clearStepHandlers()"><code>ODEIntegrator.clearStepHandlers()</code></a></dd></dl>
</li>
</ul>
<a name="getStepHandlers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStepHandlers</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/commons/math3/ode/sampling/StepHandler.html" title="interface in org.apache.commons.math3.ode.sampling">StepHandler</a>&gt;&nbsp;getStepHandlers()</pre>
<div class="block">Get all the step handlers that have been added to the integrator.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getStepHandlers()">getStepHandlers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>an unmodifiable collection of the added events handlers</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#addStepHandler(org.apache.commons.math3.ode.sampling.StepHandler)"><code>ODEIntegrator.addStepHandler(StepHandler)</code></a>,
<a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#clearStepHandlers()"><code>ODEIntegrator.clearStepHandlers()</code></a></dd></dl>
</li>
</ul>
<a name="clearStepHandlers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearStepHandlers</h4>
<pre>public&nbsp;void&nbsp;clearStepHandlers()</pre>
<div class="block">Remove all the step handlers that have been added to the integrator.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#clearStepHandlers()">clearStepHandlers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#addStepHandler(org.apache.commons.math3.ode.sampling.StepHandler)"><code>ODEIntegrator.addStepHandler(StepHandler)</code></a>,
<a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getStepHandlers()"><code>ODEIntegrator.getStepHandlers()</code></a></dd></dl>
</li>
</ul>
<a name="addEventHandler(org.apache.commons.math3.ode.events.EventHandler, double, double, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addEventHandler</h4>
<pre>public&nbsp;void&nbsp;addEventHandler(<a href="../../../../../org/apache/commons/math3/ode/events/EventHandler.html" title="interface in org.apache.commons.math3.ode.events">EventHandler</a>&nbsp;handler,
double&nbsp;maxCheckInterval,
double&nbsp;convergence,
int&nbsp;maxIterationCount)</pre>
<div class="block">Add an event handler to the integrator.
Uses a default <a href="../../../../../org/apache/commons/math3/analysis/solvers/UnivariateSolver.html" title="interface in org.apache.commons.math3.analysis.solvers"><code>UnivariateSolver</code></a>
with an absolute accuracy equal to the given convergence threshold,
as root-finding algorithm to detect the state events.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#addEventHandler(org.apache.commons.math3.ode.events.EventHandler, double, double, int)">addEventHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>handler</code> - event handler</dd><dd><code>maxCheckInterval</code> - maximal time interval between switching
function checks (this interval prevents missing sign changes in
case the integration steps becomes very large)</dd><dd><code>convergence</code> - convergence threshold in the event time search</dd><dd><code>maxIterationCount</code> - upper limit of the iteration count in
the event time search</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getEventHandlers()"><code>ODEIntegrator.getEventHandlers()</code></a>,
<a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#clearEventHandlers()"><code>ODEIntegrator.clearEventHandlers()</code></a></dd></dl>
</li>
</ul>
<a name="addEventHandler(org.apache.commons.math3.ode.events.EventHandler, double, double, int, org.apache.commons.math3.analysis.solvers.UnivariateSolver)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addEventHandler</h4>
<pre>public&nbsp;void&nbsp;addEventHandler(<a href="../../../../../org/apache/commons/math3/ode/events/EventHandler.html" title="interface in org.apache.commons.math3.ode.events">EventHandler</a>&nbsp;handler,
double&nbsp;maxCheckInterval,
double&nbsp;convergence,
int&nbsp;maxIterationCount,
<a href="../../../../../org/apache/commons/math3/analysis/solvers/UnivariateSolver.html" title="interface in org.apache.commons.math3.analysis.solvers">UnivariateSolver</a>&nbsp;solver)</pre>
<div class="block">Add an event handler to the integrator.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#addEventHandler(org.apache.commons.math3.ode.events.EventHandler, double, double, int, org.apache.commons.math3.analysis.solvers.UnivariateSolver)">addEventHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>handler</code> - event handler</dd><dd><code>maxCheckInterval</code> - maximal time interval between switching
function checks (this interval prevents missing sign changes in
case the integration steps becomes very large)</dd><dd><code>convergence</code> - convergence threshold in the event time search</dd><dd><code>maxIterationCount</code> - upper limit of the iteration count in
the event time search</dd><dd><code>solver</code> - The root-finding algorithm to use to detect the state
events.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getEventHandlers()"><code>ODEIntegrator.getEventHandlers()</code></a>,
<a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#clearEventHandlers()"><code>ODEIntegrator.clearEventHandlers()</code></a></dd></dl>
</li>
</ul>
<a name="getEventHandlers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEventHandlers</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/commons/math3/ode/events/EventHandler.html" title="interface in org.apache.commons.math3.ode.events">EventHandler</a>&gt;&nbsp;getEventHandlers()</pre>
<div class="block">Get all the event handlers that have been added to the integrator.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getEventHandlers()">getEventHandlers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>an unmodifiable collection of the added events handlers</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#addEventHandler(org.apache.commons.math3.ode.events.EventHandler, double, double, int)"><code>ODEIntegrator.addEventHandler(EventHandler, double, double, int)</code></a>,
<a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#clearEventHandlers()"><code>ODEIntegrator.clearEventHandlers()</code></a></dd></dl>
</li>
</ul>
<a name="clearEventHandlers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearEventHandlers</h4>
<pre>public&nbsp;void&nbsp;clearEventHandlers()</pre>
<div class="block">Remove all the event handlers that have been added to the integrator.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#clearEventHandlers()">clearEventHandlers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#addEventHandler(org.apache.commons.math3.ode.events.EventHandler, double, double, int)"><code>ODEIntegrator.addEventHandler(EventHandler, double, double, int)</code></a>,
<a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getEventHandlers()"><code>ODEIntegrator.getEventHandlers()</code></a></dd></dl>
</li>
</ul>
<a name="getCurrentStepStart()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentStepStart</h4>
<pre>public&nbsp;double&nbsp;getCurrentStepStart()</pre>
<div class="block">Get the current value of the step start time t<sub>i</sub>.
<p>This method can be called during integration (typically by
the object implementing the <a href="../../../../../org/apache/commons/math3/ode/FirstOrderDifferentialEquations.html" title="interface in org.apache.commons.math3.ode"><code>differential equations</code></a> problem) if the value of the current step that
is attempted is needed.</p>
<p>The result is undefined if the method is called outside of
calls to <code>integrate</code>.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getCurrentStepStart()">getCurrentStepStart</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>current value of the step start time t<sub>i</sub></dd></dl>
</li>
</ul>
<a name="getCurrentSignedStepsize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentSignedStepsize</h4>
<pre>public&nbsp;double&nbsp;getCurrentSignedStepsize()</pre>
<div class="block">Get the current signed value of the integration stepsize.
<p>This method can be called during integration (typically by
the object implementing the <a href="../../../../../org/apache/commons/math3/ode/FirstOrderDifferentialEquations.html" title="interface in org.apache.commons.math3.ode"><code>differential equations</code></a> problem) if the signed value of the current stepsize
that is tried is needed.</p>
<p>The result is undefined if the method is called outside of
calls to <code>integrate</code>.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getCurrentSignedStepsize()">getCurrentSignedStepsize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>current signed value of the stepsize</dd></dl>
</li>
</ul>
<a name="setMaxEvaluations(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxEvaluations</h4>
<pre>public&nbsp;void&nbsp;setMaxEvaluations(int&nbsp;maxEvaluations)</pre>
<div class="block">Set the maximal number of differential equations function evaluations.
<p>The purpose of this method is to avoid infinite loops which can occur
for example when stringent error constraints are set or when lots of
discrete events are triggered, thus leading to many rejected steps.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#setMaxEvaluations(int)">setMaxEvaluations</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>maxEvaluations</code> - maximal number of function evaluations (negative
values are silently converted to maximal integer value, thus representing
almost unlimited evaluations)</dd></dl>
</li>
</ul>
<a name="getMaxEvaluations()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxEvaluations</h4>
<pre>public&nbsp;int&nbsp;getMaxEvaluations()</pre>
<div class="block">Get the maximal number of functions evaluations.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getMaxEvaluations()">getMaxEvaluations</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>maximal number of functions evaluations</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 evaluations of the differential equations function.
<p>
The number of evaluations corresponds to the last call to the
<code>integrate</code> method. It is 0 if the method has not been called yet.
</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getEvaluations()">getEvaluations</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>number of evaluations of the differential equations function</dd></dl>
</li>
</ul>
<a name="initIntegration(double, double[], double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initIntegration</h4>
<pre>protected&nbsp;void&nbsp;initIntegration(double&nbsp;t0,
double[]&nbsp;y0,
double&nbsp;t)</pre>
<div class="block">Prepare the start of an integration.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>t0</code> - start value of the independent <i>time</i> variable</dd><dd><code>y0</code> - array containing the start value of the state vector</dd><dd><code>t</code> - target time for the integration</dd></dl>
</li>
</ul>
<a name="setEquations(org.apache.commons.math3.ode.ExpandableStatefulODE)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEquations</h4>
<pre>protected&nbsp;void&nbsp;setEquations(<a href="../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a>&nbsp;equations)</pre>
<div class="block">Set the equations.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>equations</code> - equations to set</dd></dl>
</li>
</ul>
<a name="getExpandable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpandable</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a>&nbsp;getExpandable()</pre>
<div class="block">Get the differential equations to integrate.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>differential equations to integrate</dd><dt><span class="strong">Since:</span></dt>
<dd>3.2</dd></dl>
</li>
</ul>
<a name="getEvaluationsCounter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEvaluationsCounter</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/commons/math3/util/Incrementor.html" title="class in org.apache.commons.math3.util">Incrementor</a>&nbsp;getEvaluationsCounter()</pre>
<div class="block">Get the evaluations counter.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>evaluations counter</dd><dt><span class="strong">Since:</span></dt>
<dd>3.2</dd></dl>
</li>
</ul>
<a name="integrate(org.apache.commons.math3.ode.FirstOrderDifferentialEquations, double, double[], double, double[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>integrate</h4>
<pre>public&nbsp;double&nbsp;integrate(<a href="../../../../../org/apache/commons/math3/ode/FirstOrderDifferentialEquations.html" title="interface in org.apache.commons.math3.ode">FirstOrderDifferentialEquations</a>&nbsp;equations,
double&nbsp;t0,
double[]&nbsp;y0,
double&nbsp;t,
double[]&nbsp;y)
throws <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a>,
<a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</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/NoBracketingException.html" title="class in org.apache.commons.math3.exception">NoBracketingException</a></pre>
<div class="block">Integrate the differential equations up to the given time.
<p>This method solves an Initial Value Problem (IVP).</p>
<p>Since this method stores some internal state variables made
available in its public interface during integration (<a href="../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getCurrentSignedStepsize()"><code>ODEIntegrator.getCurrentSignedStepsize()</code></a>), it is <em>not</em> thread-safe.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/ode/FirstOrderIntegrator.html#integrate(org.apache.commons.math3.ode.FirstOrderDifferentialEquations, double, double[], double, double[])">integrate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/ode/FirstOrderIntegrator.html" title="interface in org.apache.commons.math3.ode">FirstOrderIntegrator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>equations</code> - differential equations to integrate</dd><dd><code>t0</code> - initial time</dd><dd><code>y0</code> - initial value of the state vector at t0</dd><dd><code>t</code> - target time for the integration
(can be set to a value smaller than <code>t0</code> for backward integration)</dd><dd><code>y</code> - placeholder where to put the state vector at each successful
step (and hence at the end of integration), can be the same object as y0</dd>
<dt><span class="strong">Returns:</span></dt><dd>stop time, will be the same as target time if integration reached its
target, but may be different if some <a href="../../../../../org/apache/commons/math3/ode/events/EventHandler.html" title="interface in org.apache.commons.math3.ode.events"><code>EventHandler</code></a> stops it at some point.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if arrays dimension do not match equations settings</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if integration step is too small</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 number of functions evaluations is exceeded</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NoBracketingException.html" title="class in org.apache.commons.math3.exception">NoBracketingException</a></code> - if the location of an event cannot be bracketed</dd></dl>
</li>
</ul>
<a name="integrate(org.apache.commons.math3.ode.ExpandableStatefulODE, double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>integrate</h4>
<pre>public abstract&nbsp;void&nbsp;integrate(<a href="../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a>&nbsp;equations,
double&nbsp;t)
throws <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a>,
<a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</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/NoBracketingException.html" title="class in org.apache.commons.math3.exception">NoBracketingException</a></pre>
<div class="block">Integrate a set of differential equations up to the given time.
<p>This method solves an Initial Value Problem (IVP).</p>
<p>The set of differential equations is composed of a main set, which
can be extended by some sets of secondary equations. The set of
equations must be already set up with initial time and partial states.
At integration completion, the final time and partial states will be
available in the same object.</p>
<p>Since this method stores some internal state variables made
available in its public interface during integration (<a href="../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getCurrentSignedStepsize()"><code>getCurrentSignedStepsize()</code></a>), it is <em>not</em> thread-safe.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>equations</code> - complete set of differential equations to integrate</dd><dd><code>t</code> - target time for the integration
(can be set to a value smaller than <code>t0</code> for backward integration)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if integration step is too small</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if the dimension of the complete state does not
match the complete equations sets dimension</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 number of functions evaluations is exceeded</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NoBracketingException.html" title="class in org.apache.commons.math3.exception">NoBracketingException</a></code> - if the location of an event cannot be bracketed</dd></dl>
</li>
</ul>
<a name="computeDerivatives(double, double[], double[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeDerivatives</h4>
<pre>public&nbsp;void&nbsp;computeDerivatives(double&nbsp;t,
double[]&nbsp;y,
double[]&nbsp;yDot)
throws <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/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre>
<div class="block">Compute the derivatives and check the number of evaluations.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>t</code> - current value of the independent <I>time</I> variable</dd><dd><code>y</code> - array containing the current value of the state vector</dd><dd><code>yDot</code> - placeholder array where to put the time derivative of the state vector</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a></code> - if the number of functions evaluations is exceeded</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if arrays dimensions do not match equations settings</dd></dl>
</li>
</ul>
<a name="setStateInitialized(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStateInitialized</h4>
<pre>protected&nbsp;void&nbsp;setStateInitialized(boolean&nbsp;stateInitialized)</pre>
<div class="block">Set the stateInitialized flag.
<p>This method must be called by integrators with the value
<code>false</code> before they start integration, so a proper lazy
initialization is done automatically on the first step.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stateInitialized</code> - new value for the flag</dd><dt><span class="strong">Since:</span></dt>
<dd>2.2</dd></dl>
</li>
</ul>
<a name="acceptStep(org.apache.commons.math3.ode.sampling.AbstractStepInterpolator, double[], double[], double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acceptStep</h4>
<pre>protected&nbsp;double&nbsp;acceptStep(<a href="../../../../../org/apache/commons/math3/ode/sampling/AbstractStepInterpolator.html" title="class in org.apache.commons.math3.ode.sampling">AbstractStepInterpolator</a>&nbsp;interpolator,
double[]&nbsp;y,
double[]&nbsp;yDot,
double&nbsp;tEnd)
throws <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/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a>,
<a href="../../../../../org/apache/commons/math3/exception/NoBracketingException.html" title="class in org.apache.commons.math3.exception">NoBracketingException</a></pre>
<div class="block">Accept a step, triggering events and step handlers.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>interpolator</code> - step interpolator</dd><dd><code>y</code> - state vector at step end time, must be reset if an event
asks for resetting or if an events stops integration during the step</dd><dd><code>yDot</code> - placeholder array where to put the time derivative of the state vector</dd><dd><code>tEnd</code> - final integration time</dd>
<dt><span class="strong">Returns:</span></dt><dd>time at end of step</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a></code> - if the interpolator throws one because
the number of functions evaluations is exceeded</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NoBracketingException.html" title="class in org.apache.commons.math3.exception">NoBracketingException</a></code> - if the location of an event cannot be bracketed</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if arrays dimensions do not match equations settings</dd><dt><span class="strong">Since:</span></dt>
<dd>2.2</dd></dl>
</li>
</ul>
<a name="sanityChecks(org.apache.commons.math3.ode.ExpandableStatefulODE, double)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sanityChecks</h4>
<pre>protected&nbsp;void&nbsp;sanityChecks(<a href="../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a>&nbsp;equations,
double&nbsp;t)
throws <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a>,
<a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre>
<div class="block">Check the integration span.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>equations</code> - set of differential equations</dd><dd><code>t</code> - target time for the integration</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if integration span is too small</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if adaptive step size integrators
tolerance arrays dimensions are not compatible with equations settings</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/AbstractIntegrator.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/ode/AbstractParameterizable.html" title="class in org.apache.commons.math3.ode"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/ode/AbstractIntegrator.html" target="_top">Frames</a></li>
<li><a href="AbstractIntegrator.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>