Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r71976 - in sandbox/odeint/branches/karsten: . boost/numeric/odeint/stepper boost/numeric/odeint/stepper/base boost/numeric/odeint/stepper/detail boost/numeric/odeint/util libs/numeric/odeint/doc/concepts libs/numeric/odeint/doc/html libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint libs/numeric/odeint/ideas/adam_bashforrth_moulton libs/numeric/odeint/test
From: karsten.ahnert_at_[hidden]
Date: 2011-05-16 06:03:45


Author: karsten
Date: 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
New Revision: 71976
URL: http://svn.boost.org/trac/boost/changeset/71976

Log:
initial check in for adams bashforth, is_pair moved to util and some small changes in the docs
Added:
   sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/adams_bashforth.hpp (contents, props changed)
   sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp (contents, props changed)
   sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp (contents, props changed)
   sandbox/odeint/branches/karsten/boost/numeric/odeint/util/is_pair.hpp (contents, props changed)
      - copied, changed from r71975, /sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/detail/is_pair.hpp
   sandbox/odeint/branches/karsten/libs/numeric/odeint/ideas/adam_bashforrth_moulton/
   sandbox/odeint/branches/karsten/libs/numeric/odeint/ideas/adam_bashforrth_moulton/coefficients.nb (contents, props changed)
   sandbox/odeint/branches/karsten/libs/numeric/odeint/test/adams_bashforth_moulton.cpp (contents, props changed)
Removed:
   sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/detail/is_pair.hpp
Text files modified:
   sandbox/odeint/branches/karsten/.project | 6 ++++++
   sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp | 9 +++++----
   sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/stepper_categories.hpp | 2 +-
   sandbox/odeint/branches/karsten/boost/numeric/odeint/util/is_pair.hpp | 8 +++-----
   sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/concepts/stepper.qbk | 4 ++--
   sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/concepts/system.qbk | 7 +++++--
   sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/concepts.html | 15 ++++++++-------
   sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/extend_odeint.html | 8 ++++----
   sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/tutorial.html | 8 ++++----
   sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/index.html | 19 ++++++++++---------
   sandbox/odeint/branches/karsten/libs/numeric/odeint/test/Jamfile | 1 +
   sandbox/odeint/branches/karsten/libs/numeric/odeint/test/is_pair.cpp | 16 ++++++++--------
   12 files changed, 57 insertions(+), 46 deletions(-)

Modified: sandbox/odeint/branches/karsten/.project
==============================================================================
--- sandbox/odeint/branches/karsten/.project (original)
+++ sandbox/odeint/branches/karsten/.project 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -8,6 +8,11 @@
         </projects>
         <buildSpec>
                 <buildCommand>
+ <name>org.python.pydev.PyDevBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
                         <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
                         <triggers>clean,full,incremental,</triggers>
                         <arguments>
@@ -80,5 +85,6 @@
                 <nature>org.eclipse.cdt.core.ccnature</nature>
                 <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
                 <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.python.pydev.pythonNature</nature>
         </natures>
 </projectDescription>

Added: sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/adams_bashforth.hpp
==============================================================================
--- (empty file)
+++ sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/adams_bashforth.hpp 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -0,0 +1,137 @@
+/*
+ * adams_bashforth.hpp
+ *
+ * Created on: May 15, 2011
+ * Author: karsten
+ */
+
+#ifndef BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_HPP_
+#define BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_HPP_
+
+#include <boost/ref.hpp>
+
+#include <boost/numeric/odeint/stepper/stepper_categories.hpp>
+#include <boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp>
+#include <boost/numeric/odeint/algebra/range_algebra.hpp>
+#include <boost/numeric/odeint/algebra/default_operations.hpp>
+#include <boost/numeric/odeint/util/size_adjuster.hpp>
+
+
+/*
+ * # Introduce the number of states
+ */
+
+namespace boost {
+namespace numeric {
+namespace odeint {
+
+
+/*
+ * Static explicit Adams-Bashforth multistep-solver without step size control and without dense output.
+ *
+ * # Define the number of steps
+ */
+template<
+ size_t Steps ,
+ class State ,
+ class Value = double ,
+ class Deriv = State ,
+ class Time = Value ,
+ class Algebra = range_algebra ,
+ class Operations = default_operations ,
+ class AdjustSizePolicy = adjust_size_initially_tag
+ >
+class adams_bashforth
+{
+private:
+
+ void initialize( void )
+ {
+
+ }
+
+public :
+
+ typedef State state_type;
+ typedef Value value_type;
+ typedef Deriv deriv_type;
+ typedef Time time_type;
+ typedef Algebra algebra_type;
+ typedef Operations operations_type;
+ typedef AdjustSizePolicy adjust_size_policy;
+ typedef explicit_stepper_tag stepper_category;
+
+ static const size_t steps = Steps;
+
+ typedef unsigned short order_type;
+ static const order_type order_value = steps + 1;
+
+ order_type order( void ) const { return order_value; }
+
+
+
+ adams_bashforth( void )
+ {
+ initialize();
+ }
+
+ ~adams_bashforth( void )
+ {
+ }
+
+ adams_bashforth( const adams_bashforth &stepper )
+ {
+ initialize();
+ }
+
+ adams_bashforth& operator=( const adams_bashforth &stepper )
+ {
+ return *this;
+ }
+
+ template< class System , class StateInOut >
+ void do_step( System system , StateInOut &x , const time_type &t , const time_type &dt )
+ {
+ // ToDo : implement
+ }
+
+ template< class System , class StateInOut >
+ void do_step( System system , const StateInOut &x , const time_type &t , const time_type &dt )
+ {
+ // ToDo : implement
+ }
+
+ template< class System , class StateIn , class StateOut >
+ void do_step( System system , const StateIn &in , const time_type &t , const StateOut &out , const time_type &dt )
+ {
+ // ToDo : implement
+ }
+
+ template< class System , class StateIn , class StateOut >
+ void do_step( System system , const StateIn &in , const time_type &t , StateOut &out , const time_type &dt )
+ {
+ // ToDo : implement
+ }
+
+ template< class StateType >
+ void adjust_size( const StateType &x )
+ {
+ }
+
+
+private:
+
+ boost::array< deriv_type , steps > m_steps_storage;
+// boost::circular_buffer< deriv_type* > m_previous_steps;
+};
+
+
+
+
+} // odeint
+} // numeric
+} // boost
+
+
+
+#endif /* BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_HPP_ */

Added: sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp
==============================================================================
--- (empty file)
+++ sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -0,0 +1,124 @@
+/*
+ * adams_bashforth_moulton.hpp
+ *
+ * Created on: May 15, 2011
+ * Author: karsten
+ */
+
+#ifndef BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_MOULTON_HPP_
+#define BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_MOULTON_HPP_
+
+#include <boost/ref.hpp>
+
+/*
+ * # Introduce the number of states
+ */
+
+namespace boost {
+namespace numeric {
+namespace odeint {
+
+
+/*
+ * Static Adams-Bashforth-Moulton multistep-solver without step size control and without dense output.
+ *
+ * # Define the number of steps
+ * # Define the explicit method
+ * # Define the implicit method
+ * # Bring the explicit method and the implicit method together
+ */
+template<
+ size_t Steps ,
+ class State ,
+ class Value = double ,
+ class Deriv = State ,
+ class Time = Value ,
+ class Algebra = range_algebra ,
+ class Operations = default_operations ,
+ class AdjustSizePolicy = adjust_size_initially_tag
+ >
+class adams_bashforth_moulton
+{
+
+public :
+
+ typedef State state_type;
+ typedef Value value_type;
+ typedef Deriv deriv_type;
+ typedef Time time_type;
+ typedef Algebra algebra_type;
+ typedef Operations operations_type;
+ typedef AdjustSizePolicy adjust_size_policy;
+ typedef explicit_stepper_tag stepper_category;
+
+ static const size_t steps = Steps;
+
+ typedef unsigned short order_type;
+ static const order_type order_value = steps + 1;
+
+ order_type order( void ) const { return order_value; }
+
+
+
+ adams_bashforth_moulton( void )
+ {
+ }
+
+ ~adams_bashforth_moulton( void )
+ {
+ }
+
+ adams_bashforth_moulton( const adams_bashforth_moulton &stepper )
+ {
+ }
+
+ adams_bashforth_moulton& operator=( const adams_bashforth_moulton &stepper )
+ {
+ return *this;
+ }
+
+ template< class System , class StateInOut >
+ void do_step( System system , StateInOut &x , const time_type &t , const time_type &dt )
+ {
+ // ToDo : implement
+ }
+
+ template< class System , class StateInOut >
+ void do_step( System system , const StateInOut &x , const time_type &t , const time_type &dt )
+ {
+ // ToDo : implement
+ }
+
+ template< class System , class StateIn , class StateOut >
+ void do_step( System system , const StateIn &in , const time_type &t , const StateOut &out , const time_type &dt )
+ {
+ // ToDo : implement
+ }
+
+ template< class System , class StateIn , class StateOut >
+ void do_step( System system , const StateIn &in , const time_type &t , StateOut &out , const time_type &dt )
+ {
+ // ToDo : implement
+ }
+
+ template< class StateType >
+ void adjust_size( const StateType &x )
+ {
+ }
+
+
+private:
+
+
+};
+
+
+
+
+} // odeint
+} // numeric
+} // boost
+
+
+
+#endif /* BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_MOULTON_HPP_ */

Modified: sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp
==============================================================================
--- sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp (original)
+++ sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -15,10 +15,11 @@
 #include <boost/numeric/odeint/util/construct.hpp>
 #include <boost/numeric/odeint/util/destruct.hpp>
 #include <boost/numeric/odeint/util/copy.hpp>
+#include <boost/numeric/odeint/util/is_pair.hpp>
 
 #include <boost/numeric/odeint/stepper/stepper_categories.hpp>
 
