Computer for operations with functions

Last updated

Within computer engineering and computer science, a computer for operations with (mathematical) functions (unlike the usual computer) operates with functions at the hardware level (i.e. without programming these operations). [1] [2] [3]

Contents

History

A computing machine for operations with functions was presented and developed by Mikhail Kartsev in 1967. [1] Among the operations of this computing machine were the functions addition, subtraction and multiplication, functions comparison, the same operations between a function and a number, finding the function maximum, computing indefinite integral, computing definite integral of derivative of two functions, derivative of two functions, shift of a function along the X-axis etc. By its architecture this computing machine was (using the modern terminology) a vector processor or array processor, a central processing unit (CPU) that implements an instruction set containing instructions that operate on one-dimensional arrays of data called vectors. In it there has been used the fact that many of these operations may be interpreted as the known operation on vectors: addition and subtraction of functions - as addition and subtraction of vectors, computing a definite integral of two functions derivative— as computing the vector product of two vectors, function shift along the X-axis – as vector rotation about axes, etc. [1] In 1966 Khmelnik had proposed a functions coding method, [2] i.e. the functions representation by a "uniform" (for a function as a whole) positional code. And so the mentioned operations with functions are performed as unique computer operations with such codes on a "single" arithmetic unit. [3]

Positional codes of one-variable functions [2] [3]

The main idea

The positional code of an integer number is a numeral notation of digits in a certain positional number system of the form

.

Such code may be called "linear". Unlike it a positional code of one-variable function has the form:

and so it is flat and "triangular", as the digits in it comprise a triangle.

The value of the positional number above is that of the sum

,

where is the radix of the said number system. The positional code of a one-variable function correspond to a 'double' code of the form

,

where is an integer positive number, quantity of values that taken , and is a certain function of argument .

Addition of positional codes of numbers is associated with the carry transfer to a higher digit according to the scheme

.

Addition of positional codes of one-variable functions is also associated with the carry transfer to higher digits according to the scheme:

.

Here the same transfer is carried simultaneously to two higher digits.

R-nary triangular code

A triangular code is called R-nary (and is denoted as ), if the numbers take their values from the set

, where and .

For example, a triangular code is a ternary code , if , and quaternary , if .
For R-nary triangular codes the following equalities are valid:

,

where is an arbitrary number. There exists of an arbitrary integer real number. In particular, . Also there exists of any function of the form . For instance, .

Single-digit addition

in R-nary triangular codes consists in the following:

  • in the given -digit there is determined the sum of the digits that are being added and two carries , transferred into this digit from the left, i.e.
,
  • this sum is presented in the form , where ,
  • is written in the -digit of summary code, and the carry from the given digit is carried into -digit and —digit.

This procedure is described (as also for one-digit addition of the numbers) by a table of one-digit addition, where all the values of the terms and must be present and all the values of carries appearing at decomposition of the sum . Such a table may be synthesized for
Below we have written the table of one-digit addition for :

SmkTK(Smk)
..0..
00000
..0..
11010
..0..
(-1)(-1)0(-1)0
..1..
2(-1)1(-1)1
..1..
30101
..1..
41111
..(-1)..
(-2)1(-1)1(-1)
..(-1)..
(-3)0(-1)0(-1)
..(-1)..
(-4)(-1)(-1)(-1)(-1)

One-digit subtraction

in R-nary triangular codes differs from the one-digit addition only by the fact that in the given -digit the value is determined by the formula

.

One-digit division by the parameter R

in R-nary triangular codes is based on using the correlation:

,

from this it follows that the division of each digit causes carries into two lowest digits. Hence, the digits result in this operation is a sum of the quotient from the division of this digit by R and two carries from two highest digits. Thus, when divided by parameter R

  • in the given -digit the following sum is determined
,
  • this sum is presented as , where ,
  • is written into —digit of the resulting code, and carry from the given digit is transferred into the -digit and -digit.

This procedure is described by the table of one-digit division by parameter R, where all the values of terms and all values of carries, appearing at the decomposition of the sum , must be present. Such table may be synthesized for
Below the table will be given for the one-digit division by the parameter R for :

