Application of dynamic programming approach to computation of atomic functions - Makarichev, Victor; Kharchenko, Vyacheslav (Radìoelektronnì ì komp'ûternì sistemi (Online), 2021)
The special class of atomic functions is considered. The atomic function is a solution with compact support of linear differential functional equation with constant coefficients and linear transformations of the argument. The functions considered are used in discrete atomic compression (DAC) of digital images. The algorithm DAC is lossy and provides better compression than JPEG, which is de facto a standard for compression of digital photos, with the same quality of the result. Application of high precision values of atomic functions can improve the efficiency of DAC, as well as provide the development of new technologies for data processing and analysis. This paper aims to develop a low complexity algorithm for computing precise values of the atomic functions considered. Precise values of atomic functions at the point of dense grids are the subject matter of this paper. Formulas of V. O. Rvachev and their generalizations are used. Direct application of them to the computation of atomic functions on dense grids leads to multiple calculations of a great number of similar expressions that should be reduced. In this research, the reduction required is provided. The goal is to develop an algorithm based on V. O. Rvachev’s formulas and their generalizations. The following tasks are solved: to convert these formulas to reduce the number of arithmetic operations and to develop a verification procedure that can be used to check results. In the current research, methods of atomic function theory and dynamic programming algorithms development principles are applied. A numerical scheme for computation of atomic functions at the points of the grid with the step, which is less than each predetermined positive real number, is obtained and a dynamic algorithm based on it is developed. Also, a verification procedure, which is based on the properties of atomic functions, is introduced. The following results are obtained: 1) the algorithm developed provides faster computation than direct application of the corresponding formulas; 2) the algorithm proposed provides precise computation of atomic functions values; 3) procedure of verification has linear complexity in the number of values to be checked. Moreover, the algorithms proposed are implemented using Python programming language and a set of tables of atomic functions values are obtained. Conclusions: results of this research are expected to improve existing data processing technologies based on atomic functions, especially the algorithm DAC, and accelerate the development of new ones.