Combined Linear Congruential Generators with R

Combined linear congruential generators, as the name implies, are a type of PRNG (pseudorandom number generator) that combine two or more LCGs (linear congruential generators). The combination of two or more LCGs into one random number generator can result in a marked increase in the period length of the generator...

Multiplicative Congruential Generators in R

Multiplicative congruential generators, also known as Lehmer random number generators, is a type of linear congruential generator for generating pseudorandom numbers in [latex]U(0, 1)[/latex]. The multiplicative congruential generator, often abbreviated as MLCG or MCG, is defined as a recurrence relation similar to the LCG with [latex]c = 0[/latex]. [latex display="true"]\large{X_{i+1} =...

Linear Congruential Generator in R

A Linear congruential generator (LCG) is a class of pseudorandom number generator (PRNG) algorithms used for generating sequences of random-like numbers. The generation of random numbers plays a large role in many applications ranging from cryptography to Monte Carlo methods. Linear congruential generators are one of the oldest and most...

Simpson’s Rule for Approximating Definite Integrals in R

Simpson’s rule is another closed Newton-Cotes formula for approximating integrals over an interval with equally spaced nodes. Unlike the trapezoidal rule, which employs straight lines to approximate a definite integral, Simpson’s rule uses the third Lagrange polynomial, [latex]P_3(x)[/latex] to approximate the definite integral and as such can give exact results...

The Trapezoidal Rule of Numerical Integration in R

The Trapezoidal Rule is another of Closed Newton-Cotes formulas for approximating the definite integral of a function. The trapezoidal rule is so named due to the area approximated under the integral [latex]\int^a_b f(x) \space dx[/latex] representing a trapezoid. Although there exist much more accurate quadrature methods, the trapezoidal rule converges...

Numerical Differentiation with Finite Differences in R

Numerical differentiation is a method of approximating the derivative of a function [latex]f[/latex] at particular value [latex]x[/latex]. Often, particularly in physics and engineering, a function may be too complicated to merit the work necessary to find the exact derivative, or the function itself is unknown, and all that is available...

Divided Differences Method of Polynomial Interpolation

The divided differences method is a numerical procedure for interpolating a polynomial given a set of points. Unlike Neville’s method, which is used to approximate the value of an interpolating polynomial at a given point, the divided differences method constructs the interpolating polynomial in Newton form. Consider a table of values...

Neville’s Method of Polynomial Interpolation

Neville’s method evaluates a polynomial that passes through a given set of [latex]x[/latex] and [latex]y[/latex] points for a particular [latex]x[/latex] value using the Newton polynomial form. Neville’s method is similar to a now-defunct procedure named Aitken’s algorithm and is based on the divided differences recursion relation (“Neville’s Algorithm”, n.d). It was...

Lagrangian Polynomial Interpolation with R

Polynomial interpolation is the method of determining a polynomial that fits a set of given points. There are several approaches to polynomial interpolation, of which one of the most well known is the Lagrangian method. This post will introduce the Lagrangian method of interpolating polynomials and how to perform the...

Set Theory Ordered Pairs and Cartesian Product with R

Ordered and Unordered Pairs A pair set is a set with two members, for example, [latex]\{2, 3\}[/latex], which can also be thought of as an unordered pair, in that [latex]\{2, 3\} = \{3, 2\}[/latex]. However, we seek a more a strict and rich object that tells us more about two sets...