SmkTK(Smk)
..0..
00000
..1..
10010
..(-1)..
(-1)00(-1)0
..0..
1/31(-1/3)01
..1..
2/3(-1)1/31(-1)
..1..
4/31(-1/3)11
..2..
5/3(-1)1/32(-1)
..0..
(-1/3)(-1)1/30(-1)
..(-1)..
(-2/3)1(-1/3)(-1)1
..(-1)..
(-4/3)(-1)1/3(-1)(-1)
..(-2)..
(-5/3)1(-1/3)(-2)1

Addition and subtraction

of R-nary triangular codes consists (as in positional codes of numbers) in subsequently performed one-digit operations. Mind that the one-digit operations in all digits of each column are performed simultaneously.

Multiplication

of R-nary triangular codes. Multiplication of a code by -digit of another code consists in -shift of the code , i.e. its shift k columns left and m rows up. Multiplication of codes and consists in subsequent -shifts of the code and addition of the shifted code with the part-product (as in the positional codes of numbers).

Derivation

of R-nary triangular codes. The derivative of function , defined above, is

.

So the derivation of triangular codes of a function consists in determining the triangular code of the partial derivative and its multiplication by the known triangular code of the derivative . The determination of the triangular code of the partial derivative is based on the correlation

.

The derivation method consists of organizing carries from mk-digit into (m+1,k)-digit and into (m-1,k)-digit, and their summing in the given digit is performed in the same way as in one-digit addition.

Coding and decoding

of R-nary triangular codes. A function represented by series of the form

,

with integer coefficients , may be represented by R-nary triangular codes, for these coefficients and functions have R-nary triangular codes (which was mentioned in the beginning of the section). On the other hand, R-nary triangular code may be represented by the said series, as any term in the positional expansion of the function (corresponding to this code) may be represented by a similar series.

Truncation

of R-nary triangular codes. This is the name of an operation of reducing the number of "non"-zero columns. The necessity of truncation appears at the emergence of carries beyond the digit net. The truncation consists in division by parameter R. All coefficients of the series represented by the code are reduced R times, and the fractional parts of these coefficients are discarded. The first term of the series is also discarded. Such reduction is acceptable if it is known that the series of functions converge. Truncation consists in subsequently performed one-digit operations of division by parameter R. The one-digit operations in all the digits of a row are performed simultaneously, and the carries from lower row are discarded.

Scale factor

R-nary triangular code is accompanied by a scale factor M, similar to exponent for floating-point number. Factor M permits to display all coefficients of the coded series as integer numbers. Factor M is multiplied by R at the code truncation. For addition factors M are aligned, to do so one of added codes must be truncated. For multiplication the factors M are also multiplied.

Positional code for functions of many variables [4]

Positional code for function of two variables is depicted on Figure 1. It corresponds to a "triple" sum of the form:: ,
where is an integer positive number, number of values of the figure , and — certain functions of arguments correspondingly. On Figure 1 the nodes correspond to digits , and in the circles the values of indexes of the corresponding digit are shown. The positional code of the function of two variables is called "pyramidal". Positional code is called R-nary (and is denoted as ), if the numbers assume the values from the set . At the addition of the codes the carry extends to four digits and hence .

A positional code for the function from several variables corresponds to a sum of the form

,

where is an integer positive number, number of values of the digit , and certain functions of arguments . A positional code of a function of several variables is called "hyperpyramidal". Of Figure 2 is depicted for example a positional hyperpyramidal code of a function of three variables. On it the nodes correspond to the digits , and the circles contain the values of indexes of the corresponding digit. A positional hyperpyramidal code is called R-nary (and is denoted as ), if the numbers assume the values from the set . At the codes addition the carry extends on a-dimensional cube, containing digits, and hence .

See also

Related Research Articles

In coding theory, the BCH codes or Bose–Chaudhuri–Hocquenghem codes form a class of cyclic error-correcting codes that are constructed using polynomials over a finite field. BCH codes were invented in 1959 by French mathematician Alexis Hocquenghem, and independently in 1960 by Raj Bose and D. K. Ray-Chaudhuri. The name Bose–Chaudhuri–Hocquenghem arises from the initials of the inventors' surnames.

