東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU

Slides:



Advertisements
Similar presentations
Absolute Orientation. Absolute Orientation の問題 二つの座標系の間における剛体 (rigid body) 変換を復元す る問題である。 例えば: 2 台のステレオカメラから得られた3次元情報の間の関 係を推定する問題。 2 台のステレオカメラから得られた3次元情報の間の関.
Advertisements

IT 入門 B2 ー 連立一次方程式( 2 ) ー. ガウスの消去法の問題点 – 浮動小数点数の特殊な値 – 数学関数 ピボット選択つきガウスの消去法 演習 授 業 内 容 授 業 内 容.
2.5 プログラムの構成要素 (1)文字セット ① ASCII ( American Standard Code for Interchange ) JIS コードと同じ ② EBCDIC ( Extended Binary Coded Decimal for Information Code ) 1.
プログラミング実習 1 ・ 2 ク ラス 第 2 週目 担当教員 : 渡邊 直樹. 課題 2 ● 2 × 2型行列の固有値, 固有ベクトルを求め る EigMatrix.java というプログラムを作成せ よ。 ● 行列の各要素はコマンド・プロンプトから入力 ● 計算した結果もコマンド・プロンプトに表示.
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
※ 対称密行列の固有値分解は特異値分解と共通点が多い
Fill-in LevelつきIC分解による 前処理について
A Q R QR分解とは? → × ◆QR分解 QTQ = I (単位行列) ◆応用例 ◆主な計算方法 n m 今回はこの方法に注目
MATLAB測位プログラミングの 基礎とGT (3)
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
12: コマンドライン引数 C プログラミング入門 総機1 (月1) Linux にログインし、以下の講義ページ を開いておくこと
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
IT入門B2 ー 連立一次方程式 ー.
PCクラスタ上での 連立一次方程式の解の精度保証
MATLAB測位プログラミングの 基礎とGT (1)
ワイヤレス通信におけるMIMO伝送技術.
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
精密工学科プログラミング基礎Ⅱ 第3回資料 今回の授業で習得してほしいこと: 2次元配列の使い方 (前回の1次元配列の復習もします.)
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
正方行列向け特異値分解の CUDAによる高速化
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
技術コンサルタント 高須 知二 Tomoji TAKASU
MATLAB測位プログラミングの 基礎とGT (2)
Cプログラミング演習 第7回 メモリ内でのデータの配置.
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
電界中の電子の運動 シミュレータ作成 精密工学科プログラミング基礎 資料.
精密工学科プログラミング基礎 第10回資料 (12/18実施)
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
RTK-GPS用プログラムライブラリRTKLIBの開発・評価および応用
第7回 プログラミングⅡ 第7回
「R入門」  5.7 行列に対する諸機能  10月23日 (木) 発表者 大城亜里沙.
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
知能システム論I(13) 行列の演算と応用(Matrix) 2008.7.8.
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
パターン認識特論 担当:和田 俊和 部屋 A513 主成分分析
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
情報処理Ⅱ 第2回:2003年10月14日(火).
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
精密工学科プログラミング基礎Ⅱ 第5回資料 今回の授業で習得してほしいこと: 構造体 (教科書 91 ページ)
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
アルゴリズムとデータ構造1 2009年6月15日
ネットワーク・プログラミング Cプログラミングの基礎.
第5回 プログラミングⅡ 第5回
精密工学科プログラミング基礎 第7回資料 (11/27実施)
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
アルゴリズムとデータ構造 2010年6月17日
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
長方行列向け特異値分解の 浮動小数点コプロセッサによる 高速化
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
情報処理Ⅱ 第2回 2004年10月12日(火).
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
情報処理Ⅱ 2005年11月25日(金).
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
情報処理Ⅱ 小テスト 2005年2月1日(火).
プログラミング演習II 2003年10月29日(第2,3回) 木村巌.
2008年 7月17日 応用数理工学特論 期末発表 鈴木綾華,程飛
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
12: コマンドライン引数 C プログラミング入門 基幹2 (月4) Linux にログインし、以下の講義ページ を開いておくこと
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU RTK-GPS測位の基礎と プログラミング (3) Basics of RTK-GPS Positioning and Its Programing  東京海洋大産学官連携研究員/技術コンサルタント  高須 知二 Tomoji TAKASU

内容 行列演算ライブラリ BLASS LAPACK C→Fortran呼び出し法 可変長行列・ベクトル 最小二乗法解法 行列内部表現

行列演算ライブラリ (1) メリット 実行速度が速い (数倍~数10倍) 信頼性が高い コードを書かなくて良い デメリット 使うのが面倒 (使いこなしが大変) make時にライブラリが必要(可搬性)

行列演算ライブラリ (2) BLAS 基礎行列演算: 代入、内積、ノルム、加減算、乗算、除算 LAPACK 線型方程式(連立一次方程式) 最小二乗、固有値分解、特異値分解

BLAS (1) Level1 : y←ax+y...(ベクトル間) Level2 : y←aAx+by...(行列-ベクトル) Level3 : C←aAB+bC...(行列-行列) 関数名 : xAAAA (x : S=単精度実数, D=倍精度実数   C=単精度複素数, Z=倍精度複素数)

BLAS (2) 主要ルーチン DGEMM : C←aA*B*+bC プロトタイプ DGEMM(char *transa, char *transb, int* m, int *n, int *k, double *alpha, double *a, int *lda, double *b, int *ldb, double * beta, double *c, int *ldc);

LAPACK (1) ドライバルーチン 個別ルーチン 補助ルーチン

LAPACK (2) DGESV:線形方程式 DGELS:最小二乗

C→Fortran呼び出し方法 関数名置換 GEMM→gemm_() (GCC) 引数: すべてポインタ(参照)渡し。 (値渡しはできない) リンク時オプション: ライブラリ指定 -llapack -lblas (GCC)

可変長行列/ベクトル 標準C(89) {double *a=malloc(sizeof(double)*n*m); ...; b=a[i+n*j]; ... free(a);} ALLOCA (非標準) {double *a=alloca(sizeof(double)*n*m); ...; b=a[i+n*j]; ...} C99 {double a[n][m]; ...; a[i][j]; ...} (Row-Major)

最小二乗法解法 (1) 正規方程式 計画行列QR分解

最小二乗法解法 (2) QR分解 修正Gram-Shmidt Householder変換 Givens-Rotation 逐次改良

(a[i+j*n]:Column-Major) 行列内部表現 (1) FORTRAN/MATLAB (BLAS/LAPACK) C Index 1-ORIGIN 0-ORIGIN Memory Order n n m m Column-Major Row-Major Access to Member A[i][j] (a[i+j*n]:Column-Major) A(i,j) (i=1,2,...n,j=1,2,...m) (i=0,1,...n-1,j=0,1,...m-1)

行列内部表現 (2) BLAS/LAPACK互換性 標準C(89)サポート (可搬性) メモリ確保用ライブラリ : A=mat(n,m) Column-Major Order (Fortran形式) 行列要素参照 : A[i+j*n]