修論以降の研究経歴及び 数学ソフトウェア向け言語の設計について

Slides:



Advertisements
Similar presentations
シミュレーション演習 G. 総合演習 ( Mathematica 演 習) システム創成情報工学科 テキスト作成: 藤尾 光彦 講義担当: 尾下 真樹.
Advertisements

プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
シーケンス図の生成のための実行履歴圧縮手法
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
「わかりやすいパターン認識」 第1章:パターン認識とは
XHTML構文検証手法における スクリプト要素の静的解析アルゴリズム
コンパイラ 2011年10月17日
プログラミング言語としてのR 情報知能学科 白井 英俊.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
プログラミングパラダイム さまざまな計算のモデルにもとづく、 プログラミングの方法論 手続き型 関数型 オブジェクト指向 代数 幾何.
アルゴリズムとデータ構造1 2007年6月12日
群論とルービックキューブ 白柳研究室  水野貴裕.
AllReduce アルゴリズムによる QR 分解の精度について
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
プログラミング言語論 第6回 型 情報工学科 篠埜 功.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
プログラミング言語論 第4回 式の構文、式の評価
プログラミング演習II 2004年12月 21日(第8回) 理学部数学科・木村巌.
コンパイラ 2012年10月15日
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
応用数学 計算理工学専攻 杉原研究室 山本有作.
暗黙的に型付けされる構造体の Java言語への導入
関数の定義.
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
インラインスクリプトに対するデータフロー 解析を用いた XHTML 文書の構文検証
情報とコンピュータ 静岡大学工学部 安藤和敏
前回の練習問題.
情報とコンピュータ 静岡大学工学部 安藤和敏
社会シミュレーションのための モデル作成環境
逐次伝達法による 散乱波の解析 G05MM050 本多哲也.
系列ラベリングのための前向き後ろ向きアルゴリズムの一般化
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
バイトコードを単位とするJavaスライスシステムの試作
情報処理Ⅱ 第2回:2003年10月14日(火).
背景 課題 目的 手法 作業 期待 成果 有限体積法による汎用CFDにおける 流体構造連成解析ソルバーの計算効率の検証
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
コンパイラ 2011年10月20日
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年6月25日 3.1 関数近似モデル
JAVAバイトコードにおける データ依存解析手法の提案と実装
情報科学演習III --- 計算代数とその応用 ---
アルゴリズムとプログラミング (Algorithms and Programming)
用例とそのコンピューター上での実行に重点を置く
補講:アルゴリズムと漸近的評価.
オブジェクトの協調動作を用いた オブジェクト指向プログラム実行履歴分割手法
地理情報システム論(総)/ 国民経済計算論(商)
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
第14回 前半:ラムダ計算(演習付) 後半:小テスト
国立情報学研究所 ソフトウェア研究系 助教授/
プログラミング言語論 第10回 情報工学科 篠埜 功.
アルゴリズムとデータ構造1 2009年6月15日
プログラム分散化のための アスペクト指向言語
第6回放送授業.
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
コンパイラ 2012年10月11日
アルゴリズムとデータ構造 2010年6月17日
プログラミング演習I 数値計算における計算精度と誤差
ソフトウェア工学 知能情報学部 新田直也.
関数と再帰 教科書13章 電子1(木曜クラス) 2005/06/22(Thu.).
情報処理Ⅱ 第2回 2004年10月12日(火).
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
情報処理Ⅱ 2005年11月25日(金).
第10回 関数と再帰.
プログラミング演習II 2004年11月 2日(第3回) 理学部数学科・木村巌.
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
Presentation transcript:

修論以降の研究経歴及び 数学ソフトウェア向け言語の設計について 受験番号114 神戸隆行 平成12年度大学院博士後期課程(一般選考)学位論文の試問用資料

発表の概要 修論以降の研究経歴 計算機代数システムの並列計算実験 数学ソフトウェア向け言語の設計について 背景 問題点 例 取り組み

修論以降の研究経歴 平成12年度大学院博士後期課程(一般選考)学位論文の試問用資料

修論以降の研究相互の関係 ユーザー 数値解析 ライブラリ インターフェース 計算機代数 ライブラリ インターフェース Asir言語 インタプリタ 数値解析ライブラリ NUMPAC Risa 基本代数エンジン ・ライブラリ 並列計算機 AP1000 並列計算 実験環境 多倍長 浮動小数点数 の実装

ライブラリのインターフェース 強い型付けを利用するC++数値解析ライブラリ(修論’93) 計算対象の代数構造に注目してライブラリのインターフェースを整理 数学的な性質を意識したポリモルフィズム実装手法の選択

多倍精度浮動小数点数の実装 指数部可変長浮動小数点ライブラリの基本演算部(数式処理学会大会’95) 指数部可変長浮動小数点ライブラリの初等関数部(富士通研究所テクニカル・レポート ‘97) 指数部が可変な場合の基数変換の実装 多倍長整数演算を利用した連分数展開の計算による初等関数の実装

計算機代数システムの並列計算実験 計算機代数システムRisa/Asir の 並列計算機AP1000へ移植と並列計算の実験(PCW ’95 J、ASCM ‘96) アルゴリズムの並列性を利用した粒度の大きな並列計算の実験 AP1000上で粒度の大きな並列計算のための環境の構築

