{"title":"用 C++ 构建并行一维插值器","authors":"F. V. Abilova, M. Abilov, E. V. Selimkhanov","doi":"10.21822/2073-6185-2023-50-4-37-50","DOIUrl":null,"url":null,"abstract":"Objective. The purpose of this article is to research and develop interpolators in the C++ programming language, including linear, quadratic and cubic interpolators, as well as a one-dimensional RBF interpolator. The main tasks are the use of the GSL library, the Lagrange interpolation polynomial, OpenMP, and comparative analysis with the SciPy library. The experiments are aimed at evaluating the effectiveness and applicability of various interpolation methods. Method. The work uses the GSL and Eigen libraries to implement interpolators and optimize computational processes. Linear, quadratic, and cubic interpolators are used to compare performance, and a one-dimensional RBF interpolator is being developed. The Lagrange interpolation method and parallel computing using OpenMP and SIMD are also used to improve efficiency. Result. The results of the research include the successful development and implementation of various interpolation methods in C++. Particular attention is paid to the analysis of the performance and accuracy of each method. Through a comparative analysis with the SciPy library, the authors identify the advantages and disadvantages of various interpolators. The main result is the practical applicability of these methods in the context of specific interpolation problems. Conclusion. The study made it possible to make sure that the implementation of interpolators in the C ++ language has some significant advantages compared to using the SciPy library. In particular, C++ allows for more precise and faster control over calculations, which is especially important in tasks related to numerical interpolation methods. The GSL and Eigen libraries provide powerful tools for optimization and high performance computing, which allows you to achieve high efficiency when implementing interpolation in C ++.","PeriodicalId":202454,"journal":{"name":"Herald of Dagestan State Technical University. Technical Sciences","volume":"20 22","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-01-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Construction of parallel one-dimensional interpolators in C++\",\"authors\":\"F. V. Abilova, M. Abilov, E. V. Selimkhanov\",\"doi\":\"10.21822/2073-6185-2023-50-4-37-50\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Objective. The purpose of this article is to research and develop interpolators in the C++ programming language, including linear, quadratic and cubic interpolators, as well as a one-dimensional RBF interpolator. The main tasks are the use of the GSL library, the Lagrange interpolation polynomial, OpenMP, and comparative analysis with the SciPy library. The experiments are aimed at evaluating the effectiveness and applicability of various interpolation methods. Method. The work uses the GSL and Eigen libraries to implement interpolators and optimize computational processes. Linear, quadratic, and cubic interpolators are used to compare performance, and a one-dimensional RBF interpolator is being developed. The Lagrange interpolation method and parallel computing using OpenMP and SIMD are also used to improve efficiency. Result. The results of the research include the successful development and implementation of various interpolation methods in C++. Particular attention is paid to the analysis of the performance and accuracy of each method. Through a comparative analysis with the SciPy library, the authors identify the advantages and disadvantages of various interpolators. The main result is the practical applicability of these methods in the context of specific interpolation problems. Conclusion. The study made it possible to make sure that the implementation of interpolators in the C ++ language has some significant advantages compared to using the SciPy library. In particular, C++ allows for more precise and faster control over calculations, which is especially important in tasks related to numerical interpolation methods. The GSL and Eigen libraries provide powerful tools for optimization and high performance computing, which allows you to achieve high efficiency when implementing interpolation in C ++.\",\"PeriodicalId\":202454,\"journal\":{\"name\":\"Herald of Dagestan State Technical University. Technical Sciences\",\"volume\":\"20 22\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-01-21\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Herald of Dagestan State Technical University. Technical Sciences\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.21822/2073-6185-2023-50-4-37-50\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Herald of Dagestan State Technical University. Technical Sciences","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.21822/2073-6185-2023-50-4-37-50","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
目的。本文旨在研究和开发 C++ 编程语言中的插值器,包括线性、二次和三次插值器,以及一维 RBF 插值器。主要任务是使用 GSL 库、拉格朗日插值多项式、OpenMP 以及与 SciPy 库的比较分析。实验旨在评估各种插值方法的有效性和适用性。方法这项工作使用 GSL 和 Eigen 库实现插值器并优化计算过程。使用线性、二次和三次插值器比较性能,并正在开发一维 RBF 插值器。为了提高效率,还使用了拉格朗日插值法以及使用 OpenMP 和 SIMD 的并行计算。成果。研究成果包括用 C++ 成功开发和实施了各种插值方法。对每种方法的性能和准确性的分析受到了特别关注。通过与 SciPy 库的比较分析,作者找出了各种插值器的优缺点。主要结果是这些方法在特定插值问题中的实际应用性。结论通过研究,我们可以确定,与使用 SciPy 库相比,用 C++ 语言实现插值器具有一些显著优势。特别是,C++ 可以更精确、更快速地控制计算,这在与数值插值方法相关的任务中尤为重要。GSL 和 Eigen 库为优化和高性能计算提供了强大的工具,使您在 C ++ 中实现插值时能够达到很高的效率。
Construction of parallel one-dimensional interpolators in C++
Objective. The purpose of this article is to research and develop interpolators in the C++ programming language, including linear, quadratic and cubic interpolators, as well as a one-dimensional RBF interpolator. The main tasks are the use of the GSL library, the Lagrange interpolation polynomial, OpenMP, and comparative analysis with the SciPy library. The experiments are aimed at evaluating the effectiveness and applicability of various interpolation methods. Method. The work uses the GSL and Eigen libraries to implement interpolators and optimize computational processes. Linear, quadratic, and cubic interpolators are used to compare performance, and a one-dimensional RBF interpolator is being developed. The Lagrange interpolation method and parallel computing using OpenMP and SIMD are also used to improve efficiency. Result. The results of the research include the successful development and implementation of various interpolation methods in C++. Particular attention is paid to the analysis of the performance and accuracy of each method. Through a comparative analysis with the SciPy library, the authors identify the advantages and disadvantages of various interpolators. The main result is the practical applicability of these methods in the context of specific interpolation problems. Conclusion. The study made it possible to make sure that the implementation of interpolators in the C ++ language has some significant advantages compared to using the SciPy library. In particular, C++ allows for more precise and faster control over calculations, which is especially important in tasks related to numerical interpolation methods. The GSL and Eigen libraries provide powerful tools for optimization and high performance computing, which allows you to achieve high efficiency when implementing interpolation in C ++.