# xolotl: a fast and flexible neuronal simulator¶

`xolotl`

is a fast single-compartment and
multi-compartment simulator written in `C++`

with
a MATLAB interface that you'll actually enjoy using.

Why use xolotl? This is why:

# xolotl is *FAST*¶

xolotl is written in C++, and it's **fast**. In our testing, it's
more than **3 times** faster than NEURON for single
compartment neurons.

# xolotl is *easy to use*¶

Want to set up a Hodgkin-Huxley model, inject current, integrate it and plot the voltage trace? This is all you need:

```
x = xolotl;
x.add('compartment', 'HH','A', 0.01);
x.HH.add('liu/NaV', 'gbar', 1000);
x.HH.add('liu/Kd', 'gbar', 300);
x.HH.add('Leak', 'gbar', 1);
x.I_ext = .2;
x.plot;
```

# xolotl has *documentation*¶

Unlike certain widely used NEURON simulators that shall remain nameless, xolotl has documentation that actually... exists.

This is what it looks like:

# xolotl lets you do **this**¶

xolotl lets you manipulate *any* parameter in *any* model and
view the effects of changing that parameter **in real time**

# xolotl is fully *programmable*¶

xolotl is designed to be used from **within MATLAB**. It
gives you the best of both worlds: the high performance
of C++ compiled code with the rich power of all the toolboxes
MATLAB has to offer. You can:

- write functions that pass models as arguments
- optimize parameters of neuron models using the Global Optimization Toolbox
- run simulations in parallel across multiple computers
- have a single script to run the simulation and analyze results

Hooked? Check out the quickstart to see how easy it is to use.