A set of base classes and solver for dynamical systems of differential equations. Written in C#/.NET.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
source
LICENSE
README.md

README.md

Dynamical Systems Net

A set of base classes and solver for simulating a distributed, graphical, dynamical system of differential equations. Includes a sparse, variable-indexed vector class, and one 4th Runga-Kutta solver. An abstract interface for solvers exists to enable other numerical implementations. Variable dependencies are expressed as weighted connections in the graph, making this suitable for dynamical machine learning models as well as simpler ODE models. Written in C# and targeting .NET Framework 4.0 (using System.Numerics).

Base Classes

The base class design is composed principally of DynamicalNode, DynamicalSystem, IIntegrator, NodeLink, and VectorOI.

To define your derivative dy_i/dt you simply subclass and implement virtual method DynamicalNode.F(t, y), and instantiate it with name e.g. "y_i". Dependencies on other variables are explicitly definable via access to the mutable list of incoming node edges.

This convention assumes your system of equations is of the form { dy_i/dt = F(t, y, ext) } | i:[1,n] where dy_i/dt is the rate of change of one variable y_i, y is the state of all variables in the system, n is the number of variables in the system, t is the current time, and ext is some external state.

Example Project

The examples project includes:

  • A sine-wave generator system.
  • A linear-coupled two variable oscillating system.
  • Two (2) gradient-frequency neural network (GFNN) systems.
  • A Hebbian-learning example, forming connection weights atop of a GFNN system.

Original Motivation

This project comes from efforts toward recreating a cognitive model of musical perception and tonality learning, for course CSE 258A at U.C. San Diego. The final report on this effort is available below.

[Exploring a Neurological Model for Cross-Cultural Consonance and Dissonance in Music Perception: CSE 258A Project Final Report] (http://www.scribd.com/doc/148918615/Exploring-a-Neurological-Model-for-Cross-Cultural-Consonance-and-Dissonance-in-Music-Perception-CSE-258A-Project-Final-Report)