Skip to content
/ nlsymb Public

Tools for building symbolic representations of nonlinear systems and numerically integrating them

License

Notifications You must be signed in to change notification settings

vlsd/nlsymb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

525414c · Oct 28, 2014

History

94 Commits
Feb 14, 2014
Oct 28, 2014
Aug 11, 2014
Sep 17, 2014
Jun 3, 2013
Jun 3, 2013
Jun 3, 2013
Feb 14, 2014
Jun 26, 2014
Feb 6, 2014
Jun 3, 2014
Feb 14, 2014
Mar 21, 2014
Jun 3, 2013
Oct 28, 2014
Jun 26, 2014
Feb 6, 2014
Oct 26, 2014

Repository files navigation

======
nlsymb
======

nlsymb is a small collection of classes and functions that use and 
extend the tools of `numpy` and `sympy` for use with nonlinear 
dynamic systems that require somewhat intricate tensor algebra 
between symbolic object. An example use is::

    #!/usr/bin/env python

    from nlsymb import aux
    from nlsymb import object_einsum
    from nlsymb import lqr

    with nlsymb.Timer():
        ref = aux.trajectory('x', 'u')
        ref.addpoint(0, x=xinit, u=[1, 0])
        ref.addpoint(2, x=[-6, -7, 0, 0], u=[0, 1])
        ref.interpolate()

    print "reference x at time %f is %f " % (1.34, ref.x(1.34)) 


Installation
============

Not implemented yet. For now just clone the repo and manually copy
things where they need to be or develop directly in this folder.


TODO
====
Make sure that flat_optim.py works as advertised (fixed some typos
but no time to check in depth). Also add a few benchmark trajectories
for it, like constant reference and control variations.

Write run_optim.py file that takes type of floor, initial point,
reference trajectory and cost functions as parameters/reads them from
a file.


About

Tools for building symbolic representations of nonlinear systems and numerically integrating them

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published