This project was an opportunity to merge my introduction to Scala with my graduate research in Finite Difference methods for Partial Differential Equations. There are two packages implemented so far:
-
com.ztbarry.finitedifferences
- 1D mesh implementations of Simpson's Rule and the Trapezoidal Rule. Contains the following:a.
Difference1D
, a trait that handles integral approximation and also approximates the order of convergence of a numerical method.b.
SimpsonsRule
, extendsDifference1D
by defining the numerical method to be Simpson's Rule.c.
TrapezoidalRule
, extendsDifference1D
by defining the numerical method to be the Trapezoidal Rule. -
com.ztbarry.nicefunctions
-a.
Polynomial
, a class that constructs a polynomial given coefficient values. Satisfies the requirements for evaluating a function's integral with the methods listed above.
I wrote a few blog posts to document my progress: