Point processes model the occurrence of a countable number of random points
over some support. They can model diverse phenomena, such as chemical
reactions, stock market transactions and social interactions. We show that
JumpProcesses.jl is a fast, general-purpose library for simulating point
processes. JumpProcesses.jl was first developed for simulating jump processes
via stochastic simulation algorithms (SSAs) (including Doob's method,
Gillespie's methods, and Kinetic Monte Carlo methods). Historically, jump
processes have been developed in the context of dynamical systems to describe
dynamics with discrete jumps. In contrast, the development of point processes
has been more focused on describing the occurrence of random events. In this
paper, we bridge the gap between the treatment of point and jump process
simulation. The algorithms previously included in JumpProcesses.jl can be
mapped to three general methods developed in statistics for simulating
evolutionary point processes. Our comparative exercise revealed that the
library initially lacked an efficient algorithm for simulating processes with
variable intensity rates. We, therefore, extended JumpProcesses.jl with a new
simulation algorithm, Coevolve, that enables the rapid simulation of processes
with locally-bounded variable intensity rates. It is now possible to
efficiently simulate any point process on the real line with a non-negative,
left-continuous, history-adapted and locally bounded intensity rate coupled or
not with differential equations. This extension significantly improves the
computational performance of JumpProcesses.jl when simulating such processes,
enabling it to become one of the few readily available, fast, general-purpose
libraries for simulating evolutionary point processes