-#include <boost/numeric/odeint/stepper/detail/is_pair.hpp>
+
 
 namespace boost {
 namespace numeric {
@@ -117,14 +118,14 @@
         void do_step( System system , const StateInOut &state , const time_type &t , const time_type &dt )
         {
                 typedef typename boost::unwrap_reference< System >::type system_type;
- do_step_impl( system , state , t , state , dt , typename detail::is_pair< system_type >::type() );
+ do_step_impl( system , state , t , state , dt , typename is_pair< system_type >::type() );
         }
 
         template< class System , class StateInOut >
         void do_step( System system , StateInOut &state , const time_type &t , const time_type &dt )
         {
                 typedef typename boost::unwrap_reference< System >::type system_type;
- do_step_impl( system , state , t , state , dt , typename detail::is_pair< system_type >::type() );
+ do_step_impl( system , state , t , state , dt , typename is_pair< system_type >::type() );
         }
 
 
@@ -160,7 +161,7 @@
         void do_step( System system , const StateIn &in , const time_type &t , StateOut &out , const time_type &dt )
         {
                 typedef typename boost::unwrap_reference< System >::type system_type;
- do_step_impl( system , in , t , out , dt , typename detail::is_pair< system_type >::type() );
+ do_step_impl( system , in , t , out , dt , typename is_pair< system_type >::type() );
         }
 
 

Added: sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp
==============================================================================
--- (empty file)
+++ sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -0,0 +1,158 @@
+/*
+ * adams_bashforth_coefficients.hpp
+ *
+ * Created on: May 15, 2011
+ * Author: karsten
+ */
+
+#ifndef BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_COEFFICIENTS_HPP_
+#define BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_COEFFICIENTS_HPP_
+
+#include <boost/array.hpp>
+
+
+namespace boost {
+namespace numeric {
+namespace odeint {
+namespace detail {
+
+template< class Value , size_t Steps >
+class adams_bashforth_coefficients ;
+
+template< class Value >
+class adams_bashforth_coefficients< Value , 1 > : public boost::array< Value , 1 >
+{
+public:
+ adams_bashforth_coefficients( void )
+ : boost::array< Value , 1 >()
+ {
+ (*this)[0] = static_cast< Value >( 1.0 );
+ }
+};
+
+
+template< class Value >
+class adams_bashforth_coefficients< Value , 2 > : public boost::array< Value , 2 >
+{
+public:
+ adams_bashforth_coefficients( void )
+ : boost::array< Value , 2 >()
+ {
+ (*this)[0] = static_cast< Value >( 3.0 ) / static_cast< Value >( 2.0 );
+ (*this)[1] = -static_cast< Value >( 1.0 ) / static_cast< Value >( 2.0 );
+ }
+};
+
+
+template< class Value >
+class adams_bashforth_coefficients< Value , 3 > : public boost::array< Value , 3 >
+{
+public:
+ adams_bashforth_coefficients( void )
+ : boost::array< Value , 3 >()
+ {
+ (*this)[0] = static_cast< Value >( 23.0 ) / static_cast< Value >( 12.0 );
+ (*this)[1] = -static_cast< Value >( 4.0 ) / static_cast< Value >( 3.0 );
+ (*this)[2] = static_cast< Value >( 5.0 ) / static_cast< Value >( 12.0 );
+ }
+};
+
+
+template< class Value >
+class adams_bashforth_coefficients< Value , 4 > : public boost::array< Value , 4 >
+{
+public:
+ adams_bashforth_coefficients( void )
+ : boost::array< Value , 4 >()
+ {
+ (*this)[0] = static_cast< Value >( 55.0 ) / static_cast< Value >( 24.0 );
+ (*this)[1] = -static_cast< Value >( 59.0 ) / static_cast< Value >( 24.0 );
+ (*this)[2] = static_cast< Value >( 37.0 ) / static_cast< Value >( 24.0 );
+ (*this)[3] = -static_cast< Value >( 3.0 ) / static_cast< Value >( 8.0 );
+ }
+};
+
+
+template< class Value >
+class adams_bashforth_coefficients< Value , 5 > : public boost::array< Value , 5 >
+{
+public:
+ adams_bashforth_coefficients( void )
+ : boost::array< Value , 5 >()
+ {
+ (*this)[0] = static_cast< Value >( 1901.0 ) / static_cast< Value >( 720.0 );
+ (*this)[1] = -static_cast< Value >( 1387.0 ) / static_cast< Value >( 360.0 );
+ (*this)[2] = static_cast< Value >( 109.0 ) / static_cast< Value >( 30.0 );
+ (*this)[3] = -static_cast< Value >( 637.0 ) / static_cast< Value >( 360.0 );
+ (*this)[4] = static_cast< Value >( 251.0 ) / static_cast< Value >( 720.0 );
+ }
+};
+
+
+template< class Value >
+class adams_bashforth_coefficients< Value , 6 > : public boost::array< Value , 6 >
+{
+public:
+ adams_bashforth_coefficients( void )
+ : boost::array< Value , 6 >()
+ {
+ (*this)[0] = static_cast< Value >( 4277.0 ) / static_cast< Value >( 1440.0 );
+ (*this)[1] = -static_cast< Value >( 2641.0 ) / static_cast< Value >( 480.0 );
+ (*this)[2] = static_cast< Value >( 4991.0 ) / static_cast< Value >( 720.0 );
+ (*this)[3] = -static_cast< Value >( 3649.0 ) / static_cast< Value >( 720.0 );
+ (*this)[4] = static_cast< Value >( 959.0 ) / static_cast< Value >( 480.0 );
+ (*this)[5] = -static_cast< Value >( 95.0 ) / static_cast< Value >( 288.0 );
+ }
+};
+
+
+template< class Value >
+class adams_bashforth_coefficients< Value , 7 > : public boost::array< Value , 7 >
+{
+public:
+ adams_bashforth_coefficients( void )
+ : boost::array< Value , 7 >()
+ {
+ (*this)[0] = static_cast< Value >( 198721.0 ) / static_cast< Value >( 60480.0 );
+ (*this)[1] = -static_cast< Value >( 18637.0 ) / static_cast< Value >( 2520.0 );
+ (*this)[2] = static_cast< Value >( 235183.0 ) / static_cast< Value >( 20160.0 );
+ (*this)[3] = -static_cast< Value >( 10754.0 ) / static_cast< Value >( 945.0 );
+ (*this)[4] = static_cast< Value >( 135713.0 ) / static_cast< Value >( 20160.0 );
+ (*this)[5] = -static_cast< Value >( 5603.0 ) / static_cast< Value >( 2520.0 );
+ (*this)[6] = static_cast< Value >( 19087.0 ) / static_cast< Value >( 60480.0 );
+ }
+};
+
+
+template< class Value >
+class adams_bashforth_coefficients< Value , 8 > : public boost::array< Value , 8 >
+{
+public:
+ adams_bashforth_coefficients( void )
+ : boost::array< Value , 8 >()
+ {
+ (*this)[0] = static_cast< Value >( 16083.0 ) / static_cast< Value >( 4480.0 );
+ (*this)[1] = -static_cast< Value >( 1152169.0 ) / static_cast< Value >( 120960.0 );
+ (*this)[2] = static_cast< Value >( 242653.0 ) / static_cast< Value >( 13440.0 );
+ (*this)[3] = -static_cast< Value >( 296053.0 ) / static_cast< Value >( 13440.0 );
+ (*this)[4] = static_cast< Value >( 2102243.0 ) / static_cast< Value >( 120960.0 );
+ (*this)[5] = -static_cast< Value >( 115747.0 ) / static_cast< Value >( 13440.0 );
+ (*this)[6] = static_cast< Value >( 32863.0 ) / static_cast< Value >( 13440.0 );
+ (*this)[7] = -static_cast< Value >( 5257.0 ) / static_cast< Value >( 17280.0 );
+ }
+};
+
+
+
+
+
+
+
+} // detail
+} // odeint
+} // numeric
+} // boost
+
+
+
+#endif /* BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_COEFFICIENTS_HPP_ */

Deleted: sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/detail/is_pair.hpp
==============================================================================
--- sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/detail/is_pair.hpp 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
+++ (empty file)
@@ -1,35 +0,0 @@
-/*
- * is_pair.hpp
- *
- * Created on: Feb 12, 2011
- * Author: karsten
- */
-
-#ifndef BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_IS_PAIR_HPP_
-#define BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_IS_PAIR_HPP_
-
-#include <boost/mpl/bool.hpp>
-#include <utility>
-
-
-namespace boost {
-namespace numeric {
-namespace odeint {
-namespace detail {
-
-template< class T >
-struct is_pair : public boost::mpl::false_
-{
-};
-
-template< class T1 , class T2 >
-struct is_pair< std::pair< T1 , T2 > > : public boost::mpl::true_
-{
-};
-
-} // namespace detail
-} // namespace odeint
-} // namespace numeric
-} // namespace boost
-
-#endif /* BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_IS_PAIR_HPP_ */

Modified: sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/stepper_categories.hpp
==============================================================================
--- sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/stepper_categories.hpp (original)
+++ sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/stepper_categories.hpp 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -24,7 +24,7 @@
  */
 
 struct stepper_tag {};
-//struct explicit_stepper_tag : stepper_tag {};
+struct explicit_stepper_tag : stepper_tag {};
 //struct implicit_stepper_tag : stepper_tag {};
 
 

Copied: sandbox/odeint/branches/karsten/boost/numeric/odeint/util/is_pair.hpp (from r71975, /sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/detail/is_pair.hpp)
==============================================================================
--- /sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/detail/is_pair.hpp (original)
+++ sandbox/odeint/branches/karsten/boost/numeric/odeint/util/is_pair.hpp 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -5,8 +5,8 @@
  * Author: karsten
  */
 
-#ifndef BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_IS_PAIR_HPP_
-#define BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_IS_PAIR_HPP_
+#ifndef BOOST_NUMERIC_ODEINT_UTIL_IS_PAIR_HPP_
+#define BOOST_NUMERIC_ODEINT_UTIL_IS_PAIR_HPP_
 
 #include <boost/mpl/bool.hpp>
 #include <utility>
@@ -15,7 +15,6 @@
 namespace boost {
 namespace numeric {
 namespace odeint {
-namespace detail {
 
 template< class T >
 struct is_pair : public boost::mpl::false_
@@ -27,9 +26,8 @@
 {
 };
 
-} // namespace detail
 } // namespace odeint
 } // namespace numeric
 } // namespace boost
 
-#endif /* BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_IS_PAIR_HPP_ */
+#endif /* BOOST_NUMERIC_ODEINT_UTIL_IS_PAIR_HPP_ */

Modified: sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/concepts/stepper.qbk
==============================================================================
--- sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/concepts/stepper.qbk (original)
+++ sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/concepts/stepper.qbk 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -1,4 +1,4 @@
-[section Concept stepper]
+[section Stepper]
 
 Concept Stepper
 
@@ -59,7 +59,7 @@
 [section Valid expressions]
 
 [table
- [[Name] [Expression] [Returns] [Semantics]]
+ [[Name] [Expression] [Type] [Semantics]]
   [[Get the order] [`stepper.order()`] [`Order`] [Returns the order of the stepper which is used for error calculation.] ]
   [[Do step in-place] [`stepper.do_step( sys , x , t , dt )`] [`void`] [Performs one step of step size `dt`. The newly obtained state is written in place in `x`.] ]
   [[Do step out-of-place] [`stepper.do_step( sys , in , t , out , dt )`] [`void`] [Performs one step. The newly obtained state is written to `out`] ]

Modified: sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/concepts/system.qbk
==============================================================================
--- sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/concepts/system.qbk (original)
+++ sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/concepts/system.qbk 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -4,6 +4,8 @@
 
 [section Description]
 
+Attention, this concepts is not valid for all steppers. For example the symplectic steppers, as well as the implicit steppers have a different system concept.
+
 The System concept models the algorithmic implementation of the rhs. of the ODE, that is ['f(x,t)].
 The only requirement for this concept is that it should be callable with a specific parameter syntax (see below).
 A System is typically implemented as a function or a functor.
@@ -12,7 +14,8 @@
 
 [section Notation]
 
-[variablelist
+[variablelist
+ [[System] [A type that is a model of System]]
   [[State] [A type that is the `state_type` of Stepper]]
   [[Deriv] [A type that is the `deriv_type` of Stepper]]
   [[Time] [A type that is the `time_type` of Stepper]]
@@ -27,7 +30,7 @@
 [section Valid expressions]
 
 [table
- [[Name] [Expression] [Returns] [Semantics]]
+ [[Name] [Expression] [Type] [Semantics]]
   [[Calculate ['dx/dt := f(x,t)]] [`sys( x , dxdt , t )`] [`void`] [Calculates f(x,t), the result is stored into dxdt] ]
 ]
 

Modified: sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/concepts.html
==============================================================================
--- sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/concepts.html (original)
+++ sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/concepts.html 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -3,25 +3,26 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Concepts</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../index.html" title="Chapter&#160;1.&#160;boost.sandbox.numeric.odeint">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;boost.sandbox.numeric.odeint">
 <link rel="prev" href="extend_odeint/adapt_your_own_operations.html" title="Adapt your own operations">
-<link rel="next" href="concepts/concept_stepper.html" title="Concept stepper">
+<link rel="next" href="concepts/concept_system.html" title="Concept system">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="extend_odeint/adapt_your_own_operations.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/concept_stepper.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="extend_odeint/adapt_your_own_operations.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/concept_system.html"><img src="../images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Concepts">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_sandbox_numeric_odeint.concepts"></a><a class="link" href="concepts.html" title="Concepts">Concepts</a>
 </h2></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="concepts/concept_stepper.html">Concept
- stepper</a></span></dt>
+<dt><span class="section"><a href="concepts/concept_system.html">Concept
+ system</a></span></dt>
+<dt><span class="section">Stepper</span></dt>
 <dt><span class="section"><a href="concepts/error_stepper.html">Error
       stepper</a></span></dt>
 <dt><span class="section"><a href="concepts/controlled_stepper.html">Controlled
@@ -40,7 +41,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="extend_odeint/adapt_your_own_operations.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/concept_stepper.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="extend_odeint/adapt_your_own_operations.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/concept_system.html"><img src="../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/extend_odeint.html
==============================================================================
--- sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/extend_odeint.html (original)
+++ sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/extend_odeint.html 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Extend odeint</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../index.html" title="Chapter&#160;1.&#160;boost.sandbox.numeric.odeint">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;boost.sandbox.numeric.odeint">
 <link rel="prev" href="tutorial/references.html" title="References">
@@ -13,9 +13,9 @@
 <table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="tutorial/references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="extend_odeint/write_own_steppers.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tutorial/references.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="extend_odeint/write_own_steppers.html"><img src="../images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Extend odeint">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_sandbox_numeric_odeint.extend_odeint"></a><a class="link" href="extend_odeint.html" title="Extend odeint">Extend odeint</a>
 </h2></div></div></div>
@@ -38,7 +38,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="tutorial/references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="extend_odeint/write_own_steppers.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tutorial/references.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="extend_odeint/write_own_steppers.html"><img src="../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/tutorial.html
==============================================================================
--- sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/tutorial.html (original)
+++ sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/boost_sandbox_numeric_odeint/tutorial.html 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Tutorial</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../index.html" title="Chapter&#160;1.&#160;boost.sandbox.numeric.odeint">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;boost.sandbox.numeric.odeint">
 <link rel="prev" href="getting_started/short_example.html" title="Short Example">
@@ -13,9 +13,9 @@
 <table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="getting_started/short_example.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/harmonic_oscillator.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="getting_started/short_example.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/harmonic_oscillator.html"><img src="../images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Tutorial">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_sandbox_numeric_odeint.tutorial"></a><a class="link" href="tutorial.html" title="Tutorial">Tutorial</a>
 </h2></div></div></div>
@@ -47,7 +47,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="getting_started/short_example.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/harmonic_oscillator.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="getting_started/short_example.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/harmonic_oscillator.html"><img src="../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/index.html
==============================================================================
--- sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/index.html (original)
+++ sandbox/odeint/branches/karsten/libs/numeric/odeint/doc/html/index.html 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -3,15 +3,15 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Chapter&#160;1.&#160;boost.sandbox.numeric.odeint</title>
 <link rel="stylesheet" href="boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="index.html" title="Chapter&#160;1.&#160;boost.sandbox.numeric.odeint">
 <link rel="next" href="boost_sandbox_numeric_odeint/getting_started.html" title="Getting started">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_sandbox_numeric_odeint/getting_started.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
-<div class="chapter" title="Chapter&#160;1.&#160;boost.sandbox.numeric.odeint">
+<div class="spirit-nav"><a accesskey="n" href="boost_sandbox_numeric_odeint/getting_started.html"><img src="images/next.png" alt="Next"></a></div>
+<div class="chapter">
 <div class="titlepage"><div>
 <div><h2 class="title">
 <a name="odeint"></a>Chapter&#160;1.&#160;boost.sandbox.numeric.odeint</h2></div>
@@ -22,8 +22,8 @@
 <span class="firstname">Mario</span> <span class="surname">Mulansky</span>
 </h3></div></div>
 <div><p class="copyright">Copyright &#169; 2009 -2011 Karsten Ahnert and Mario Mulansky</p></div>
-<div><div class="legalnotice" title="Legal Notice">
-<a name="id614718"></a><p>
+<div><div class="legalnotice">
+<a name="id563836"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -69,8 +69,9 @@
 </dl></dd>
 <dt><span class="section">Concepts</span></dt>
 <dd><dl>
-<dt><span class="section"><a href="boost_sandbox_numeric_odeint/concepts/concept_stepper.html">Concept
- stepper</a></span></dt>
+<dt><span class="section"><a href="boost_sandbox_numeric_odeint/concepts/concept_system.html">Concept
+ system</a></span></dt>
+<dt><span class="section">Stepper</span></dt>
 <dt><span class="section"><a href="boost_sandbox_numeric_odeint/concepts/error_stepper.html">Error
       stepper</a></span></dt>
 <dt><span class="section"><a href="boost_sandbox_numeric_odeint/concepts/controlled_stepper.html">Controlled
@@ -107,10 +108,10 @@
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: May 15, 2011 at 11:15:51 GMT</small></p></td>
+<td align="left"><p><small>Last revised: May 16, 2011 at 11:00:12 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_sandbox_numeric_odeint/getting_started.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="boost_sandbox_numeric_odeint/getting_started.html"><img src="images/next.png" alt="Next"></a></div>
 </body>
 </html>

Added: sandbox/odeint/branches/karsten/libs/numeric/odeint/ideas/adam_bashforrth_moulton/coefficients.nb
==============================================================================
--- (empty file)
+++ sandbox/odeint/branches/karsten/libs/numeric/odeint/ideas/adam_bashforrth_moulton/coefficients.nb 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -0,0 +1,1237 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 7.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 38044, 1228]
+NotebookOptionsPosition[ 35928, 1164]
+NotebookOutlinePosition[ 36264, 1179]
+CellTagsIndexPosition[ 36221, 1176]
+WindowFrame->Normal*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+Cell[BoxData[{
+ RowBox[{"Clear", "[", "\"\<Global`*\>\"", "]"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"MyStyle", "[", "x_", "]"}], ":=",
+ RowBox[{"TraditionalForm", "[",
+ RowBox[{"Style", "[",
+ RowBox[{"x", ",", "Large"}], "]"}], "]"}]}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"MyStyleSmall", "[", "x_", "]"}], ":=",
+ RowBox[{"TraditionalForm", "[", "x", "]"}]}]}], "Input",
+ CellChangeTimes->{{3.467953724161771*^9, 3.467953745490753*^9}}],
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{"yrep", "[",
+ RowBox[{"n_", ",", "k_"}], "]"}], ":=",
+ RowBox[{
+ RowBox[{"y", "[",
+ RowBox[{"n", "-", "k"}], "]"}], "\[Rule]",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "k"}]]}]}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"neatrep", "[", "x_", "]"}], ":=",
+ RowBox[{"x", "/.",
+ RowBox[{"Table", "[",
+ RowBox[{
+ RowBox[{"yrep", "[",
+ RowBox[{"n", ",", "k"}], "]"}], ",",
+ RowBox[{"{",
+ RowBox[{"k", ",",
+ RowBox[{"-", "20"}], ",", "20"}], "}"}]}],
+ "]"}]}]}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"MyNeat", "[", "x_", "]"}], ":=",
+ RowBox[{"MyStyle", "[",
+ RowBox[{"neatrep", "[", "x", "]"}], "]"}]}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"MyNeatSmall", "[", "x_", "]"}], ":=",
+ RowBox[{"MyStyleSmall", "[",
+ RowBox[{"neatrep", "[", "x", "]"}], "]"}]}]}], "Input",
+ CellChangeTimes->{{3.514464959570836*^9, 3.514465120719865*^9}, {
+ 3.514527892691033*^9, 3.5145278939018183`*^9}}],
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{"Nabla", "[",
+ RowBox[{"n_", ",", "0"}], "]"}], ":=",
+ RowBox[{"y", "[", "n", "]"}]}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Nabla", "[",
+ RowBox[{"n_", ",", "k_"}], "]"}], ":=",
+ RowBox[{
+ RowBox[{"Nabla", "[",
+ RowBox[{"n", ",",
+ RowBox[{"k", "-", "1"}]}], "]"}], "-",
+ RowBox[{"Nabla", "[",
+ RowBox[{
+ RowBox[{"n", "-", "1"}], ",",
+ RowBox[{"k", "-", "1"}]}], "]"}]}]}]}], "Input",
+ CellChangeTimes->{{3.514447522073597*^9, 3.5144476307630177`*^9}, {
+ 3.514464931916651*^9, 3.514464934924923*^9}}],
+
+Cell[CellGroupData[{
+
+Cell["Explicit Adams Methods", "Subsubsection",
+ CellChangeTimes->{{3.5144675005769367`*^9, 3.514467506161409*^9}}],
+
+Cell["Define \[Gamma]", "Text",
+ CellChangeTimes->{{3.5144675211047497`*^9, 3.514467531440797*^9}}],
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{"gamma", "[", "0", "]"}], ":=", "1"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"gamma", "[", "k_", "]"}], ":=",
+ RowBox[{"1", "-",
+ RowBox[{"Sum", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"j", "+", "1"}], ")"}]}],
+ RowBox[{"gamma", "[",
+ RowBox[{"k", "-", "j"}], "]"}]}], ",",
+ RowBox[{"{",
+ RowBox[{"j", ",", "1", ",", "k"}], "}"}]}], "]"}]}]}]}], "Input"],
+
+Cell["Define the approximation", "Text",
+ CellChangeTimes->{{3.514467538537239*^9, 3.514467542703155*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Appr", "[", "k_", "]"}], ":=",
+ RowBox[{"Sum", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"gamma", "[", "j", "]"}], " ",
+ RowBox[{"Nabla", "[",
+ RowBox[{"n", ",", "j"}], "]"}]}], ",",
+ RowBox[{"{",
+ RowBox[{"j", ",", "0", ",",
+ RowBox[{"k", "-", "1"}]}], "}"}]}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.51446729473982*^9, 3.514467351514332*^9}}],
+
+Cell[TextData[{
+ "Print the first seven terms. Note that everywhere ",
+ Cell[BoxData[
+ FormBox[
+ RowBox[{
+ SubscriptBox["x", "n"], "has", " ", "to", " ", "be", " ",
+ RowBox[{"added", "."}]}], TraditionalForm]],
+ FormatType->"TraditionalForm"]
+}], "Text",
+ CellChangeTimes->{{3.514467545805399*^9, 3.514467568755361*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "0", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "1", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "2", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "3", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "4", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "5", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "6", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "7", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "8", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "9", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "10", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "11", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Appr", "[", "12", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}]}], "Input",
+ CellChangeTimes->{{3.514467352952169*^9, 3.514467447032159*^9}, {
+ 3.5145278590674257`*^9, 3.514527871347169*^9}}],
+
+Cell[BoxData[
+ FormBox["0", TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.514527896331929*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ SubscriptBox["y", "n"], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.5145278963599653`*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{"3", " ",
+ SubscriptBox["y", "n"]}], "2"], "-",
+ FractionBox[
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]], "2"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.5145278964165277`*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{"5", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "12"], "-",
+ FractionBox[
+ RowBox[{"4", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "3"], "+",
+ FractionBox[
+ RowBox[{"23", " ",
+ SubscriptBox["y", "n"]}], "12"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.514527896470492*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"3", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "8"]}], "+",
+ FractionBox[
+ RowBox[{"37", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "24"], "-",
+ FractionBox[
+ RowBox[{"59", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "24"], "+",
+ FractionBox[
+ RowBox[{"55", " ",
+ SubscriptBox["y", "n"]}], "24"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.514527896525687*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{"251", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "720"], "-",
+ FractionBox[
+ RowBox[{"637", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "360"], "+",
+ FractionBox[
+ RowBox[{"109", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "30"], "-",
+ FractionBox[
+ RowBox[{"1387", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "360"], "+",
+ FractionBox[
+ RowBox[{"1901", " ",
+ SubscriptBox["y", "n"]}], "720"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.514527896580089*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"95", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "288"]}], "+",
+ FractionBox[
+ RowBox[{"959", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "480"], "-",
+ FractionBox[
+ RowBox[{"3649", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "720"], "+",
+ FractionBox[
+ RowBox[{"4991", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "720"], "-",
+ FractionBox[
+ RowBox[{"2641", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "480"], "+",
+ FractionBox[
+ RowBox[{"4277", " ",
+ SubscriptBox["y", "n"]}], "1440"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.514527896690482*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{"19087", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "60480"], "-",
+ FractionBox[
+ RowBox[{"5603", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "2520"], "+",
+ FractionBox[
+ RowBox[{"135713", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "20160"], "-",
+ FractionBox[
+ RowBox[{"10754", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "945"], "+",
+ FractionBox[
+ RowBox[{"235183", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "20160"], "-",
+ FractionBox[
+ RowBox[{"18637", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "2520"], "+",
+ FractionBox[
+ RowBox[{"198721", " ",
+ SubscriptBox["y", "n"]}], "60480"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.51452789675095*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"5257", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "7"}]]}], "17280"]}], "+",
+ FractionBox[
+ RowBox[{"32863", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "13440"], "-",
+ FractionBox[
+ RowBox[{"115747", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "13440"], "+",
+ FractionBox[
+ RowBox[{"2102243", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "120960"], "-",
+ FractionBox[
+ RowBox[{"296053", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "13440"], "+",
+ FractionBox[
+ RowBox[{"242653", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "13440"], "-",
+ FractionBox[
+ RowBox[{"1152169", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "120960"], "+",
+ FractionBox[
+ RowBox[{"16083", " ",
+ SubscriptBox["y", "n"]}], "4480"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.514527896813024*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{"1070017", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "8"}]]}], "3628800"], "-",
+ FractionBox[
+ RowBox[{"4832053", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "7"}]]}], "1814400"], "+",
+ FractionBox[
+ RowBox[{"19416743", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "1814400"], "-",
+ FractionBox[
+ RowBox[{"45586321", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "1814400"], "+",
+ FractionBox[
+ RowBox[{"862303", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "22680"], "-",
+ FractionBox[
+ RowBox[{"69927631", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "1814400"], "+",
+ FractionBox[
+ RowBox[{"47738393", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "1814400"], "-",
+ FractionBox[
+ RowBox[{"21562603", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "1814400"], "+",
+ FractionBox[
+ RowBox[{"14097247", " ",
+ SubscriptBox["y", "n"]}], "3628800"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.514527896883152*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"25713", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "9"}]]}], "89600"]}], "+",
+ FractionBox[
+ RowBox[{"20884811", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "8"}]]}], "7257600"], "-",
+ FractionBox[
+ RowBox[{"2357683", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "7"}]]}], "181440"], "+",
+ FractionBox[
+ RowBox[{"15788639", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "453600"], "-",
+ FractionBox[
+ RowBox[{"222386081", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "3628800"], "+",
+ FractionBox[
+ RowBox[{"269181919", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "3628800"], "-",
+ FractionBox[
+ RowBox[{"28416361", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "453600"], "+",
+ FractionBox[
+ RowBox[{"6648317", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "181440"], "-",
+ FractionBox[
+ RowBox[{"104995189", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "7257600"], "+",
+ FractionBox[
+ RowBox[{"4325321", " ",
+ SubscriptBox["y", "n"]}], "1036800"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.514527896964872*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{"26842253", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "10"}]]}], "95800320"], "-",
+ FractionBox[
+ RowBox[{"52841941", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "9"}]]}], "17107200"], "+",
+ FractionBox[
+ RowBox[{"2472634817", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "8"}]]}], "159667200"], "-",
+ FractionBox[
+ RowBox[{"186080291", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "7"}]]}], "3991680"], "+",
+ FractionBox[
+ RowBox[{"2492064913", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "26611200"], "-",
+ FractionBox[
+ RowBox[{"82260679", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "623700"], "+",
+ FractionBox[
+ RowBox[{"3539798831", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "26611200"], "-",
+ FractionBox[
+ RowBox[{"1921376209", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "19958400"], "+",
+ FractionBox[
+ RowBox[{"1572737587", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "31933440"], "-",
+ FractionBox[
+ RowBox[{"2067948781", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "119750400"], "+",
+ FractionBox[
+ RowBox[{"2132509567", " ",
+ SubscriptBox["y", "n"]}], "479001600"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.51452789705408*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"4777223", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "11"}]]}], "17418240"]}], "+",
+ FractionBox[
+ RowBox[{"30082309", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "10"}]]}], "9123840"], "-",
+ FractionBox[
+ RowBox[{"17410248271", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "9"}]]}], "958003200"], "+",
+ FractionBox[
+ RowBox[{"923636629", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "8"}]]}], "15206400"], "-",
+ FractionBox[
+ RowBox[{"625551749", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "7"}]]}], "4561920"], "+",
+ FractionBox[
+ RowBox[{"35183928883", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "159667200"], "-",
+ FractionBox[
+ RowBox[{"41290273229", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "159667200"], "+",
+ FractionBox[
+ RowBox[{"35689892561", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "159667200"], "-",
+ FractionBox[
+ RowBox[{"15064372973", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "106444800"], "+",
+ FractionBox[
+ RowBox[{"12326645437", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "191600640"], "-",
+ FractionBox[
+ RowBox[{"6477936721", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "319334400"], "+",
+ FractionBox[
+ RowBox[{"4527766399", " ",
+ SubscriptBox["y", "n"]}], "958003200"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.514467355009871*^9, 3.514467448673203*^9}, {
+ 3.5145278724703493`*^9, 3.51452789715303*^9}}]
+}, Open ]]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["Implicit Adams methods", "Subsubsection",
+ CellChangeTimes->{{3.5144675944623537`*^9, 3.514467608362565*^9}}],
+
+Cell["\<\
+The implicit adams methods are usually used as corrector for the explicit \
+steps. \
+\>", "Text",
+ CellChangeTimes->{{3.5144676105697937`*^9, 3.514467636163187*^9}}],
+
+Cell["Define thte coefficients", "Text",
+ CellChangeTimes->{{3.514467641131043*^9, 3.514467645683628*^9}}],
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{"gammas", "[", "0", "]"}], ":=", "1"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"gammas", "[", "k_", "]"}], ":=",
+ RowBox[{"-",
+ RowBox[{"Sum", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"j", "+", "1"}], ")"}]}],
+ RowBox[{"gammas", "[",
+ RowBox[{"k", "-", "j"}], "]"}]}], ",",
+ RowBox[{"{",
+ RowBox[{"j", ",", "1", ",", "k"}], "}"}]}], "]"}]}]}]}], "Input",
+ CellChangeTimes->{{3.51446764717624*^9, 3.514467654082909*^9}, {
+ 3.5144680815705748`*^9, 3.514468119898904*^9}}],
+
+Cell["Define the approximation", "Text",
+ CellChangeTimes->{{3.514468160960372*^9, 3.514468166171316*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"ApprS", "[", "k_", "]"}], ":=",
+ RowBox[{"Sum", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"gammas", "[", "j", "]"}], " ",
+ RowBox[{"Nabla", "[",
+ RowBox[{
+ RowBox[{"n", "+", "1"}], ",", "j"}], "]"}]}], ",",
+ RowBox[{"{",
+ RowBox[{"j", ",", "0", ",", "k"}], "}"}]}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.514468167559917*^9, 3.514468225665447*^9},
+ 3.514469378555846*^9, 3.514469450024321*^9}],
+
+Cell[TextData[{
+ "Print the first seven terms. Note that everywhere ",
+ Cell[BoxData[
+ FormBox[
+ RowBox[{
+ SubscriptBox["x", "n"], "has", " ", "to", " ", "be", " ",
+ RowBox[{"added", "."}]}], TraditionalForm]]]
+}], "Text",
+ CellChangeTimes->{{3.514467545805399*^9, 3.514467568755361*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "0", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "1", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "2", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "3", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "4", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "5", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "6", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "7", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "8", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "9", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "10", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "11", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Expand", "[",
+ RowBox[{"Simplify", "[",
+ RowBox[{"ApprS", "[", "12", "]"}], "]"}], "]"}], "//",
+ "MyNeatSmall"}]}], "Input",
+ CellChangeTimes->{{3.514468253039894*^9, 3.5144682952815237`*^9}, {
+ 3.5144695004155483`*^9, 3.514469506581892*^9}, {3.514532203505896*^9,
+ 3.514532215643444*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.514532222367462*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ SubscriptBox["y", "n"], "2"], "+",
+ FractionBox[
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]], "2"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.514532222374004*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]], "12"]}], "+",
+ FractionBox[
+ RowBox[{"2", " ",
+ SubscriptBox["y", "n"]}], "3"], "+",
+ FractionBox[
+ RowBox[{"5", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]]}], "12"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.514532222417791*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]], "24"], "-",
+ FractionBox[
+ RowBox[{"5", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "24"], "+",
+ FractionBox[
+ RowBox[{"19", " ",
+ SubscriptBox["y", "n"]}], "24"], "+",
+ FractionBox[
+ RowBox[{"3", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]]}], "8"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.5145322224423037`*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"19", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "720"]}], "+",
+ FractionBox[
+ RowBox[{"53", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "360"], "-",
+ FractionBox[
+ RowBox[{"11", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "30"], "+",
+ FractionBox[
+ RowBox[{"323", " ",
+ SubscriptBox["y", "n"]}], "360"], "+",
+ FractionBox[
+ RowBox[{"251", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]]}], "720"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.514532222467699*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{"3", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "160"], "-",
+ FractionBox[
+ RowBox[{"173", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "1440"], "+",
+ FractionBox[
+ RowBox[{"241", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "720"], "-",
+ FractionBox[
+ RowBox[{"133", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "240"], "+",
+ FractionBox[
+ RowBox[{"1427", " ",
+ SubscriptBox["y", "n"]}], "1440"], "+",
+ FractionBox[
+ RowBox[{"95", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]]}], "288"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.514532222494212*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"863", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "60480"]}], "+",
+ FractionBox[
+ RowBox[{"263", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "2520"], "-",
+ FractionBox[
+ RowBox[{"6737", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "20160"], "+",
+ FractionBox[
+ RowBox[{"586", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "945"], "-",
+ FractionBox[
+ RowBox[{"15487", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "20160"], "+",
+ FractionBox[
+ RowBox[{"2713", " ",
+ SubscriptBox["y", "n"]}], "2520"], "+",
+ FractionBox[
+ RowBox[{"19087", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]]}], "60480"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.514532222525598*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{"275", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "24192"], "-",
+ FractionBox[
+ RowBox[{"11351", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "120960"], "+",
+ FractionBox[
+ RowBox[{"1537", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "4480"], "-",
+ FractionBox[
+ RowBox[{"88547", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "120960"], "+",
+ FractionBox[
+ RowBox[{"123133", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "120960"], "-",
+ FractionBox[
+ RowBox[{"4511", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "4480"], "+",
+ FractionBox[
+ RowBox[{"139849", " ",
+ SubscriptBox["y", "n"]}], "120960"], "+",
+ FractionBox[
+ RowBox[{"5257", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]]}], "17280"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.514532222558278*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"33953", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "7"}]]}], "3628800"]}], "+",
+ FractionBox[
+ RowBox[{"156437", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "1814400"], "-",
+ FractionBox[
+ RowBox[{"645607", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "1814400"], "+",
+ FractionBox[
+ RowBox[{"1573169", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "1814400"], "-",
+ FractionBox[
+ RowBox[{"31457", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "22680"], "+",
+ FractionBox[
+ RowBox[{"2797679", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "1814400"], "-",
+ FractionBox[
+ RowBox[{"2302297", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "1814400"], "+",
+ FractionBox[
+ RowBox[{"2233547", " ",
+ SubscriptBox["y", "n"]}], "1814400"], "+",
+ FractionBox[
+ RowBox[{"1070017", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]]}], "3628800"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.514532222593453*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{"8183", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "8"}]]}], "1036800"], "-",
+ FractionBox[
+ RowBox[{"116687", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "7"}]]}], "1451520"], "+",
+ FractionBox[
+ RowBox[{"335983", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "907200"], "-",
+ FractionBox[
+ RowBox[{"462127", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "453600"], "+",
+ FractionBox[
+ RowBox[{"6755041", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "3628800"], "-",
+ FractionBox[
+ RowBox[{"8641823", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "3628800"], "+",
+ FractionBox[
+ RowBox[{"200029", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "90720"], "-",
+ FractionBox[
+ RowBox[{"1408913", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "907200"], "+",
+ FractionBox[
+ RowBox[{"9449717", " ",
+ SubscriptBox["y", "n"]}], "7257600"], "+",
+ FractionBox[
+ RowBox[{"25713", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]]}], "89600"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.514532222682352*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"3250433", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "9"}]]}], "479001600"]}], "+",
+ FractionBox[
+ RowBox[{"9071219", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "8"}]]}], "119750400"], "-",
+ FractionBox[
+ RowBox[{"12318413", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "7"}]]}], "31933440"], "+",
+ FractionBox[
+ RowBox[{"23643791", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "19958400"], "-",
+ FractionBox[
+ RowBox[{"21677723", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "8870400"], "+",
+ FractionBox[
+ RowBox[{"2227571", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "623700"], "-",
+ FractionBox[
+ RowBox[{"33765029", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "8870400"], "+",
+ FractionBox[
+ RowBox[{"12051709", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "3991680"], "-",
+ FractionBox[
+ RowBox[{"296725183", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "159667200"], "+",
+ FractionBox[
+ RowBox[{"164046413", " ",
+ SubscriptBox["y", "n"]}], "119750400"], "+",
+ FractionBox[
+ RowBox[{"26842253", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]]}], "95800320"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.514532222716319*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{"4671", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "10"}]]}], "788480"], "-",
+ FractionBox[
+ RowBox[{"68928781", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "9"}]]}], "958003200"], "+",
+ FractionBox[
+ RowBox[{"384709327", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "8"}]]}], "958003200"], "-",
+ FractionBox[
+ RowBox[{"87064741", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "7"}]]}], "63866880"], "+",
+ FractionBox[
+ RowBox[{"501289903", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "159667200"], "-",
+ FractionBox[
+ RowBox[{"91910491", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "17740800"], "+",
+ FractionBox[
+ RowBox[{"1007253581", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "159667200"], "-",
+ FractionBox[
+ RowBox[{"102212233", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "17740800"], "+",
+ FractionBox[
+ RowBox[{"36465037", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "9123840"], "-",
+ FractionBox[
+ RowBox[{"99642413", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "45619200"], "+",
+ FractionBox[
+ RowBox[{"1374799219", " ",
+ SubscriptBox["y", "n"]}], "958003200"], "+",
+ FractionBox[
+ RowBox[{"4777223", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]]}], "17418240"]}], TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.514532222764542*^9}}],
+
+Cell[BoxData[
+ FormBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"13695779093", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "11"}]]}], "2615348736000"]}], "+",
+ FractionBox[
+ RowBox[{"2724891251", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "10"}]]}], "39626496000"], "-",
+ FractionBox[
+ RowBox[{"30336027563", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "9"}]]}], "72648576000"], "+",
+ FractionBox[
+ RowBox[{"406332786317", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "8"}]]}], "261534873600"], "-",
+ FractionBox[
+ RowBox[{"229882484333", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "7"}]]}], "58118860800"], "+",
+ FractionBox[
+ RowBox[{"529394045911", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "6"}]]}], "72648576000"], "-",
+ FractionBox[
+ RowBox[{"4874320027", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "5"}]]}], "486486000"], "+",
+ FractionBox[
+ RowBox[{"84400835489", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "4"}]]}], "8072064000"], "-",
+ FractionBox[
+ RowBox[{"485500845331", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "3"}]]}], "58118860800"], "+",
+ FractionBox[
+ RowBox[{"1346577425651", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "2"}]]}], "261534873600"], "-",
+ FractionBox[
+ RowBox[{"551368413119", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "-", "1"}]]}], "217945728000"], "+",
+ FractionBox[
+ RowBox[{"6595204069", " ",
+ SubscriptBox["y", "n"]}], "4402944000"], "+",
+ FractionBox[
+ RowBox[{"703604254357", " ",
+ SubscriptBox["y",
+ RowBox[{"n", "+", "1"}]]}], "2615348736000"]}],
+ TraditionalForm]], "Output",
+ CellChangeTimes->{{3.5144682568392572`*^9, 3.514468296869801*^9},
+ 3.514469396864979*^9, 3.5144694520511827`*^9, 3.5144695076064157`*^9, {
+ 3.514532216284086*^9, 3.5145322228147984`*^9}}]
+}, Open ]]
+}, Open ]]
+},
+WindowSize->{1680, 983},
+WindowMargins->{{0, Automatic}, {Automatic, 0}},
+FrontEndVersion->"7.0 for Linux x86 (64-bit) (November 11, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[545, 20, 464, 10, 77, "Input"],
+Cell[1012, 32, 997, 29, 99, "Input"],
+Cell[2012, 63, 580, 17, 55, "Input"],
+Cell[CellGroupData[{
+Cell[2617, 84, 115, 1, 29, "Subsubsection"],
+Cell[2735, 87, 99, 1, 31, "Text"],
+Cell[2837, 90, 479, 15, 55, "Input"],
+Cell[3319, 107, 106, 1, 31, "Text"],
+Cell[3428, 110, 411, 12, 32, "Input"],
+Cell[3842, 124, 331, 9, 31, "Text"],
+Cell[CellGroupData[{
+Cell[4198, 137, 2279, 67, 297, "Input"],
+Cell[6480, 206, 173, 3, 47, "Output"],
+Cell[6656, 211, 197, 4, 47, "Output"],
+Cell[6856, 217, 342, 10, 62, "Output"],
+Cell[7201, 229, 479, 15, 62, "Output"],
+Cell[7683, 246, 614, 20, 62, "Output"],
+Cell[8300, 268, 715, 23, 62, "Output"],
+Cell[9018, 293, 854, 28, 62, "Output"],
+Cell[9875, 323, 965, 31, 62, "Output"],
+Cell[10843, 356, 1115, 36, 62, "Output"],
+Cell[11961, 394, 1241, 39, 62, "Output"],
+Cell[13205, 435, 1383, 44, 62, "Output"],
+Cell[14591, 481, 1517, 47, 62, "Output"],
+Cell[16111, 530, 1678, 52, 62, "Output"]
+}, Open ]]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[17838, 588, 115, 1, 29, "Subsubsection"],
+Cell[17956, 591, 175, 4, 31, "Text"],
+Cell[18134, 597, 106, 1, 31, "Text"],
+Cell[18243, 600, 593, 17, 55, "Input"],
+Cell[18839, 619, 106, 1, 31, "Text"],
+Cell[18948, 622, 463, 13, 32, "Input"],
+Cell[19414, 637, 298, 8, 31, "Text"],
+Cell[CellGroupData[{
+Cell[19737, 649, 2343, 68, 297, "Input"],
+Cell[22083, 719, 294, 6, 47, "Output"],
+Cell[22380, 727, 389, 10, 60, "Output"],
+Cell[22772, 739, 548, 16, 62, "Output"],
+Cell[23323, 757, 639, 19, 62, "Output"],
+Cell[23965, 778, 808, 25, 62, "Output"],
+Cell[24776, 805, 902, 28, 62, "Output"],
+Cell[25681, 835, 1054, 33, 62, "Output"],
+Cell[26738, 870, 1159, 36, 62, "Output"],
+Cell[27900, 908, 1328, 41, 62, "Output"],
+Cell[29231, 951, 1418, 44, 62, "Output"],
+Cell[30652, 997, 1598, 49, 62, "Output"],
+Cell[32253, 1048, 1705, 52, 62, "Output"],
+Cell[33961, 1102, 1939, 58, 100, "Output"]
+}, Open ]]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)

Modified: sandbox/odeint/branches/karsten/libs/numeric/odeint/test/Jamfile
==============================================================================
--- sandbox/odeint/branches/karsten/libs/numeric/odeint/test/Jamfile (original)
+++ sandbox/odeint/branches/karsten/libs/numeric/odeint/test/Jamfile 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -28,5 +28,6 @@
          [ run stepper_with_ranges.cpp ]
          [ run rosenbrock4.cpp ]
          [ run is_pair.cpp ]
+ [ run adams_bashforth_moulton.cpp ]
         : <testing.launcher>valgrind
         ;

Added: sandbox/odeint/branches/karsten/libs/numeric/odeint/test/adams_bashforth_moulton.cpp
==============================================================================
--- (empty file)
+++ sandbox/odeint/branches/karsten/libs/numeric/odeint/test/adams_bashforth_moulton.cpp 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -0,0 +1,43 @@
+/* Boost check_implicit_euler.cpp test file
+
+ Copyright 2009 Karsten Ahnert
+ Copyright 2009 Mario Mulansky
+
+ This file tests the use of the euler stepper
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or
+ copy at http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#define BOOST_TEST_MODULE odeint_adams_bashforth_moulton
+
+#include <utility>
+
+#include <boost/test/unit_test.hpp>
+
+#include <boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp>
+#include <boost/numeric/odeint/stepper/adams_bashforth.hpp>
+#include <boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp>
+
+using namespace boost::unit_test;
+using namespace boost::numeric::odeint;
+
+typedef double value_type;
+
+BOOST_AUTO_TEST_SUITE( adams_bashforth_moulton_test )
+
+BOOST_AUTO_TEST_CASE( test_adams_bashforth_coefficients )
+{
+ detail::adams_bashforth_coefficients< value_type , 1 > c1;
+ detail::adams_bashforth_coefficients< value_type , 2 > c2;
+ detail::adams_bashforth_coefficients< value_type , 3 > c3;
+ detail::adams_bashforth_coefficients< value_type , 4 > c4;
+ detail::adams_bashforth_coefficients< value_type , 5 > c5;
+ detail::adams_bashforth_coefficients< value_type , 6 > c6;
+ detail::adams_bashforth_coefficients< value_type , 7 > c7;
+ detail::adams_bashforth_coefficients< value_type , 8 > c8;
+}
+
+
+BOOST_AUTO_TEST_SUITE_END()

Modified: sandbox/odeint/branches/karsten/libs/numeric/odeint/test/is_pair.cpp
==============================================================================
--- sandbox/odeint/branches/karsten/libs/numeric/odeint/test/is_pair.cpp (original)
+++ sandbox/odeint/branches/karsten/libs/numeric/odeint/test/is_pair.cpp 2011-05-16 06:03:42 EDT (Mon, 16 May 2011)
@@ -12,7 +12,7 @@
 #include <boost/test/unit_test.hpp>
 #include <boost/static_assert.hpp>
 
-#include <boost/numeric/odeint/stepper/detail/is_pair.hpp>
+#include <boost/numeric/odeint/util/is_pair.hpp>
 
 using namespace boost::numeric::odeint;
 
@@ -20,7 +20,7 @@
 
 BOOST_AUTO_TEST_SUITE( is_pair_test )
 
-BOOST_AUTO_TEST_CASE( is_pair )
+BOOST_AUTO_TEST_CASE( test_is_pair )
 {
         typedef std::pair< int , int > type1;
         typedef std::pair< int& , int > type2;
@@ -29,12 +29,12 @@
         typedef std::pair< const int , int > type5;
         typedef std::pair< const int& , int > type6;
 
- BOOST_STATIC_ASSERT(( detail::is_pair< type1 >::value ));
- BOOST_STATIC_ASSERT(( detail::is_pair< type2 >::value ));
- BOOST_STATIC_ASSERT(( detail::is_pair< type3 >::value ));
- BOOST_STATIC_ASSERT(( detail::is_pair< type4 >::value ));
- BOOST_STATIC_ASSERT(( detail::is_pair< type5 >::value ));
- BOOST_STATIC_ASSERT(( detail::is_pair< type6 >::value ));
+ BOOST_STATIC_ASSERT(( is_pair< type1 >::value ));
+ BOOST_STATIC_ASSERT(( is_pair< type2 >::value ));
+ BOOST_STATIC_ASSERT(( is_pair< type3 >::value ));
+ BOOST_STATIC_ASSERT(( is_pair< type4 >::value ));
+ BOOST_STATIC_ASSERT(( is_pair< type5 >::value ));
+ BOOST_STATIC_ASSERT(( is_pair< type6 >::value ));
 }
 
 BOOST_AUTO_TEST_SUITE_END()


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk