Малашкевич И.А., Малашкевич В.Б. —
Применение fortran-библиотек линейной алгебры в среде delphi
// Кибернетика и программирование. – 2013. – № 1.
– С. 1 - 8.
DOI: 10.7256/2306-4196.2013.1.8314
URL: https://e-notabene.ru/kp/article_8314.html
Читать статью
Аннотация: В работе представлен компонент и заголовочные модули, написанные на языке Object Pascal, обеспечивающие простое подключение функций и процедур таких библиотек численного решения задач линей-ной алгебры как BLAS, LAPACK, ARPACK и др., написанных на языке FORTRAN. Использование этих библиотек в современных языках программирования, например в C++ или Object Pascal, сталкивается с существенными проблемами, связанными с методами передачи параметров в подпрограммы, а также со способом представления массивов в оперативной памяти. Более серьезной проблемой является нумерация элементов с 1, принятая в FORTRAN. В Object Pascal учет этого условия может потребовать тщательного анализа и модификации алгоритма решения задачи. Это существенно увеличивает трудоемкость программирования и ведет к появлению скрытых, трудно обнаруживаемых алгоритмических ошибок. Для обеспечения прозрачного обращения к подпрограммам FORTRAN-библиотек из программ на языке Object Pascal среды Delphi разработаны два класса объектов для представления одномерных массивов TVector и двумерных массивов - TMatrix.
Abstract: The article presents the components and header modules written in Object Pascal, allowing to easy include libraries with such functions and procedures for numerical solution of linear-algebra as BLAS, LAPACK, ARPACK etc. written in FORTRAN. Using these libraries in modern programming languages such as C ++ or Object Pascal is hard due to significant problems associated with the methods of passing parameters to subroutines, as well as to the method of representation of an array in memory. Another serious problem is the numbering of the elements that start from 1 in FORTRAN. In Object Pascal considering this condition may require careful analysis and the modification of the algorithm for solving the problem. This greatly increases the complexity of programming and leads to hidden, difficult to detect algorithmic errors. To provide transparent access the routines of FORTRAN-libraries while programming in Object Pascal in Delphi environment the authors developed two classes of objects for representing one-dimensional arrays TVector and two-dimensional arrays TMatrix.