Math Foundations

This package is a collection of functions and notebooks I built as I worked through the book Foundations of Mathematics: A Preparatory Course.

In essence, this book is a primer on basic mathematical concepts serving as a bridge into college mathematics. It starts with the very basics of arithmetical computation, moving onto basic mathematical functions, geometry and trigonometry. From there it covers more advanced topics such as basic linear algebra, calculus, probability and statistics, and concluding with complex numbers.

The English edition is a mostly AI translation of the fourth edition of the original German text. There are a lot of dad jokes and bad puns in the text, but it is definitely clearly written and explains the concepts well. The very approachable style makes it quite suitable for self-study. I used it as a review in preparation of my study for more advanced mathematical topics.

The code in this package is not meant to be a complete implementation of the book, but rather stuff that I created in order to gain practice and a deeper understanding of the concepts in the book.

Besides the package documentation, you will also find in the left navigation tab links to documents that explain topics covered in the book. These often provide more details than covered in the book. Originally I planned to add documentation for all the advanced topics listed above. Subsequently, I decided it makes more sense to only include the coverage of Algebra, Geometry and Trigonometry in this repository. Since I plan to create separate repositories on Linear Algebra, Calculus, Probability and Statistics, and Complex Numbers (Analysis) where I go in depth into those topics, I will add a Basics folder to each of these to cover the material in this book. Follow the links in the FourM Study Guides section of the left navigation tab to find these (so far there is only one for Linear Algebra).

Basic Mathematical Functions

The code for the basic mathematical functions is in the basic_maths.jl file.

Math_Foundations.accruedMethod
function accrued(i::Real,p::Real,c::Int64) -> Float64

i is interest, p is period (1 = one year), c is capital return accrued value

source
Math_Foundations.accrued_aprMethod
function accrued_apr(i::Real,p::Real,c::Int64) -> Float64

i is interest, p is period (1 = one year), c is capital return accrued value using daily apr for interest

source
Math_Foundations.calculate_parabola_roots_amrvwFunction
calculate_parabola_roots_amrvw(a₂::Float64, a₁::Float64=0.0, a₀::Float64=0.0) -> Vector{ComplexF64}

Pure computational function to find parabola roots using AMRVW.jl Returns the roots without any plotting

source
Math_Foundations.calculate_parabola_roots_polynomialFunction
calculate_parabola_roots_polynomial(a₂::Float64, a₁::Float64=0.0, a₀::Float64=0.0) -> Vector{ComplexF64}

Pure computational function to find parabola roots using Polynomials.jl Returns the roots without any plotting

source
Math_Foundations.calculate_parabola_roots_quadraticFunction
calculate_parabola_roots_quadratic(a₂::Float64, a₁::Float64=0.0, a₀::Float64=0.0) -> Vector{ComplexF64}

Pure computational function to find parabola roots using the quadratic formula Returns the roots without any plotting

source
Math_Foundations.plot_hyperbolaFunction
p
plot_hyperbola(a::Float64=1.0, h::Float64=0.0, k::Float64=0.0)

Plot hyperbola with equation y = a/(x-h) + b, where a,h and k are scaling parameters

source
Math_Foundations.plot_parabolaMethod
plot_parabola(p::Polynomial, r3::Union{Vector{Float64},Vector{ComplexF64}}, a₂::Float64, a₁::Float64, a₀::Float64, str::String)

Plot the parabola using the given polynomial and its roots

source
Math_Foundations.plot_parabola_roots_amrvwFunction
plot_parabola_roots_amrvw(a₂::Float64, a₁::Float64=0.0, a₀::Float64=0.0) -> Vector{Float64}

AMRVW version of plotting parabola with roots Combines computation and visualization - computation always succeeds, plotting may fail gracefully Returns only real roots for backward compatibility with original function

source
Math_Foundations.plot_parabola_roots_polynomialFunction
plot_parabola_roots_polynomial(a₂::Float64, a₁::Float64=0.0, a₀::Float64=0.0) -> Vector{Float64}

Polynomial version of plotting parabola with roots Combines computation and visualization - computation always succeeds, plotting may fail gracefully Returns only real roots for backward compatibility with original function

source
Math_Foundations.plot_parabola_roots_quadraticFunction
plot_parabola_roots_quadratic(a₂::Float64, a₁::Float64=0.0, a₀::Float64=0.0) -> Vector{Float64}

Quadratic formula version of plotting parabola with roots Combines computation and visualization - computation always succeeds, plotting may fail gracefully Returns only real roots for backward compatibility with original function

source