Taylors theorem Approximation of a function by a truncated power series

In calculus, Taylor's theorem gives an approximation of a k-times differentiable function around a given point by a polynomial of degree k, called the kth-order Taylor polynomial. For a smooth function, the Taylor polynomial is the truncation at the order k of the Taylor series of the function. The first-order Taylor polynomial is the linear approximation of the function, and the second-order Taylor polynomial is often referred to as the quadratic approximation. There are several versions of Taylor's theorem, some giving explicit estimates of the approximation error of the function by its Taylor polynomial.

Distributions, also known as Schwartz distributions or generalized functions, are objects that generalize the classical notion of functions in mathematical analysis. Distributions make it possible to differentiate functions whose derivatives do not exist in the classical sense. In particular, any locally integrable function has a distributional derivative.

Matrix multiplication Mathematical operation in linear algebra

In mathematics, particularly in linear algebra, matrix multiplication is a binary operation that produces a matrix from two matrices. For matrix multiplication, the number of columns in the first matrix must be equal to the number of rows in the second matrix. The resulting matrix, known as the matrix product, has the number of rows of the first and the number of columns of the second matrix. The product of matrices A and B is denoted as AB.

In mathematics, differential forms provide a unified approach to define integrands over curves, surfaces, solids, and higher-dimensional manifolds. The modern notion of differential forms was pioneered by Élie Cartan. It has many applications, especially in geometry, topology and physics.

Differential operator Typically linear operator defined in terms of differentiation of functions

In mathematics, a differential operator is an operator defined as a function of the differentiation operator. It is helpful, as a matter of notation first, to consider differentiation as an abstract operation that accepts a function and returns another function.

Multi-index notation is a mathematical notation that simplifies formulas used in multivariable calculus, partial differential equations and the theory of distributions, by generalising the concept of an integer index to an ordered tuple of indices.

In physics, the S-matrix or scattering matrix relates the initial state and the final state of a physical system undergoing a scattering process. It is used in quantum mechanics, scattering theory and quantum field theory (QFT).

In mathematics and quantum mechanics, a Dirac operator is a differential operator that is a formal square root, or half-iterate, of a second-order operator such as a Laplacian. The original case which concerned Paul Dirac was to factorise formally an operator for Minkowski space, to get a form of quantum theory compatible with special relativity; to get the relevant Laplacian as a product of first-order operators he introduced spinors.

The rigid rotor is a mechanical model of rotating systems. An arbitrary rigid rotor is a 3-dimensional rigid object, such as a top. To orient such an object in space requires three angles, known as Euler angles. A special rigid rotor is the linear rotor requiring only two angles to describe, for example of a diatomic molecule. More general molecules are 3-dimensional, such as water, ammonia, or methane.

One of the guiding principles in modern chemical dynamics and spectroscopy is that the motion of the nuclei in a molecule is slow compared to that of its electrons. This is justified by the large disparity between the mass of an electron and the typical mass of a nucleus and leads to the Born-Oppenheimer approximation and the idea that the structure and dynamics of a chemical species are largely determined by nuclear motion on potential energy surfaces. The potential energy surfaces are obtained within the adiabatic or Born–Oppenheimer approximation. This corresponds to a representation of the molecular wave function where the variables corresponding to the molecular geometry and the electronic degrees of freedom are separated. The non separable terms are due to the nuclear kinetic energy terms in the molecular Hamiltonian and are said to couple the potential energy surfaces. In the neighbourhood of an avoided crossing or conical intersection, these terms cannot be neglected. One therefore usually performs one unitary transformation from the adiabatic representation to the so-called diabatic representation in which the nuclear kinetic energy operator is diagonal. In this representation, the coupling is due to the electronic energy and is a scalar quantity that is significantly easier to estimate numerically.

Photon polarization is the quantum mechanical description of the classical polarized sinusoidal plane electromagnetic wave. An individual photon can be described as having right or left circular polarization, or a superposition of the two. Equivalently, a photon can be described as having horizontal or vertical linear polarization, or a superposition of the two.

