<commit_before># Documentation

For the details of the algorithms, see the [Documentation](http://siminterface.readthedocs.org/en/latest/)

# What is SimInterface?

It is a python-based simulation environment. Currently, it is primarily geared to testing optimal control algorithms. The scope will increase with time.


Its main aims are:

* [Object Oriented Design](#object)
* [Portable Controllers](#portable)

# <a name="object"></a> Object Oriented Design

## Encapsulate System and Controller Data
Plants and controllers are objects. Plant objects should encapsulate
all information required for simulation and control
design. Controller design methods can take plant objects as inputs.  

## Inheritance
Designing new plant types and controller methods based on existing
schemes simplifies. 

# <a name="portable"></a> Portable Controllers
Controllers are be designed to work for every plant in a class. The
syntax for controller becomes quite simple.


# TODO

- [ ] Make classes with external dependencies load conditionally. 
- [ ] Enable automated installation in setup.py
- [ ] UPDATE THE DOCUMENTATION
- [ ] Generalize class rbfNetwork to allow for vector functions (see createRBFbasis)
- [ ] Put in an x gradient in the general functionApproximator class
- [ ] Update existing function approximator classes to have their x gradients
- [ ] A notebook on how to use the function approximators, and detail their capabilities.
- [ ] Merge in varying function
- [ ] Make parameterized function a subclass of varying function
- [ ] Put parameterized function into a different file<commit_msg>changed to reflect new version<commit_after>

# What is SimInterface?

The SimInterface is meant to be a modular environment for constructing and maniupulating dynamical systems. In particular, the main task of the SimInterface is to handle bookkeeping tasks such as the value of internal signals, which variables get passed to which functions, and so on. 
 
# Tutorial



# Documentation

For the details of the algorithms, see the [Documentation](http://siminterface.readthedocs.org/en/latest/)

This is a work in progress, so the documentation is still growing and changing. 
{'fraction_non_alphanumeric': 0.05925585668350942, 'fraction_numerical': 0.0, 'mean_word_length': 4.68668407310705, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2509621', 'n_tokens_mistral': 545, 'n_tokens_neox': 521, 'n_words': 272}