非線形方程式求根アルゴリズムの宣言的形式言語の設計と実装

Translated title of the contribution: Design and Implementation of a Declarative Formal Language for Root-finding Algorithms of Nonlinear Equations

嶋吉 隆夫, 天野 晃

Research output: Contribution to journalArticle

Abstract

数値計算アルゴリズムは一般的に,FortranやC言語,MATLABなどの手続き型プログラミング言語による参照実装が公開され,計算性能を重視して,ライブラリの形態で配布されるものを利用することが多い.しかし,利用したいアルゴリズムに対して計算実行環境に対応した実装が公開されていない場合は,自らアルゴリズムを移植する必要がある.特に近年は数値計算が行われる環境が非常に多様化しており,従来の方法では可用性および生産性の問題がある.そこで,本発表では,非線形方程式の求根アルゴリズムを対象にドメイン特化したXMLベースの形式言語を提案する.この形式言語では,求根アルゴリズムを手続きではなく数学的に漸化式として定義し,プログラミング言語に依存しない表現としてMathMLのContent Markupを用いて宣言的に記述する.この宣言的記述で定義される数式とそこに含まれる数学変数の依存関係を解析することで,記述アルゴリズムの計算手順が,半順序関係として抽象的な形式で得られる.この抽象的計算手順から,具体的なプログラミング言語によるプログラムコードを出力可能である.本発表では,C99またはFortran 95によるソースコードを生成する処理系,および,その処理系により生成されたソースコードを一般的ソースコードと比較した性能評価について報告する.Numerical algorithms are generally published along with reference implementations in procedural programming languages such as Fortran, C, and MATLAB, and distributed and utilized within libraries with mainly concerning computational performance. However, a necessary algorithm has to be ported onto a target environment if no implementation of the algorithm is available on the environment. Especially in recent years, numerical computations are executed using various computing environments. Therefore, that conventional manner has a problem on availability and productivity. In this presentation, a XML-based formal language is introduced, the domain of which is specialized for root-finding algorithms of nonlinear equations. In the present formal language, a root-finding algorithm is not defined as a procedure but as a set of mathematical recurrence formulas, and declaratively described using Content Markup of MathML independently of any programing languages. By analyzing relationships among mathematical equations in the description and mathematical variables referred in the equations, an abstract calculation procedure of the described algorithm can be obtained as a partial order relation. From the abstract procedure, program codes in concrete programming languages can be generated. A generator of C99 or Fortran 95 source codes is presented, and a performance evaluation of a generated source code compared to a common source code is reported.
Original languageJapanese
Pages (from-to)3-3
Number of pages1
Journal情報処理学会論文誌プログラミング(PRO)
Volume10
Issue number6
Publication statusPublished - Dec 12 2017
Externally publishedYes

Cite this

非線形方程式求根アルゴリズムの宣言的形式言語の設計と実装. / 嶋吉隆夫; 天野晃.

In: 情報処理学会論文誌プログラミング(PRO), Vol. 10, No. 6, 12.12.2017, p. 3-3.

Research output: Contribution to journalArticle

@article{a57d1959a5454cb1854a4ece02682f71,
title = "非線形方程式求根アルゴリズムの宣言的形式言語の設計と実装",
abstract = "数値計算アルゴリズムは一般的に,FortranやC言語,MATLABなどの手続き型プログラミング言語による参照実装が公開され,計算性能を重視して,ライブラリの形態で配布されるものを利用することが多い.しかし,利用したいアルゴリズムに対して計算実行環境に対応した実装が公開されていない場合は,自らアルゴリズムを移植する必要がある.特に近年は数値計算が行われる環境が非常に多様化しており,従来の方法では可用性および生産性の問題がある.そこで,本発表では,非線形方程式の求根アルゴリズムを対象にドメイン特化したXMLベースの形式言語を提案する.この形式言語では,求根アルゴリズムを手続きではなく数学的に漸化式として定義し,プログラミング言語に依存しない表現としてMathMLのContent Markupを用いて宣言的に記述する.この宣言的記述で定義される数式とそこに含まれる数学変数の依存関係を解析することで,記述アルゴリズムの計算手順が,半順序関係として抽象的な形式で得られる.この抽象的計算手順から,具体的なプログラミング言語によるプログラムコードを出力可能である.本発表では,C99またはFortran 95によるソースコードを生成する処理系,および,その処理系により生成されたソースコードを一般的ソースコードと比較した性能評価について報告する.Numerical algorithms are generally published along with reference implementations in procedural programming languages such as Fortran, C, and MATLAB, and distributed and utilized within libraries with mainly concerning computational performance. However, a necessary algorithm has to be ported onto a target environment if no implementation of the algorithm is available on the environment. Especially in recent years, numerical computations are executed using various computing environments. Therefore, that conventional manner has a problem on availability and productivity. In this presentation, a XML-based formal language is introduced, the domain of which is specialized for root-finding algorithms of nonlinear equations. In the present formal language, a root-finding algorithm is not defined as a procedure but as a set of mathematical recurrence formulas, and declaratively described using Content Markup of MathML independently of any programing languages. By analyzing relationships among mathematical equations in the description and mathematical variables referred in the equations, an abstract calculation procedure of the described algorithm can be obtained as a partial order relation. From the abstract procedure, program codes in concrete programming languages can be generated. A generator of C99 or Fortran 95 source codes is presented, and a performance evaluation of a generated source code compared to a common source code is reported.",
author = "隆夫 嶋吉 and 晃 天野",
year = "2017",
month = "12",
day = "12",
language = "Japanese",
volume = "10",
pages = "3--3",
journal = "情報処理学会論文誌プログラミング(PRO)",
issn = "1882-7802",
number = "6",

}