A hydrogen-like atom (or hydrogenic atom) is any atom or ion with a single valence electron. These atoms are isoelectronic with hydrogen. Examples of hydrogen-like atoms include, but are not limited to, hydrogen itself, all alkali metals such as Rb and Cs, singly ionized alkaline earth metals such as Ca+ and Sr+ and other ions such as Li2+ and Be3+. A hydrogen-like atom includes a positively charged core consisting of the atomic nucleus and any core electrons as well as a single valence electron.

In mathematics, the Plancherel theorem for spherical functions is an important result in the representation theory of semisimple Lie groups, due in its final form to Harish-Chandra. It is a natural generalisation in non-commutative harmonic analysis of the Plancherel formula and Fourier inversion formula in the representation theory of the group of real numbers in classical harmonic analysis and has a similarly close interconnection with the theory of differential equations. It is the special case for zonal spherical functions of the general Plancherel theorem for semisimple Lie groups, also proved by Harish-Chandra. The Plancherel theorem gives the eigenfunction expansion of radial functions for the Laplacian operator on the associated symmetric space X; it also gives the direct integral decomposition into irreducible representations of the regular representation on L2(X). In the case of hyperbolic space, these expansions were known from prior results of Mehler, Weyl and Fock.

The purpose of this page is to provide supplementary materials for the ordinary least squares article, reducing the load of the main article with mathematics and improving its accessibility, while at the same time retaining the completeness of exposition.

In statistics, the backfitting algorithm is a simple iterative procedure used to fit a generalized additive model. It was introduced in 1985 by Leo Breiman and Jerome Friedman along with generalized additive models. In most cases, the backfitting algorithm is equivalent to the Gauss–Seidel method algorithm for solving a certain linear system of equations.

The Mehler kernel is a complex-valued function found to be the propagator of the quantum harmonic oscillator.

In mathematics, the oscillator representation is a projective unitary representation of the symplectic group, first investigated by Irving Segal, David Shale, and André Weil. A natural extension of the representation leads to a semigroup of contraction operators, introduced as the oscillator semigroup by Roger Howe in 1988. The semigroup had previously been studied by other mathematicians and physicists, most notably Felix Berezin in the 1960s. The simplest example in one dimension is given by SU(1,1). It acts as Möbius transformations on the extended complex plane, leaving the unit circle invariant. In that case the oscillator representation is a unitary representation of a double cover of SU(1,1) and the oscillator semigroup corresponds to a representation by contraction operators of the semigroup in SL(2,C) corresponding to Möbius transformations that take the unit disk into itself.

In coding theory, list decoding is an alternative to unique decoding of error-correcting codes in the presence of many errors. If a code has relative distance , then it is possible in principle to recover an encoded message when up to fraction of the codeword symbols are corrupted. But when error rate is greater than , this will not in general be possible. List decoding overcomes that issue by allowing the decoder to output a short list of messages that might have been encoded. List decoding can correct more than fraction of errors.

In mathematics, particularly in linear algebra and applications, matrix analysis is the study of matrices and their algebraic properties. Some particular topics out of many include; operations defined on matrices, functions of matrices, and the eigenvalues of matrices.

References

  1. 1 2 3 Malinovsky, B.N. (1995). The history of computer technology in their faces (in Russian). Kiew: Firm "KIT". ISBN   5-7707-6131-8. (see also here http://www.sigcis.org/files/SIGCISMC2010_001.pdf and english version here)
  2. 1 2 3 Khmelnik, S.I. (1966). "Coding of functions". 4. Cybernetics, USSR Academy of Sciences.{{cite journal}}: Cite journal requires |journal= (help)(see also here in Russian)
  3. 1 2 3 Khmelnik, S.I. (2004). Computer Arithmetic of Functions. Algorithms and Hardware Design. Israel: "Mathematics in Computers". ISBN   978-0-557-07520-1. (see also here in Russian)
  4. Khmelnik, S.I. (1970). "Several types of positional functions codes". 5. Cybernetics, USSR Academy of Sciences.{{cite journal}}: Cite journal requires |journal= (help) (see also here in Russian)