Irish Logarithm
Irish logarithms were a system of number manipulation invented by Percy Ludgate for machine multiplication. The system used a combination of mechanical cams as look-up tables and mechanical addition to sum pseudo-logarithmic indices to produce partial products, which were then added to produce results. The technique is similar to Zech logarithms (also known as Jacobi logarithms), but uses a system of indices original to Ludgate. Ludgate's algorithm compresses the multiplication of two single decimal numbers into two table lookups (to convert the digits into indices), the addition of the two indices to create a new index which is input to a second lookup table that generates the output product. Because both lookup tables are one-dimensional, and the addition of linear movements is simple to implement mechanically, this allows a less complex mechanism than would be needed to implement a two-dimensional 10x10 multiplication lookup table. Pseudocode The following is an implementat ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Percy Ludgate
Percy Edwin Ludgate (2 August 1883 – 16 October 1922) was an Irish amateur scientist who designed the second analytical engine (general-purpose Turing-complete computer) in history. Life Ludgate was born on 2 August 1883 in Skibbereen, County Cork, to Michael Ludgate and Mary McMahon. In the 1901 census, he is listed as Civil Servant National Education (Boy Copyist) in Dublin. In the 1911 census, he is also in Dublin, as a Commercial Clerk (Corn Merchant). He studied accountancy at Rathmines College of Commerce, earning a gold medal based on the results his final examinations in 1917. At some date before or after then, he joined Kevans & Son, accountants. Work on analytical engine It seems that Ludgate worked as a clerk for an unknown corn merchants, in Dublin, and pursued his interest in calculating machines at night. Charles Babbage in 1843 and Ludgate in 1909 designed the only two mechanical analytical engines before the electromechanical analytical engine of Leona ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Zech Logarithm
Zech logarithms are used to implement addition in finite fields when elements are represented as powers of a generator \alpha. Zech logarithms are named after Julius Zech, and are also called Jacobi logarithms, after Carl G. J. Jacobi who used them for number theoretic investigations. Definition Given a primitive element \alpha of a finite field, the Zech logarithm relative to the base \alpha is defined by the equation :\alpha^ = 1 + \alpha^n, which is often rewritten as :Z_\alpha(n) = \log_\alpha(1 + \alpha^n). The choice of base \alpha is usually dropped from the notation when it is clear from the context. To be more precise, Z_\alpha is a function on the integers modulo the multiplicative order of \alpha, and takes values in the same set. In order to describe every element, it is convenient to formally add a new symbol -\infty, along with the definitions :\alpha^ = 0 :n + (-\infty) = -\infty :Z_\alpha(-\infty) = 0 :Z_\alpha(e) = -\infty where e is an integer satisfying \al ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Table Lookup
In computer science, a lookup table (LUT) is an array that replaces runtime computation with a simpler array indexing operation. The process is termed as "direct addressing" and LUTs differ from hash tables in a way that, to retrieve a value v with key k, a hash table would store the value v in the slot h(k) where h is a hash function i.e. k is used to compute the slot, while in the case of LUT, the value v is stored in slot k, thus directly addressable. The savings in processing time can be significant, because retrieving a value from memory is often faster than carrying out an "expensive" computation or input/output operation. The tables may be precalculated and stored in static program storage, calculated (or "pre-fetched") as part of a program's initialization phase (memoization), or even stored in hardware in application-specific platforms. Lookup tables are also used extensively to validate input values by matching against a list of valid (or invalid) items in an array and, ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Python (programming Language)
Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically-typed and garbage-collected. It supports multiple programming paradigms, including structured (particularly procedural), object-oriented and functional programming. It is often described as a "batteries included" language due to its comprehensive standard library. Guido van Rossum began working on Python in the late 1980s as a successor to the ABC programming language and first released it in 1991 as Python 0.9.0. Python 2.0 was released in 2000 and introduced new features such as list comprehensions, cycle-detecting garbage collection, reference counting, and Unicode support. Python 3.0, released in 2008, was a major revision that is not completely backward-compatible with earlier versions. Python 2 was discontinued with version 2.7.18 in 2020. Python consistently ranks as ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Faber-Castell Model 366
The A. W. Faber Model 366 was an unusual model of slide rule, manufactured in Germany by the A. W. Faber Company around 1909, with scales that followed a system invented by Johannes Schumacher (1858-1930) that used discrete logarithms to calculate products of integers without approximation. The Model 366 is notable for its table of numbers, mapping the numbers 1 to 100 to a permutation of the numbers 0 to 99 in a pattern based on discrete logarithms. The markings on the table are: : The slide rule has two scales on each side of the upper edge of the slider marked with the integers 1 to 100 in a different permuted order, evenly spaced apart. The ordering of the numbers on these scales is : which corresponds to the inverse permutation to the one given by the number table. There are also two scales on each side of the lower edge of the slider, consisting of the integers 0 to 100 similarly spaced, but in ascending order, with the zero on the lower scales lining up with the 1 o ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Mechanical Calculators
Mechanical may refer to: Machine * Machine (mechanical), a system of mechanisms that shape the actuator input to achieve a specific application of output forces and movement * Mechanical calculator, a device used to perform the basic operations of arithmetic * Mechanical energy, the sum of potential energy and kinetic energy * Mechanical system, a system that manages the power of forces and movements to accomplish a task * Mechanism (engineering), a portion of a mechanical device Other * Mechanical (character), one of several characters in Shakespeare's ''A Midsummer Night's Dream'' * A kind of typeface in the VOX-ATypI classification See also * Machine, especially in opposition to an electronic item * ''Mechanical Animals'', the third full-length studio release by Marilyn Manson * Manufactured or artificial, especially in opposition to a biological or natural component * Automation, using machine decisions and processing instead of human * Mechanization, using machine labor inst ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Multiplication
Multiplication (often denoted by the cross symbol , by the mid-line dot operator , by juxtaposition, or, on computers, by an asterisk ) is one of the four elementary mathematical operations of arithmetic, with the other ones being addition, subtraction, and division. The result of a multiplication operation is called a ''product''. The multiplication of whole numbers may be thought of as repeated addition; that is, the multiplication of two numbers is equivalent to adding as many copies of one of them, the ''multiplicand'', as the quantity of the other one, the ''multiplier''. Both numbers can be referred to as ''factors''. :a\times b = \underbrace_ For example, 4 multiplied by 3, often written as 3 \times 4 and spoken as "3 times 4", can be calculated by adding 3 copies of 4 together: :3 \times 4 = 4 + 4 + 4 = 12 Here, 3 (the ''multiplier'') and 4 (the ''multiplicand'') are the ''factors'', and 12 is the ''product''. One of the main properties of multiplication is ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Algorithms
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing calculations and data processing. More advanced algorithms can perform automated deductions (referred to as automated reasoning) and use mathematical and logical tests to divert the code execution through various routes (referred to as automated decision-making). Using human characteristics as descriptors of machines in metaphorical ways was already practiced by Alan Turing with terms such as "memory", "search" and "stimulus". In contrast, a heuristic is an approach to problem solving that may not be fully specified or may not guarantee correct or optimal results, especially in problem domains where there is no well-defined correct or optimal result. As an effective method, an algorithm can be expressed within a finite amount of space and ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |