## Seldon

Here, you can download updated versions of Seldon:

Seldon 2016
Seldon 2017
Additional resources with Seldon:
HTML Documentation
Matrices used for unit tests (folder
test/matrix)

## Montjoie

A reduced release of Montjoie can be downloaded here (with only
Linear Algebra)

Montjoie Algebra 2017
## Time schemes

Here, you can download a basic implementation in Python of
implicit schemes that can be used to solve linear Ordinary
Differential Equations (ODEs)

quadrature.py
linear_scheme.py
A linear ode (with dense matrices) is considered in a basic
example (class ExampleOde) :

where M and K are dense matrices, with the arbitrary choice

F is a given vector (constant). Padé schemes can be used to solve this linear ode by typing
in Python (once linear_scheme.py and quadrature.py have been
downloaded) :

from numpy import *
from linear_scheme import *
# matrices and source vector
M = rand(5, 5);
K = 0.1*rand(5, 5);
F = rand(5)
# initial condition
Y0 = rand(5)
# ode to solve
ex_ode = ExampleOde(M, K, F)
# if you want to use a Pade scheme, you give the order you want
# type help(PadeScheme) for a detailed help
# here fourth-order Pade scheme will be construct
ex_scheme = PadeScheme(4)
# SolveOde returns the final solution at time t=2
# of the linear ode M dy/dt = K y(t) + F(t)
# M, K and F are detailed in ex_ode
# 20 is the number of iterations
# syntax : SolveOde(t0, tf, N, Y0, scheme, ode)
# type help(SolveOde) for a detailed help
Yf = SolveOde(0.0, 2.0, 20, Y0, ex_scheme, ex_ode);
# you can also use LinearSdirk
# type help(LinearSdirkScheme) for a detailed help
# the first argument is the order, the second argument the number of extra-stages
ex_scheme = LinearSdirkScheme(4, 1)
# and solve the ode with LinearSdirk
Yf = SolveOde(0.0, 2.0, 20, Y0, ex_scheme, ex_ode);
# a last class has been implemented: LinearRkScheme
# these schemes are explicit Runge-Kutta with optimized coefficients
# to improve the CFL for wave equation discretized with HDG (Hybridizable Discontinuous Galerkin)
# the first argument is the order, the second argument the number of extra-stages
ex_scheme = LinearRkScheme(4, 1)
# and solve the ode with an explicit scheme
Yf = SolveOde(0.0, 2.0, 20, Y0, ex_scheme, ex_ode);