Module Expr Str ImportFrom alias alias Import alias identifier Import alias Assign NameStore Str Assign NameStore ListLoad Str Str Str Str Str Assign NameStore Str Assign NameStore Str ClassDef bases AttributeLoad NameLoad attr body Expr Str Assign NameStore Dict Str Str ListLoad Str Str Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore BinOpMult Num AttributeLoad NameLoad attr Assign NameStore BinOpMult Num AttributeLoad NameLoad attr Assign NameStore ListLoad Num Num UnaryOpUAdd Num Assign NameStore Num Assign NameStore Str Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore Num FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore UnaryOpUSub NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Num Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr keyword Num keyword Num keyword TupleLoad Num Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore AttributeLoad NameLoad attr Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad If CompareGt AttributeLoad NameLoad attr Num body AugAssignAdd NameStore Call AttributeLoad AttributeLoad NameLoad attr attr UnaryOpUSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call NameLoad AttributeLoad NameLoad attr NameLoad ListLoad Num AttributeLoad NameLoad attr Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Slice Num Assign SubscriptStore NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num UnaryOpUSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num UnaryOpUSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num UnaryOpUSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num UnaryOpUSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore IfExp UnaryOpNot NameLoad Num Num Return TupleLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad NameLoad Dict decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore AttributeLoad NameLoad attr Return Call NameLoad CompareGt BinOpSub UnaryOpUSub Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num Call AttributeLoad NameLoad attr BinOpAdd SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Num Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Slice Num Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore BinOpAdd BinOpAdd BinOpAdd BinOpMult NameLoad BinOpPow NameLoad Num BinOpMult NameLoad BinOpAdd BinOpAdd BinOpPow NameLoad Num BinOpPow NameLoad Num BinOpMult BinOpMult BinOpMult Num NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Assign NameStore BinOpAdd BinOpMult NameLoad BinOpAdd BinOpPow NameLoad Num BinOpMult BinOpMult NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore BinOpMult BinOpMult BinOpMult NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr BinOpSub BinOpAdd NameLoad NameLoad BinOpDiv AttributeLoad NameLoad attr Num Assign NameStore BinOpAdd BinOpAdd BinOpSub BinOpMult BinOpMult BinOpMult BinOpMult UnaryOpUSub NameLoad NameLoad NameLoad BinOpPow NameLoad Num Call AttributeLoad NameLoad attr NameLoad BinOpMult BinOpMult BinOpMult BinOpMult BinOpMult BinOpMult Num NameLoad NameLoad NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad BinOpMult BinOpMult BinOpAdd BinOpMult NameLoad NameLoad BinOpMult NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr BinOpSub NameLoad BinOpDiv AttributeLoad NameLoad attr Num NameLoad If CompareEq AttributeLoad NameLoad attr Str body Assign NameStore BinOpDiv BinOpSub BinOpAdd NameLoad BinOpMult BinOpDiv NameLoad NameLoad NameLoad NameLoad BinOpSub BinOpAdd BinOpMult NameLoad BinOpPow NameLoad Num NameLoad BinOpDiv BinOpPow NameLoad Num NameLoad orelse Assign NameStore BinOpDiv BinOpSub BinOpSub BinOpAdd NameLoad BinOpMult BinOpDiv NameLoad NameLoad NameLoad BinOpMult BinOpMult BinOpMult BinOpMult NameLoad NameLoad NameLoad BinOpPow NameLoad Num Call AttributeLoad NameLoad attr NameLoad NameLoad BinOpSub BinOpAdd BinOpMult NameLoad BinOpPow NameLoad Num NameLoad BinOpDiv BinOpPow NameLoad Num NameLoad Assign NameStore BinOpDiv UnaryOpUSub BinOpAdd BinOpMult NameLoad NameLoad NameLoad NameLoad Return TupleLoad NameLoad NameLoad NameLoad NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Str NameLoad body ImportFrom alias If NameLoad body If CompareIsNot AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Return Assign NameStore AttributeLoad NameLoad attr If CompareIs AttributeLoad NameLoad attr NameLoad body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Num Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num Assign NameStore ListLoad BinOpMult UnaryOpUSub AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num BinOpMult AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num Assign NameStore ListLoad BinOpSub SubscriptLoad NameLoad Index Num BinOpMult AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr BinOpAdd SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num BinOpAdd SubscriptLoad NameLoad Index Num BinOpMult AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr BinOpAdd SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr ListLoad ListLoad Num Num NameLoad NameLoad ExtSlice Slice Slice Num Assign NameStore ListLoad BinOpSub SubscriptLoad NameLoad Index Num BinOpDiv AttributeLoad NameLoad attr Num BinOpSub BinOpAdd SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num BinOpDiv AttributeLoad NameLoad attr Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad Num Num TupleLoad Num Num For TupleStore TupleStore NameStore NameStore NameStore Call NameLoad NameLoad NameLoad body Assign TupleStore NameStore NameStore NameStore NameStore TupleLoad Num Num Num Num Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword TupleLoad NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr ListLoad TupleLoad NameLoad NameLoad TupleLoad NameLoad NameLoad TupleLoad NameLoad NameLoad TupleLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Num Num Num Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Num Expr Call AttributeLoad NameLoad attr Num Num Num Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr If CompareEq NameLoad Str body Return Call AttributeLoad AttributeLoad NameLoad attr attr orelse If CompareIs NameLoad Str body Pass decorator_list decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore BinOpSub NameLoad NameLoad While CompareGt NameLoad NameLoad body Assign NameStore BinOpSub NameLoad NameLoad While CompareLt NameLoad NameLoad body Assign NameStore BinOpAdd NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Index Num Return Call NameLoad Call NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults vararg kwarg body Expr Str TryExcept body Assign NameStore Call NameLoad NameLoad handlers ExceptHandler type NameLoad body Assign NameStore Call AttributeLoad NameLoad attr TupleLoad Call NameLoad NameLoad AttributeLoad NameLoad attr orelse Assign NameStore Call AttributeLoad NameLoad attr TupleLoad Call NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index Num NameLoad Assign NameStore Num For NameStore Call AttributeLoad NameLoad attr BinOpSub Call NameLoad NameLoad Num body Assign NameStore SubscriptLoad NameLoad Index NameLoad Assign NameStore BinOpSub SubscriptLoad NameLoad Index BinOpAdd NameLoad Num NameLoad Assign NameStore BinOpDiv NameLoad Num Assign NameStore SubscriptLoad NameLoad Index NameLoad Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad BinOpAdd NameLoad BinOpMult NameLoad NameLoad BinOpAdd NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad BinOpAdd NameLoad BinOpMult NameLoad NameLoad BinOpAdd NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad BinOpAdd NameLoad BinOpMult NameLoad NameLoad BinOpAdd NameLoad NameLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index BinOpAdd NameLoad Num BinOpAdd NameLoad BinOpMult BinOpDiv NameLoad Num BinOpAdd BinOpAdd BinOpAdd NameLoad BinOpMult Num NameLoad BinOpMult Num NameLoad NameLoad Return NameLoad decorator_list
N/A N/A classic Acrobot task gym core spaces N/A numpy np N/A time N/A __copyright__ Copyright 2013, RLPy http://acl.mit.edu/RLPy N/A __credits__ N/A Alborz Geramifard Robert H. Klein Christoph Dann William Dabney Jonathan P. How N/A __license__ BSD 3-Clause N/A __author__ Christoph Dann <cdann@cdann.de> AcrobotEnv N/A N/A core Env N/A N/A 
    Acrobot is a 2-link pendulum with only the second joint actuated
    Intitially, both links point downwards. The goal is to swing the
    end-effector at a height at least the length of one link above the base.
    Both links can swing freely and can pass by each other, i.e., they don't
    collide when they have the same angle.
    **STATE:**
    The state consists of the two rotational joint angles and their velocities
    [theta1 theta2 thetaDot1 thetaDot2]. An angle of 0 corresponds to corresponds
    to the respective link pointing downwards (angles are in world coordinates).
    **ACTIONS:**
    The action is either applying +1, 0 or -1 torque on the joint between
    the two pendulum links.
    .. note::
        The dynamics equations were missing some terms in the NIPS paper which
        are present in the book. R. Sutton confirmed in personal correspondance
        that the experimental results shown in the paper and the book were
        generated with the equations shown in the book.
        However, there is the option to run the domain with the paper equations
        by setting book_or_nips = 'nips'
    **REFERENCE:**
    .. seealso::
        R. Sutton: Generalization in Reinforcement Learning:
        Successful Examples Using Sparse Coarse Coding (NIPS 1996)
    .. seealso::
        R. Sutton and A. G. Barto:
        Reinforcement learning: An introduction.
        Cambridge: MIT press, 1998.
    .. warning::
        This version of the domain uses the Runge-Kutta method for integrating
        the system dynamics and is more realistic, but also considerably harder
        than the original version which employs Euler integration,
        see the AcrobotLegacy class.
     N/A metadata N/A render.modes video.frames_per_second N/A human rgb_array 15 N/A dt 0.2 N/A LINK_LENGTH_1 1.0 N/A LINK_LENGTH_2 1.0 N/A LINK_MASS_1 1.0 N/A LINK_MASS_2 1.0 N/A LINK_COM_POS_1 0.5 N/A LINK_COM_POS_2 0.5 N/A LINK_MOI 1.0 N/A MAX_VEL_1 N/A 4 N/A np pi N/A MAX_VEL_2 N/A 9 N/A np pi N/A AVAIL_TORQUE N/A -1.0 0.0 N/A 1 N/A torque_noise_max 0.0 N/A book_or_nips book N/A action_arrow None N/A domain_fig None N/A actions_num 3 __init__ N/A N/A self N/A N/A N/A high N/A N/A np array N/A N/A np pi N/A np pi N/A self MAX_VEL_1 N/A self MAX_VEL_2 N/A low N/A high N/A N/A self observation_space N/A N/A spaces Box low high N/A N/A self action_space N/A N/A spaces Discrete 3 N/A N/A self viewer None N/A _reset N/A N/A self N/A N/A N/A N/A self state N/A N/A N/A np random uniform low -0.1 high 0.1 size N/A 4 N/A N/A self state N/A _step N/A N/A self a N/A N/A N/A s N/A self state N/A torque N/A N/A self AVAIL_TORQUE N/A a N/A N/A N/A self torque_noise_max 0 N/A N/A torque N/A N/A N/A np random uniform N/A N/A self torque_noise_max N/A self torque_noise_max N/A s_augmented N/A N/A np append s torque N/A ns N/A rk4 N/A self _dsdt s_augmented N/A 0 N/A self dt N/A ns N/A ns N/A -1 N/A ns N/A ns N/A 4 N/A N/A ns N/A 0 N/A wrap N/A ns N/A 0 N/A N/A np pi N/A np pi N/A N/A ns N/A 1 N/A wrap N/A ns N/A 1 N/A N/A np pi N/A np pi N/A N/A ns N/A 2 N/A bound N/A ns N/A 2 N/A N/A self MAX_VEL_1 N/A self MAX_VEL_1 N/A N/A ns N/A 3 N/A bound N/A ns N/A 3 N/A N/A self MAX_VEL_2 N/A self MAX_VEL_2 N/A N/A self state N/A N/A ns copy N/A terminal N/A N/A self _terminal N/A reward N/A N/A terminal -1.0 0.0 N/A N/A N/A N/A np array N/A self state reward terminal N/A N/A _terminal N/A N/A self N/A N/A N/A s N/A self state N/A N/A bool N/A N/A N/A N/A N/A np cos N/A s N/A 0 N/A N/A np cos N/A N/A s N/A 1 N/A s N/A 0 1.0 N/A _dsdt N/A N/A self s_augmented t N/A N/A N/A m1 N/A self LINK_MASS_1 N/A m2 N/A self LINK_MASS_2 N/A l1 N/A self LINK_LENGTH_1 N/A lc1 N/A self LINK_COM_POS_1 N/A lc2 N/A self LINK_COM_POS_2 N/A I1 N/A self LINK_MOI N/A I2 N/A self LINK_MOI N/A g 9.8 N/A a N/A s_augmented N/A -1 N/A s N/A s_augmented N/A -1 N/A theta1 N/A s N/A 0 N/A theta2 N/A s N/A 1 N/A dtheta1 N/A s N/A 2 N/A dtheta2 N/A s N/A 3 N/A d1 N/A N/A N/A N/A m1 N/A lc1 2 N/A m2 N/A N/A N/A l1 2 N/A lc2 2 N/A N/A N/A 2 l1 lc2 N/A N/A np cos theta2 I1 I2 N/A d2 N/A N/A m2 N/A N/A lc2 2 N/A N/A l1 lc2 N/A N/A np cos theta2 I2 N/A phi2 N/A N/A N/A m2 lc2 g N/A N/A np cos N/A N/A theta1 theta2 N/A N/A np pi 2.0 N/A phi1 N/A N/A N/A N/A N/A N/A N/A N/A m2 l1 lc2 N/A dtheta2 2 N/A N/A np sin theta2 N/A N/A N/A N/A N/A N/A 2 m2 l1 lc2 dtheta2 dtheta1 N/A N/A np sin theta2 N/A N/A N/A N/A m1 lc1 N/A m2 l1 g N/A N/A np cos N/A theta1 N/A N/A np pi 2 phi2 N/A N/A N/A self book_or_nips nips N/A N/A ddtheta2 N/A N/A N/A a N/A N/A d2 d1 phi1 phi2 N/A N/A N/A m2 N/A lc2 2 I2 N/A N/A d2 2 d1 N/A N/A ddtheta2 N/A N/A N/A N/A a N/A N/A d2 d1 phi1 N/A N/A N/A N/A m2 l1 lc2 N/A dtheta1 2 N/A N/A np sin theta2 phi2 N/A N/A N/A m2 N/A lc2 2 I2 N/A N/A d2 2 d1 N/A ddtheta1 N/A N/A N/A N/A d2 ddtheta2 phi1 d1 N/A N/A dtheta1 dtheta2 ddtheta1 ddtheta2 0.0 N/A _render N/A N/A self mode close N/A human False N/A gym.envs.classic_control rendering N/A close N/A N/A N/A N/A self viewer None N/A N/A N/A N/A N/A self viewer close N/A N/A s N/A self state N/A N/A N/A self viewer None N/A N/A N/A self viewer N/A N/A rendering Viewer 500 500 N/A N/A N/A N/A self viewer set_bounds -2.2 2.2 -2.2 2.2 N/A p1 N/A N/A N/A N/A self LINK_LENGTH_1 N/A N/A np cos N/A s N/A 0 N/A N/A self LINK_LENGTH_1 N/A N/A np sin N/A s N/A 0 N/A p2 N/A N/A N/A p1 N/A 0 N/A N/A self LINK_LENGTH_2 N/A N/A np cos N/A N/A s N/A 0 N/A s N/A 1 N/A N/A p1 N/A 1 N/A N/A self LINK_LENGTH_2 N/A N/A np sin N/A N/A s N/A 0 N/A s N/A 1 N/A xys N/A N/A N/A np array N/A N/A 0 0 p1 p2 N/A N/A N/A -1 N/A thetas N/A N/A N/A s N/A 0 N/A N/A np pi 2 N/A N/A N/A s N/A 0 N/A s N/A 1 N/A N/A np pi 2 N/A N/A N/A N/A self viewer draw_line N/A -2.2 1 N/A 2.2 1 N/A N/A N/A x y th N/A zip xys thetas N/A N/A N/A l r t b N/A 0 1 0.1 -0.1 N/A jtransform N/A N/A rendering Transform rotation th translation N/A x y N/A link N/A N/A N/A self viewer draw_polygon N/A N/A l b N/A l t N/A r t N/A r b N/A N/A N/A link add_attr jtransform N/A N/A N/A link set_color 0 0.8 0.8 N/A circ N/A N/A N/A self viewer draw_circle 0.1 N/A N/A N/A circ set_color 0.8 0.8 0 N/A N/A N/A circ add_attr jtransform N/A N/A N/A N/A self viewer render N/A N/A mode rgb_array N/A N/A N/A N/A N/A self viewer get_array N/A N/A N/A mode human N/A N/A N/A N/A wrap N/A N/A x m M N/A N/A N/A 
    :param x: a scalar
    :param m: minimum possible value in range
    :param M: maximum possible value in range
    Wraps ``x`` so m <= x <= M; but unlike ``bound()`` which
    truncates, ``wrap()`` wraps x around the coordinate system defined by m,M.

    For example, m = -180, M = 180 (degrees), x = 360 --> returns 0.
     N/A diff N/A M m N/A N/A x M N/A N/A x N/A x diff N/A N/A x m N/A N/A x N/A x diff N/A x N/A bound N/A N/A x m M N/A None N/A N/A 
    :param x: scalar
    Either have m as scalar, so bound(x,m,M) which returns m <= x <= M *OR*
    have m as length 2 vector, bound(x,m, <IGNORED>) returns m[0] <= x <= m[1].
     N/A N/A M None N/A N/A M N/A m N/A 1 N/A m N/A m N/A 0 N/A N/A min N/A max x m M N/A rk4 N/A N/A derivs y0 t N/A args kwargs N/A N/A 
    Integrate 1D or ND system of ODEs using 4-th order Runge-Kutta.
    This is a toy implementation which may be useful if you find
    yourself stranded on a system w/o scipy.  Otherwise use
    :func:`scipy.integrate`.
    *y0*
        initial state vector
    *t*
        sample times
    *derivs*
        returns the derivative of the system and has the
        signature ``dy = derivs(yi, ti)``
    *args*
        additional arguments passed to the derivative function
    *kwargs*
        additional keyword arguments passed to the derivative function
    Example 1 ::
        ## 2D system
        def derivs6(x,t):
            d1 =  x[0] + 2*x[1]
            d2 =  -3*x[0] + 4*x[1]
            return (d1, d2)
        dt = 0.0005
        t = arange(0.0, 2.0, dt)
        y0 = (1,2)
        yout = rk4(derivs6, y0, t)
    Example 2::
        ## 1D system
        alpha = 2
        def derivs(x,t):
            return -alpha*x + exp(-t)
        y0 = 1
        yout = rk4(derivs, y0, t)
    If you have access to scipy, you should probably be using the
    scipy.integrate tools rather than this function.
     N/A N/A N/A Ny N/A len y0 N/A N/A N/A TypeError N/A N/A yout N/A N/A np zeros N/A N/A len t N/A np float_ N/A N/A yout N/A N/A np zeros N/A N/A len t Ny N/A np float_ N/A N/A yout N/A 0 y0 N/A i 0 N/A i N/A N/A np arange N/A N/A len t 1 N/A N/A thist N/A t N/A i N/A dt N/A N/A t N/A N/A i 1 thist N/A dt2 N/A dt 2.0 N/A y0 N/A yout N/A i N/A k1 N/A N/A np asarray N/A derivs y0 thist args kwargs N/A k2 N/A N/A np asarray N/A derivs N/A y0 N/A dt2 k1 N/A thist dt2 args kwargs N/A k3 N/A N/A np asarray N/A derivs N/A y0 N/A dt2 k2 N/A thist dt2 args kwargs N/A k4 N/A N/A np asarray N/A derivs N/A y0 N/A dt k3 N/A thist dt args kwargs N/A N/A yout N/A N/A i 1 N/A y0 N/A N/A dt 6.0 N/A N/A N/A k1 N/A 2 k2 N/A 2 k3 k4 N/A yout N/A