TY - JOUR

T1 - 非線形方程式求根アルゴリズムの宣言的形式言語の設計と実装

AU - 嶋吉, 隆夫

AU - 天野, 晃

PY - 2017/12/12

Y1 - 2017/12/12

N2 - 数値計算アルゴリズムは一般的に,FortranやC言語,MATLABなどの手続き型プログラミング言語による参照実装が公開され,計算性能を重視して,ライブラリの形態で配布されるものを利用することが多い.しかし,利用したいアルゴリズムに対して計算実行環境に対応した実装が公開されていない場合は,自らアルゴリズムを移植する必要がある.特に近年は数値計算が行われる環境が非常に多様化しており,従来の方法では可用性および生産性の問題がある.そこで,本発表では,非線形方程式の求根アルゴリズムを対象にドメイン特化したXMLベースの形式言語を提案する.この形式言語では,求根アルゴリズムを手続きではなく数学的に漸化式として定義し,プログラミング言語に依存しない表現としてMathMLのContent Markupを用いて宣言的に記述する.この宣言的記述で定義される数式とそこに含まれる数学変数の依存関係を解析することで,記述アルゴリズムの計算手順が,半順序関係として抽象的な形式で得られる.この抽象的計算手順から,具体的なプログラミング言語によるプログラムコードを出力可能である.本発表では,C99またはFortran 95によるソースコードを生成する処理系,および,その処理系により生成されたソースコードを一般的ソースコードと比較した性能評価について報告する.Numerical algorithms are generally published along with reference implementations in procedural programming languages such as Fortran, C, and MATLAB, and distributed and utilized within libraries with mainly concerning computational performance. However, a necessary algorithm has to be ported onto a target environment if no implementation of the algorithm is available on the environment. Especially in recent years, numerical computations are executed using various computing environments. Therefore, that conventional manner has a problem on availability and productivity. In this presentation, a XML-based formal language is introduced, the domain of which is specialized for root-finding algorithms of nonlinear equations. In the present formal language, a root-finding algorithm is not defined as a procedure but as a set of mathematical recurrence formulas, and declaratively described using Content Markup of MathML independently of any programing languages. By analyzing relationships among mathematical equations in the description and mathematical variables referred in the equations, an abstract calculation procedure of the described algorithm can be obtained as a partial order relation. From the abstract procedure, program codes in concrete programming languages can be generated. A generator of C99 or Fortran 95 source codes is presented, and a performance evaluation of a generated source code compared to a common source code is reported.

AB - 数値計算アルゴリズムは一般的に,FortranやC言語,MATLABなどの手続き型プログラミング言語による参照実装が公開され,計算性能を重視して,ライブラリの形態で配布されるものを利用することが多い.しかし,利用したいアルゴリズムに対して計算実行環境に対応した実装が公開されていない場合は,自らアルゴリズムを移植する必要がある.特に近年は数値計算が行われる環境が非常に多様化しており,従来の方法では可用性および生産性の問題がある.そこで,本発表では,非線形方程式の求根アルゴリズムを対象にドメイン特化したXMLベースの形式言語を提案する.この形式言語では,求根アルゴリズムを手続きではなく数学的に漸化式として定義し,プログラミング言語に依存しない表現としてMathMLのContent Markupを用いて宣言的に記述する.この宣言的記述で定義される数式とそこに含まれる数学変数の依存関係を解析することで,記述アルゴリズムの計算手順が,半順序関係として抽象的な形式で得られる.この抽象的計算手順から,具体的なプログラミング言語によるプログラムコードを出力可能である.本発表では,C99またはFortran 95によるソースコードを生成する処理系,および,その処理系により生成されたソースコードを一般的ソースコードと比較した性能評価について報告する.Numerical algorithms are generally published along with reference implementations in procedural programming languages such as Fortran, C, and MATLAB, and distributed and utilized within libraries with mainly concerning computational performance. However, a necessary algorithm has to be ported onto a target environment if no implementation of the algorithm is available on the environment. Especially in recent years, numerical computations are executed using various computing environments. Therefore, that conventional manner has a problem on availability and productivity. In this presentation, a XML-based formal language is introduced, the domain of which is specialized for root-finding algorithms of nonlinear equations. In the present formal language, a root-finding algorithm is not defined as a procedure but as a set of mathematical recurrence formulas, and declaratively described using Content Markup of MathML independently of any programing languages. By analyzing relationships among mathematical equations in the description and mathematical variables referred in the equations, an abstract calculation procedure of the described algorithm can be obtained as a partial order relation. From the abstract procedure, program codes in concrete programming languages can be generated. A generator of C99 or Fortran 95 source codes is presented, and a performance evaluation of a generated source code compared to a common source code is reported.

M3 - 記事

VL - 10

SP - 3

EP - 3

JO - 情報処理学会論文誌プログラミング(PRO)

JF - 情報処理学会論文誌プログラミング(PRO)

SN - 1882-7802

IS - 6

ER -