Записки научных семинаров Тульской школы теории чисел. Вып. 1. 2022 г.
12 Ю. А. Басалов The features of the software implementation of quadrature formulas on parallelepipedal grids in the 2-dimensional case and the results of numerical experiments on the calculation of some integrals are presented. Keywords: number-theoretic method in approximate analysis, parallelepipedal grids. Bibliography: 5 titles. For citation: Yu. A. Basalov, 2022, "Software implementation of quadrature formulas on parallelepipedal grids in 2-dimensional case" , Notes of scientific seminars of the Tula School of Number Theory , iss. 1, pp. 11–17. Тульская школа теории чисел Для вычисления интегралов в можно использовать квадратурные формулы по параллеле- пипедальным сеткам Коробова, впервые предложенные в работе [4]. 1 ∫︁ 0 1 ∫︁ 0 ( , ) = 1 − 1 ∑︁ =0 (︂{︂ · }︂ , )︂ + 1 ( ) . (1) В рамках развития библиотеки алгоритмов, опубликованной на ПОИВС ТМК, было ре- ализовано несколько алгоритмов численного интегрирования на языке С#. Язык програм- мирования высокого уровня C# сочетает в себе высокую производительность, поддержку арифметики высокой точности и кроссплатформенность. Библиотека алгоритмов, а также все результаты численных экспериментов опубликованны в ПОИВС ТМК [5]. Базовой структурой сетки является интерфейс IGrid , предоставляющий доступ к пере- числению всех точек, необходимых для проведения процесса интегрирования. Создание этого интерфейса позволяет использовать различные сетки в рамках одного алгоритма интегриро- вания и наоборот - различные алгоритмы интегрирования с одной сеткой. public interface IGrid { int Dimension { get; } long PointsCount { get; } IEnumerable<decimal[]> Points { get; } } Algorithm 1: Интерфейс IGrid Простейшую периодизацию функции по одной переменно производим с помощью способа, указанного в работе [3]. Для этого введем вспомогательную функцию: 2 ( , ) = {︂ 1 ( , ) , 0 ⩽ ⩽ 1 1 ( , 2 − ) , 1 < ⩽ 2 , 2 1 ∫︁ 0 1 ∫︁ 0 1 ( , ) = 1 ∫︁ 0 2 ∫︁ 0 2 ( , ) . Рассмотрим квадратурную формулу по растянутой параллелепипедальной сетке: 1 ∫︁ 0 2 ∫︁ 0 ( , ) = 2 − 1 ∑︁ =0 (︂{︂ · }︂ , 2 )︂ + 2 ( ) . (2)
Made with FlippingBook
RkJQdWJsaXNoZXIy ODQ5NTQ=