Knight’s Tour C++ Application by James Pate Williams, Jr.

Using the chronological backtracking C++ code that I developed from the backtracking algorithm applied to the N-Queens constraint satisfaction problem, I developed an algorithm to solve the Knight’s Tour Problem. The general backtracking algorithm is from Foundations of Constraint Satisfaction by E. P. K. Tsang Chapter 2 page 37. I display some executions of the program in this blog.

Chronological Backtracking Closed Tour Solution for a 6×6 Chess Board
Warnsdorff Closed Tour Solution for a 6×6 Chess Board
Warnsdorff Open Tour Solution for an 8×8 Chess Board
Knight Move Count Matrix Used by Warnsdorff Heuristic

Data from another of my Knight’s Tour applications.

Eigenfunctions of a Nonlinear Second Order Ordinary Differential Equation Initial Value Eigenvalue Problem by James Pate Williams, Jr.

Solutions of a nonlinear second order ordinary differential equation initial value eigenvalue problem:

y”(x) = x * x * y(x) + n * n * y(x) * y(x) for all x in [0, 1]
y(0) = 0
y'(0) = 1
n in [0, 1, 2, …]

I graphed the first five eigenfunctions.

Graphs for n = 0 to n = 4

Planetary Precession by James Pate Williams, Jr.

There are three classic theoretical tests of Albert Einstein’s  Theory of General Relativity: the perihelion precession of Mercury, the other Solar System planets, and the planetoid Pluto, the bending of light by massive bodies, and the gravitational red shift. I recently wrote a C# program for displaying the exaggerated Rosette motion of theoretical planets (Schwarzschild’s solution to Einstein’s general relativity field equation that admit the existence of black holes). I also wrote a C++ program to calculate planetary precession values that agree with experimental results.

Precession.cpp (c) James Pate Williams, Jr. August 2022

This program calculates the planetary precessions of the planets in our solar system. Some of the  equations and data are from “General Relativity” by Hans Stephani 1982 page 103 and the following websites. Also, two calculations of the mass of the Sun are exhibited, along with my weight on different planets:

https://nssdc.gsfc.nasa.gov/planetary/factsheet/

https://farside.ph.utexas.edu/teaching/celestial/Celestialhtml/node44.html

https://imagine.gsfc.nasa.gov/features/yba/CygX1_mass/gravity/sun_mass.html

https://socratic.org/questions/how-do-you-calculate-the-mass-of-the-sun-m-sun-using-kepler-s-third-law-t-2-4-pi

https://en.wikipedia.org/wiki/Surface_gravity

https://www.schoolsobservatory.org/discover/quick/weight/https://physicscalc.com/physics/escape-velocity-calculator/#:~:text=Steps%20to%20Find%20Escape%20Velocity%201%20Obtain%20the,the%20double%20the%20result%20is%20the%20escape%20velocity

Planetary Precession C++ Program Output

Rosette Motion 1

Rosette Motion 2
Rosette Motion 3
Rosette Motion 4
Rosette Motion 5

Rosette Motion 6

Rosette Motion 7

Video Blog Entries of Wednesday, March 16, 2021

Gibson EDS-1275 Double Neck Twelve String Over Six String Guitar May 2009 Post Production March 2022
Gibson EDS-1275 Double Neck Twelve String Over Six String Guitar May 2009 Post Production March 2022
First Effect for First Video of this Blog Entry
Second Effect for First Video of this Blog Entry
Third Effect for First Video of this Blog Entry
Fourth Effect for First Video of this Blog Entry
Fifth Effect for First Video of this Blog Entry
Effects Used in the Second Video
Windows ’95 MIDI Sequencer Translated from Java in About 2005
An Early Attempt at Creating Computer Generated Music in May 1988 Using My Brand New Commodore Amiga 2000 and Microsoft’s Amiga Basic The Amiga’s Display Uses Colors but my 2015 Recreation Is in Black and White (Monochrome)

Large Integer Packages by James Pate Williams Jr

Back in the late 1990s I trained myself in number theory and cryptography using the “Handbook of Applied Cryptography” by Alfred J. Menezes and his coeditors and the FreeLIP (Free Large Integer Package) package by Arjen K. Lenstra. FreeLIP is quite an elegant C library, but it is now considered obsolete. I know of MIRACL that was Henri Cohen’s favorite large integer library. I have four books in my personal library that have unsigned or signed multiple precision integer arithmetic code and/or algorithms: “A Numerical Library in C for Scientists and Engineers” by H .T. Lau, “Handbook of Applied Cryptography”, “Prime Numbers and Computer Methods of Factorization Second Edition” by Hans Riesel, and “Semi-numerical Algorithms Second Edition” by Donald Knuth. I also have several number theory and cryptography textbooks.

As an exercise in Python console programming, I translated my C# Visual Studio 2008 large integer code to Python. Back in 2008 Visual Studio C# did not support large integers. I used Riesel’s input and output code which was translated from Pascal code. I also utilized algorithms from the “Handbook of Applied Cryptography”. I included Sieve of Eratosthenes for primes <= 100,000, a trial division factoring algorithm, and programmed the Pollard rho factoring algorithm found in the handbook.