Posts

Various representations for famous mathematical constants

Image
In this unusual post, much like in the older post, The beauty of Infinity, we're listing the most famous mathematical constants as representations of infinite seriesinfinite products and limits.



The list of constants considered in this post, are:
Apéry's constant: `\zeta(3)`πmathematical constante mathematical constantEuler-Mascheroni constant: `γ`Catalan's constant: `\G` or `\beta(2)`Natural logarithm of 2: `\log(2)` Most of this representations have a very fast convergence. # Representations for Apéry's constant `\zeta(3) = 5/2 \sum_{n=1}^(\infty) ((-1)^(n - 1) (n!)^2)/(n^3 (2 n)!)`

`\zeta(3) = \sum_{n=1}^(\infty) ((30 n - 11) (n!)^4)/(4 n^3 (2 n - 1) ((2 n)!)^2)`

` \zeta(3) = -π^2 / 3 \sum_{n=0}^(\infty) (2^(-2 n) (2 n + 5) ζ(2 n))/((2 n + 1) (2 n + 2) (2 n + 3))`

`\zeta(3) = -(4 π^2)/7 \sum_{n=0}^(\infty) (2^(-2 n) ζ(2 n))/((2 n + 1) (2 n + 2))`

`\zeta(3) = -(4 π^2)/7 [log(27/16) + \sum_{n=0}^(\infty) (2^(-2 n) (ζ(2 n) - 1))/((2 n + 1) (2 n + 2))]`

`\zeta(3) = (…

Thoughts on programming language notations

Image
Some posts ago, we looked at what it's required in creating a new programming language. In this post we're going a little bit more into it, trying to find ways to effectively express meanings in natural ways, similar to what we can express in a natural language.


First, let's begin by considering the sentence: "GeorgelovesMaria".

We have three components: "George"   is the subject doing the action"loves"   is the action itself"Maria"   is the subject on which the action is being done
From a programming language perspective, subjects are equivalent with objects and actions are equivalent with methods.
object1 := George object2 := Maria method  := loves
In an object-oriented programming language, the sentence can be expressed as:

  George.loves(Maria)
In general, we have:
  object1.method(object2)
In a natural language, like Romanian, we can express the same meaning in six different ways: O iubește, George, pe Maria.O iubește, pe Maria, Georg…

Bacovia: a symbolic math library

Image
Named after the great symbolist poet, George Bacovia, I created this new library to symbolically manipulate mathematical expressions in a very simple and elegant way.

Before writing a symbolic math library, this was a somewhat mysterious subject to me, but in this post I would like to try to demystify and illustrate the beauty and satisfaction that comes from writing this simple, but powerful, symbolic math library.

The first thing in creating a new project, is the selection of the right programming language for the project. Just for fun, I decided to implement this library in the Sidef programming language, using recursion and multiple dispatch; two very powerful features that turned out to be just perfect for this task.
# Design The library has a simple class hierarchy, with one base class, and several other classes inheriting from it.
classBacovia{}classPower<Bacovia{}classFraction<Bacovia{}classDifference<Bacovia{}classSum<Bacovia{}classProduct<Bacovia{}classLog<B…