Asir on AP1000 Asirインタプリタ Asirインタプリタ Risa 基本代数 エンジン PARI ライブラリ Conservative GC C標準 エミュレーション・ CellOS ホスト・ タスク User PARI ライブラリ Risa 基本代数 エンジン Conservative GC C標準ライブラリ OS(Host) Disk

Gröbner基底計算の並列化 mbc モジュラGröbner基底の計算 nf 未定係数正規形の生成 eq 線型方程式の計算 eq Basis Element と同数 eq 線型方程式の計算 eq 線型方程式の計算

実験結果 (秒数) 変 基 mbc nf eq 合計 Cyclic-6 6 17 8.962 7.436 4.147 22.79 (逐次計算) (12.34) (27.85) Modified c5 5 8 12.82 13.28 33.88 63.15 (157.3) (228.6) Katsura-5 2.019 4.237 26.31 33.98 (逐次計算) (86.47) (119.3) Katsura-6 7 12.21 38.22 771.8 827.6 (3200.0) (4257.0)

数学ソフトウェア向け言語の設計について 平成12年度大学院博士後期課程(一般選考)学位論文の試問用資料

背景 計算の数学的正確さ 計算の速さ が重視されてきている プログラムし易さ に関する技術の導入が相対的に遅れている

対象分野 計算機代数 (数式処理) 数値解析 数値解析 例1: Newton法(数値解析)とHensel構成(計算機代数) 例2: 近似代数

形態 基本演算ライブラリ 対話的計算環境 シミュレーター ソルバー 数学的な対象の基本演算を提供 基本演算ライブラリの利用環境 基本演算ライブラリの開発・実験環境 シミュレーター 特定問題を観察する環境 ソルバー 特定問題の解法をパッケージ化

記述がしやすい言語 言語の記法と意味構成規準 [Fateman94?] <直観性規準>数学における「直感的な用法」とよく対応付けるべき →究極的には数式によるプログラミング <プログラム記述規準>アルゴリズム的プログラミング及び計算機内の実際のデータ表現から抽象的なレベルまでにおける数学オブジェクトの記述に適合するものであるべき →1と2は必ずしも両立しない。バランスが重要

数式プログラミングの問題 文脈依存 関係と計算 値の格納と参照 数式の記述には文脈が省略され勝ち 数式は関係を宣言するが、プログラムの実行には計算手順が必要 値の格納と参照 数式には値の記憶領域指定がない

文脈依存 例1: 例2:subst(x:=a, x – x) xが実数か虚数かで結果が異なる xをaに置換する前にx-xが0と評価され得る ファイル・ディスクリプタのように減算が定義されていないならばエラーになるべき

文脈依存対策例 例1:文脈付きevalを複数種導入[Maple] 例2:型システムの導入(構成数学的な手法、インターフェースの多重継承、単一継承、型強制)[AXIOM] 例:(+ (modulo 5 3) (* 2 2)) 型評価フェーズで(modulo 5 3)の結果が有限体Z3の値であることがわかるのでその文脈が(* 2 2)にも及ぶ

文脈依存への取り組み AXIOMと同じく型システムを導入 ・・・ただし パラメタ付き型 型推論 等の技術の導入を検討 型システム設計とアルゴリズム設計の並行 分割コンパイルと効率の両立 型推論 型指定の詳細を隠蔽 等の技術の導入を検討

関係と計算 例1:diff(y, t)=f(t) 関係:diff()はyとf(t)の関係を表す記号 計算:diff()は微分を計算する関数 yがtの関数として与えられていない限りdiff(y,t)=0 例2:f(x):=if(x>0) then x else –x のplot(f(t), t, -10, 10)によるプロット 例3:多項式の不定元と変数

関係と計算の識別 例1: 引用 例2: 不活性関数(名詞) 例3: 遅延評価する引数の指定 例:’x [Lisp] 例:Diff(名詞)とdiff(動詞)[Maple] 例3: 遅延評価する引数の指定 例:関数のHoldFirst, HoldRest, HoldAll属性[Mathematica]

関係と計算への取り組み 関係と計算に対して: 関数や演算は通常は計算と見る 必要に応じて評価順序を制御し、必要な未定義変数が処理されるのを防ぐ →調査:評価順序制御 関係はメタ・データとして式から取り出す →調査:メタ・データへのインターフェース

値の格納と参照 データ管理と副作用の問題(配列、ベクトル、行列) 無限列、形式ベキ級数の表現の問題 再帰定義関数と遅延評価等 添え字を利用する再帰定義関数(列と漸化式) →調査:遅延評価に関する手法

方針(優先度順) 書きやすいプログラミング言語 実行効率 プログラミング環境 評価順序の制御 型システムの構成 静的な解析手法 数式の入力と表示

用途 数学的記法に近い記法を利用できる数学ソフトウェア開発・数学実験環境 数値解析ライブラリと計算機代数システムをシームレスに利用できる環境 得意分野の異なるシステムをネットワークで結合して利用するフロントエンド