Microsoft PowerPoint - sps14_enshu2-2.pptx
|
|
|
- とよみ わにべ
- 7 years ago
- Views:
Transcription
1 Computer simulations create the future 固有値計算法 RIKEN AICS HPC Spring School 今村俊幸理化学研究所 AICS 2014/3/6 9:00~12:00
2 本日の講義内容 固有値 ( 線形代数 ) と応用問題 振動問題 ネットワーク定常問題 固有値計算アルゴリズム 密行列 べき乗法 ヤコビ法 ハウスホルダー三重対角 + 分割統治法 + 逆変換 疎行列 ランチョス法 ヤコビ デビッドソン法 その他 固有値計算ソフトウェア ScaLAPACK EigenExa PETSc
3 ライブラリ使用法 ScaLAPACK, EigenExa, SLEPC を実際に使ってみる
4 ScaLAPACK の利用方法
5 ScaLAPACK サイトの例題より sample_pdsyev_call.f をダウンロードする.
6 How to use ScaLAPACK Link 方法, K もしくは FX10 の環境で % mpifrt o exe sample_pdsyev_call.f SCALAPACK SSL2BLAMP 実行 : #!/bin/bash #PJM -L "rscgrp=school" #PJM -L "node=2x2" #PJM -L "elapse=00:05:00" #PJM mpi proc=4 #PJM -j export OMP_NUM_THREADS=16 mpiexec./exe
7 Let s learn the sample code 行列生成関数 : PDLAMODHILB 固有値計算関数 : PDSYEV 結果出力 : PDLAPRNT 他に 初期化 (BLACS_XXX) や終了 (BLACS_EXIT) 行列データを扱うための descriptor の宣言 (DESCINIT) などが必要 BLACS: 通信回りの関数系 通常利用者からはプロセスの 2 次元配置の仕方などの管理系と思えばよい PDSYEV: QR 法による固有値計算ルーチン他に PDSYEVX, PDSYEVD, PDSYEVR など存在する 行列データはプロセス間で 2 次元ブロック分割 されており 行列要素ごとに格納されるプロセスが決まっている
8 行列設定関数を読む PDLAMODHILB を読んで分かるように 並列用の特別な変更は, 代入操作を関数呼び出し PDELSET にしている点 PDELSET はもし 呼び出しプロセスがオーナーであれば指定された値をローカルメモリ上の配列データにストアする SUBROUTINE PDLAMODHILB( N, A, IA, JA, DESCA, INFO ) DO 20 J = 1, N DO 10 I = 1, N IF( I.EQ.J ) THEN CALL PDELSET( A, I, J, DESCA, ( DBLE( N-I+1 ) ) / DBLE( N )+ONE / ( DBLE( I+J )-ONE ) ) ELSE CALL PDELSET( A, I, J, DESCA, ONE / ( DBLE( I+J )-ONE ) ) ENDIF END
9 やってみよう! PDLAMODHILB を改良して 自由な対称行列を入力として固有値計算をしてみよう また 固定化されている行列次元 (N), プロセス数 (NPROW, NPCOL) を変えて 計算時間の変化を見てみよう! 更に 余裕のある人は固有値求解関数を pdsyevd などに変更してどうなるかを調べてみよう
10 EigenExa の使用方法
11 EigenExa のダウンロード 最新版をダウンロードしてください
12 How to use EigenExa Build & Link 方法, K もしくは FX10 の環境で % make test 自身でリンクする場合は % mpifrt o exe foo.f leigenexa SCALAPACK SSL2BLAMP 実行 : #!/bin/bash #PJM -L "rscgrp=school" #PJM -L "node=2x2" #PJM -L "elapse=00:05:00" #PJM mpi proc=4 #PJM -j export OMP_NUM_THREADS=16 mpiexec./eigenexa_benchmark
13 Let s learn the sample code 行列生成関数 : mat_set 固有値計算関数 : eigen_sx ScaLAPACK 同様に 初期化 (eigen_init) や終了 (eigen_free) 必要 EigenExa は 2 次元サイクリックサイクリック分割 ( 具体的には COL,ROW 共に NB=1 固定の場合 ) の範囲では ScaLAPACK とコンパチであるので 相互の関数を利用し合うことができる 従って NB=1 で行列の descriptor が宣言されているので PDLMODHILB で作成した配列を EigenExa に渡して解くこともできる
14 やってみよう! 行列次元 (N), プロセス数 (NPROW, NPCOL) を変えて 計算時間の変化を見てみよう! 更に 余裕のある人は ScaLAPACK のサンプルコード内の PDLAMODHILB を組み込んで 様々な行列の固有値求解を EigenExa にさせてみよう
15 PETSc(SLEPC) の使い方 SLEPC の公式 Hands-on exercises サイトの題材を利用する 神大 FX10 に SLEPC がなければこの章はとりやめ
16 ex1.c を使用します ex1f.f を使用します ( スクロールした下の方にあります ) /opt/aics-ss/examples の下にも一通りおいていますので そちらをアクセスしてくださしてください
17 コンパイル & リンク Makefile ARCH = arch-fujitsu-sparc64fx-opt PETSC_DIR = /opt/aics-ss/petsc-3.3-p5 SLEPC_DIR = /opt/aics-ss/slepc-3.3-p4 INCPATH= -I$(PETSC_DIR)/include -I$(PETSC_DIR)/$(ARCH)/include -I$(SLEPC_DIR)/include -I$(SLEPC_DIR)/$(ARCH)/include LDFLAGS= -L$(SLEPC_DIR)/$(ARCH)/lib -lslepc -L$(PETSC_DIR)/$(ARCH)/lib -lpetsc -SSL2BLAMP all: ex1 ex1f ex1: ex1.o mpifccpx-o ex1 ex1.o $(LDFLAGS) ex1f: ex1f.o mpifrtpx-o ex1f ex1f.o $(LDFLAGS) ex1.o: ex1.c mpifccpx-c ex1.c -Xg $(INCPATH) ex1f.o: ex1f.f mpifrtpx-c ex1f.f $(INCPATH) clean: rm ex1 ex1.o ex1f ex1f.o make コマンドでコンパイルする ex1, ex1f が作成される
18 プログラムの実行 実行 #!/bin/bash #PJM -L "rscgrp=school" #PJM -L "node=2x2" #PJM -L "elapse=00:05:00" #PJM mpi proc=4 #PJM -j export OMP_NUM_THREADS=16 echo C-version mpiexec./ex1 n 100 echo F90-version mpiexec./ex1f n 100
19 C version 1-D Laplacian Eigenproblem, n=100 Number of iterations of the method: 19 Solution method: krylovschur Number of requested eigenvalues: 1 Stopping condition: tol=1e-08, maxit=100 Number of converged eigenpairs: 2 C バージョンの結果 k Ax-kx / kx e e-09 F90 version 1-D Laplacian Eigenproblem, n =100 (Fortran) Number of iterations of the method: 19 Solution method: krylovschur Number of requested eigenvalues: 1 Stopping condition: tol=1.0000e-08, maxit= 100 Number of converged eigenpairs: 2 F90 バージョンの結果 k Ax-kx / kx E E E E-09
20 Play with SLEPC チュートリアルページから $./ex1 -n 400 -eps_nev 3 -eps_tol 1e-7 $./ex1 -n 400 -eps_nev 3 -eps_ncv 24 $./ex1 -n 100 -eps_nev 4 -eps_type lanczos 1-D Laplacian Eigenproblem, n=400 Number of iterations of the method: 100 Solution method: krylovschur Number of requested eigenvalues: 3 Stopping condition: tol=1e-07, maxit=100 Number of converged eigenpairs: 1 k Ax-kx / kx e-08 1-D Laplacian Eigenproblem, n=400 Number of iterations of the method: 60 Solution method: krylovschur Number of requested eigenvalues: 3 Stopping condition: tol=1e-08, maxit=100 Number of converged eigenpairs: 5 k Ax-kx / kx e e e e e-09 1-D Laplacian Eigenproblem, n=100 Number of iterations of the method: 62 Solution method: lanczos Number of requested eigenvalues: 4 Stopping condition: tol=1e-08, maxit=100 Number of converged eigenpairs: 4 k Ax-kx / kx e e e e-09
21 Learn the sample code SlepcInitialize( PETSC_NULL_CHARACTER, ierr) MatCreate( PETSC_COMM_WORLD, A, ierr) MatSetSizes( A,., n, n, ierr) MatSetUp( A, ierr) ( 行列やベクトルデータの宣言とデータ設定 ) ESPCreate( PETSC_COMM_WORLD, eps, ierr) ESPSetOperators( eps, A, PETSC_NULL_OBJECT, ierr) EPSSetProblemType( eps, EPS_HEP, ierr) EPSSolve( eps, ierr) EPSGetEigenPair( eps, ) EPSDestroy( eps, ierr) SlepcFinalize( ierr)
22 How to setup a matrix? PETSc は内部データを柔軟に制御している PETSc が管理するため 使用者からは実態は見えない 行列ハンドラ変数 A を使ってアクセスする 内部フォーマットはいくつか存在する! Simple matrix format Mat A EPS eps EPSType tname PetscReal tol, error, values(:) MatCreate( PETSC_COMM_WORLD, A, ierr) MatSetSizes( A, PETSC_DECIDE, PETSC_DECIDE, M, N, ierr) MatGetOwnershipRange(A, Istart, Iend, ierr) MatSetValues( A, m, idxm, n, idxn, values, INSERT_VALUES ADD_VALUES, ierr) MatAssemblyBegin( A, MAT_FINAL_ASSEMBLY, ierr) MatAssemblyEnd( A, MAT_FINAL_ASSEMBLY, ierr)
23 How to setup a matrix? PETSc は内部データを柔軟に制御している PETSc が管理するため 使用者からは実態は見えない 行列ハンドラ変数 A を使ってアクセスする 内部フォーマットはいくつか存在する! Simple matrix format Mat A EPS eps EPSType tname PetscReal tol, error, values(:) 行列データの形成 MatCreate( PETSC_COMM_WORLD, A, ierr) MatSetSizes( A, PETSC_DECIDE, PETSC_DECIDE, M, N, ierr) MatGetOwnershipRange(A, Istart, Iend, ierr) MatSetValues( A, m, idxm, n, idxn, values, INSERT_VALUES ADD_VALUES, ierr) MatAssemblyBegin( A, MAT_FINAL_ASSEMBLY, ierr) MatAssemblyEnd( A, MAT_FINAL_ASSEMBLY, ierr)
24 How to setup a matrix? PETSc は内部データを柔軟に制御している PETSc が管理するため 使用者からは実態は見えない 行列ハンドラ変数 A を使ってアクセスする 内部フォーマットはいくつか存在する! Simple matrix format Mat A EPS eps EPSType tname PetscReal tol, error, values(:) 行列サイズの指定グローバルサイズ MxN MatCreate( PETSC_COMM_WORLD, A, ierr) MatSetSizes( A, PETSC_DECIDE, PETSC_DECIDE, M, N, ierr) MatGetOwnershipRange(A, Istart, Iend, ierr) MatSetValues( A, m, idxm, n, idxn, values, INSERT_VALUES ADD_VALUES, ierr) MatAssemblyBegin( A, MAT_FINAL_ASSEMBLY, ierr) MatAssemblyEnd( A, MAT_FINAL_ASSEMBLY, ierr)
25 How to setup a matrix? PETSc は内部データを柔軟に制御している PETSc が管理するため 使用者からは実態は見えない 行列ハンドラ変数 A を使ってアクセスする 内部フォーマットはいくつか存在する! Simple matrix format Mat A EPS eps EPSType tname PetscReal tol, error, values(:) mxn のブロック行列に対して配列 values をセットする MatCreate( PETSC_COMM_WORLD, A, ierr) MatSetSizes( A, PETSC_DECIDE, PETSC_DECIDE, M, N, ierr) MatGetOwnershipRange(A, Istart, Iend, ierr) MatSetValues( A, m, idxm, n, idxn, values, INSERT_VALUES ADD_VALUES, ierr) MatAssemblyBegin( A, MAT_FINAL_ASSEMBLY, ierr) MatAssemblyEnd( A, MAT_FINAL_ASSEMBLY, ierr)
26 How to setup a matrix? PETSc は内部データを柔軟に制御している PETSc が管理するため 使用者からは実態は見えない 行列ハンドラ変数 A を使ってアクセスする 内部フォーマットはいくつか存在する! Simple matrix format Mat A EPS eps EPSType tname PetscReal tol, error, values(:) セットされた配列データをアセンブルする MatCreate( PETSC_COMM_WORLD, A, ierr) MatSetSizes( A, PETSC_DECIDE, PETSC_DECIDE, M, N, ierr) MatGetOwnershipRange(A, Istart, Iend, ierr) MatSetValues( A, m, idxm, n, idxn, values, INSERT_VALUES ADD_VALUES, ierr) MatAssemblyBegin( A, MAT_FINAL_ASSEMBLY, ierr) MatAssemblyEnd( A, MAT_FINAL_ASSEMBLY, ierr)
27 やってみよう! 余裕ある人向 少し難しくなりますが 長方領域板振動を表現する方程式 重調和関数の方程式 (E: ヤング率, h: 板厚, ρ: 密度, μ: ポアソン比 ) 変数分離法により次の固有方程式を得る
28 やってみよう! 固定境界条件 ( ディリクレ条件 ) のもと差分化して
29 テンソル積の表示を使って やってみよう! 簡単化のため正方形状として Nx=Ny=m, hx=hy=1 とする.
30 やってみよう! この様に作られる行列 A の固有値と固有ベクトルを計算して 得られた固有値の大きい方から順に選んで対応する固有ベクトルを m m に並べ換えたデータとして可視化するとどうなるだろうか? 可視化には gnuplot の plot3d を使ってみましょう
数値計算ライブラリの使用方法 「実習編」
数値計算ライブラリの使用方法 実習編 Kobe HPC Spring School 2019 今村俊幸理化学研究所計算科学研究センター Toshiyuki Imamura, RIKEN Center for Computational Science 2019/3/13~ 15 本日の講義 (2) 代表的な3ソフトウェアを使った演習 ScaLAPACK EigenExa PETSc ScaLAPACK
Microsoft PowerPoint - 演習1:並列化と評価.pptx
講義 2& 演習 1 プログラム並列化と性能評価 神戸大学大学院システム情報学研究科横川三津夫 [email protected] 2014/3/5 RIKEN AICS HPC Spring School 2014: プログラム並列化と性能評価 1 2014/3/5 RIKEN AICS HPC Spring School 2014: プログラム並列化と性能評価 2 2 次元温度分布の計算
本日の講義内容 固有値 ( 線形代数 ) と応用問題 振動問題 ネットワーク定常問題 固有値計算アルゴリズム 密行列 べき乗法 ヤコビ法 ハウスホルダー三重対角 + 分割統治法 + 逆変換 疎行列 ランチョス法 ヤコビ デビッドソン法 その他 固有値計算ソフトウェア ScaLAPACK EigenE
Computer simulations create the future 固有値計算法 RIKEN AICS HPC Spring School 今村俊幸理化学研究所 AICS 2014/3/6 9:00~12:00 本日の講義内容 固有値 ( 線形代数 ) と応用問題 振動問題 ネットワーク定常問題 固有値計算アルゴリズム 密行列 べき乗法 ヤコビ法 ハウスホルダー三重対角 + 分割統治法 +
(Microsoft PowerPoint \211\211\217K3_4\201i\216R\226{_\211\272\215\342\201j.ppt [\214\335\212\267\203\202\201[\203h])
RIKEN AICS Summer School 演習 3 4 MPI による並列計算 2012 年 8 月 8 日 神戸大学大学院システム情報学研究科山本有作理化学研究所計算科学研究機構下坂健則 1 演習の目標 講義 6 並列アルゴリズム基礎 で学んだアルゴリズムのいくつかを,MPI を用いて並列化してみる これを通じて, 基本的な並列化手法と,MPI 通信関数の使い方を身に付ける 2 取り上げる例題と学習項目
EigenExaユーザーズ・マニュアル
ユーザズ マニュアル EigenExa version 1.0 2013 年 8 月 8 日改訂 2013 年 8 月 1 日初版 EigenExa チーム 1. はじめに EigenExa は高性能固有値ソルバである.EigenExa は EigenK ライブラリ [1] の後継として 開発され, ペタスケールコンピュータシステム同様に, 将来登場するであろうポストペタス ケール計算機システム (
演習準備
演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 演習準備の内容 神戸大 FX10(π-Computer) 利用準備 システム概要 ログイン方法 コンパイルとジョブ実行方法 MPI 復習 1. MPIプログラムの基本構成 2. 並列実行 3. 1 対 1 通信 集団通信 4. データ 処理分割 5. 計算時間計測 2 神戸大 FX10(π-Computer) 利用準備
Microsoft PowerPoint - 演習2:MPI初歩.pptx
演習 2:MPI 初歩 - 並列に計算する - 2013 年 8 月 6 日 神戸大学大学院システム情報学研究科計算科学専攻横川三津夫 MPI( メッセージ パッシング インターフェース ) を使おう! [ 演習 2 の内容 ] はじめの一歩課題 1: Hello, world を並列に出力する. 課題 2: プロセス 0 からのメッセージを受け取る (1 対 1 通信 ). 部分に分けて計算しよう課題
I I / 47
1 2013.07.18 1 I 2013 3 I 2013.07.18 1 / 47 A Flat MPI B 1 2 C: 2 I 2013.07.18 2 / 47 I 2013.07.18 3 / 47 #PJM -L "rscgrp=small" π-computer small: 12 large: 84 school: 24 84 16 = 1344 small school small
Microsoft Word - qpeigen_manual_jp-1.0.doc
4 倍精度固有値計算ライブラリ QPEigen Ver.1.0 ユーザーズマニュアル 2015 年 2 月独立行政法人日本原子力研究開発機構 目次 1 概説... 3 2 行列対角化について... 2 3 4 倍精度化アルゴリズムについて... 2 4 参考文献... 3 5 ディレクトリ構成... 3 6 必要なソフトウェア... 3 7 インストール方法... 4 8 検証用 性能評価用プログラム...
memo
数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int
Microsoft PowerPoint - Eigen.pptx
固有値解析 中島研吾 東京大学情報基盤センター同大学院情報理工学系研究科数理情報学専攻数値解析 ( 科目番号 -58) 行列の固有値問題 べき乗法 対称行列の固有値計算法 : ヤコビ法 A 行列の固有値問題 標準固有値問題 (Stndrd vlue Prolem を満足する と を求める : 固有値 (eigenvlue) : 固有ベクトル (eigenvector) 一般固有値問題 (Generl
GeoFEM開発の経験から
FrontISTR における並列計算のしくみ < 領域分割に基づく並列 FEM> メッシュ分割 領域分割 領域分割 ( パーティショニングツール ) 全体制御 解析制御 メッシュ hecmw_ctrl.dat 境界条件 材料物性 計算制御パラメータ 可視化パラメータ 領域分割ツール 逐次計算 並列計算 Front ISTR FEM の主な演算 FrontISTR における並列計算のしくみ < 領域分割に基づく並列
cp-7. 配列
cp-7. 配列 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 月の日数配列とは. 配列の宣言. 配列の添え字. 例題 2. ベクトルの内積例題 3. 合計点と平均点例題 4. 棒グラフを描く配列と繰り返し計算の関係例題 5. 行列の和 2 次元配列 2 今日の到達目標
<4D F736F F F696E74202D D F95C097F D834F E F93FC96E5284D F96E291E85F8DE391E52E >
SX-ACE 並列プログラミング入門 (MPI) ( 演習補足資料 ) 大阪大学サイバーメディアセンター日本電気株式会社 演習問題の構成 ディレクトリ構成 MPI/ -- practice_1 演習問題 1 -- practice_2 演習問題 2 -- practice_3 演習問題 3 -- practice_4 演習問題 4 -- practice_5 演習問題 5 -- practice_6
09.pptx
講義内容 数値解析 第 9 回 5 年 6 月 7 日 水 理学部物理学科情報理学コース. 非線形方程式の数値解法. はじめに. 分法. 補間法.4 ニュートン法.4. 多変数問題への応用.4. ニュートン法の収束性. 連立 次方程式の解法. 序論と行列計算の基礎. ガウスの消去法. 重対角行列の場合の解法項目を変更しました.4 LU 分解法.5 特異値分解法.6 共役勾配法.7 反復法.7. ヤコビ法.7.
untitled
I 9 MPI (II) 2012 6 14 .. MPI. 1-3 sum100.f90 4 istart=myrank*25+1 iend=(myrank+1)*25 0 1 2 3 mpi_recv 3 isum1 1 isum /tmp/120614/sum100_4.f90 program sum100_4 use mpi implicit none integer :: i,istart,iend,isum,isum1,ip
untitled
RIKEN AICS Summer School 3 4 MPI 2012 8 8 1 6 MPI MPI 2 allocatable 2 Fox mpi_sendrecv 3 3 FFT mpi_alltoall MPI_PROC_NULL 4 FX10 /home/guest/guest07/school/ 5 1 A (i, j) i+j x i i y = Ax A x y y 1 y i
連立方程式の解法
連立方程式の解法連立方程式をエクセルを用いて解く方法は以下の 2 種類が考えられます 1) エクセルの行列関数を用いる 2) VBA でヤコビ法やガウスザイデル法を用いる ここでは両方について説明します 1) エクセルの行列関数を用いる方法エクセルは表計算ですから行と列に並んだ数値を扱うのは得意です 連立方程式は次のように行列を用いて表すことができます 連立方程式が行列形式で表されることを考慮して解法を考えてみます
板バネの元は固定にします x[0] は常に0です : > x[0]:=t->0; (1.2) 初期値の設定をします 以降 for 文処理のため 空集合を生成しておきます : > init:={}: 30 番目 ( 端 ) 以外については 初期高さおよび初速は全て 0 にします 初期高さを x[j]
機械振動論固有振動と振動モード 本事例では 板バネを解析対象として 数値計算 ( シミュレーション ) と固有値問題を解くことにより振動解析を行っています 実際の振動は振動モードと呼ばれる特定パターンが複数組み合わされますが 各振動モードによる振動に分けて解析を行うことでその現象を捉え易くすることが出来ます そこで 本事例では アニメーションを活用した解析結果の可視化も取り入れています 板バネの振動
Microsoft PowerPoint _MPI-03.pptx
計算科学演習 Ⅰ ( 第 11 回 ) MPI を いた並列計算 (III) 神戸大学大学院システム情報学研究科横川三津夫 [email protected] 2014/07/03 計算科学演習 Ⅰ:MPI を用いた並列計算 (III) 1 2014/07/03 計算科学演習 Ⅰ:MPI を用いた並列計算 (III) 2 今週の講義の概要 1. 前回課題の解説 2. 部分配列とローカルインデックス
演習2
神戸市立工業高等専門学校電気工学科 / 電子工学科専門科目 数値解析 2017.6.2 演習 2 山浦剛 ([email protected]) 講義資料ページ h t t p://clim ate.aic s. riken. jp/m embers/yamaura/num erical_analysis. html 曲線の推定 N 次多項式ラグランジュ補間 y = p N x = σ N x x
Microsoft Word _001b_hecmw_PC_cluster_201_howtodevelop.doc
RSS2108-PJ7- ユーサ マニュアル -001b 文部科学省次世代 IT 基盤構築のための研究開発 革新的シミュレーションソフトウエアの研究開発 RSS21 フリーソフトウエア HEC ミドルウェア (HEC-MW) PC クラスタ用ライブラリ型 HEC-MW (hecmw-pc-cluster) バージョン 2.01 HEC-MW を用いたプログラム作成手法 本ソフトウェアは文部科学省次世代
gengo1-11
関数の再帰定義 自然数 n の階乗 n! を計算する関数を定義してみる 引数は整数 返却値も整数 n! = 1*2*3*... * (n 1)*n である ただし 0! = 1 とする int factorial(int n) int i, tmp=1; if( n>0 ) for(i=1; i
JavaプログラミングⅠ
Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double
行列、ベクトル
行列 (Mtri) と行列式 (Determinnt). 行列 (Mtri) の演算. 和 差 積.. 行列とは.. 行列の和差 ( 加減算 ).. 行列の積 ( 乗算 ). 転置行列 対称行列 正方行列. 単位行列. 行列式 (Determinnt) と逆行列. 行列式. 逆行列. 多元一次連立方程式のコンピュータによる解法. コンピュータによる逆行列の計算.. 定数項の異なる複数の方程式.. 逆行列の計算
memo
数理情報工学特論第一 機械学習とデータマイニング 4 章 : 教師なし学習 3 かしまひさし 鹿島久嗣 ( 数理 6 研 ) [email protected].~ DEPARTMENT OF MATHEMATICAL INFORMATICS 1 グラフィカルモデルについて学びます グラフィカルモデル グラフィカルラッソ グラフィカルラッソの推定アルゴリズム 2 グラフィカルモデル 3 教師なし学習の主要タスクは
情報処理概論(第二日目)
情報処理概論 工学部物質科学工学科応用化学コース機能物質化学クラス 第 8 回 2005 年 6 月 9 日 前回の演習の解答例 多項式の計算 ( 前半 ): program poly implicit none integer, parameter :: number = 5 real(8), dimension(0:number) :: a real(8) :: x, total integer
Microsoft PowerPoint - Eigen.ppt [互換モード]
固有値解析 中島研吾 東京大学情報基盤センター同大学院情報理工学系研究科数理情報学専攻数値解析 ( 科目番号 58) 行列の固有値問題 べき乗法 対称行列の固有値計算法 Eige Eige A 行列の固有値問題 標準固有値問題 (Stdrd Eigevle Problem を満足する と を求める : 固有値 (eigevle) : 固有ベクトル (eigevetor) 一般固有値問題 (Geerl
Microsoft PowerPoint - 10.pptx
m u. 固有値とその応用 8/7/( 水 ). 固有値とその応用 固有値と固有ベクトル 行列による写像から固有ベクトルへ m m 行列 によって線形写像 f : R R が表せることを見てきた ここでは 次元平面の行列による写像を調べる とし 写像 f : を考える R R まず 単位ベクトルの像 u y y f : R R u u, u この事から 線形写像の性質を用いると 次の格子上の点全ての写像先が求まる
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき
C言語による数値計算プログラミング演習
5. 行列の固有値問題 n n 正方行列 A に対する n 個の固有値 λ i (i=1,,,n) と対応する固有ベクトル u i は次式を満たす Au = λ u i i i a11 a1 L a1 n u1i a1 a a n u i A =, ui = M O M M an 1 an L ann uni これらはまとめて, つぎのように書ける 5.1 ヤコビ法 = Λ, = [ u1 u u
スライド 1
大規模連立一次方程式に対する 高並列前処理技術について 今倉暁筑波大学計算科学研究センター 共同研究者櫻井鉄也 ( 筑波大学 ), 住吉光介 ( 沼津高専 ), 松古栄夫 (KEK) 1 /49 本日のトピック 大規模連立一次方程式 のための ( 前処理付き )Krylov 部分空間法の概略について紹介する. 高並列性を考慮した前処理として, 反復法を用いた重み付き定常反復型前処理を導入し, そのパラメータを最適化手法を提案
PowerPoint プレゼンテーション
Computer simulations create the future 2015 年度第 1 回 AICS 公開ソフト講習会 K MapReduce ハンズオン 滝澤真一朗松田元彦丸山直也 理化学研究所計算科学研究機構プログラム構成モデル研究チーム 1 RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE KMR の導入方法を学ぶ 目的 KMRRUN
Microsoft PowerPoint - 2_FrontISTRと利用可能なソフトウェア.pptx
東京大学本郷キャンパス 工学部8号館2階222中会議室 13:30-14:00 FrontISTRと利用可能なソフトウェア 2017年4月28日 第35回FrontISTR研究会 FrontISTRの並列計算ハンズオン 精度検証から並列性能評価まで 観測された物理現象 物理モデル ( 支配方程式 ) 連続体の運動を支配する偏微分方程式 離散化手法 ( 有限要素法, 差分法など ) 代数的な数理モデル
±é½¬£²¡§£Í£Ð£É½éÊâ
2012 8 7 1 / 52 MPI Hello World I ( ) Hello World II ( ) I ( ) II ( ) ( sendrecv) π ( ) MPI fortran C wget http://www.na.scitec.kobe-u.ac.jp/ yaguchi/riken2012/enshu2.zip unzip enshu2.zip 2 / 52 FORTRAN
¥Ñ¥Ã¥±¡¼¥¸ Rhpc ¤Î¾õ¶·
Rhpc COM-ONE 2015 R 27 12 5 1 / 29 1 2 Rhpc 3 forign MPI 4 Windows 5 2 / 29 1 2 Rhpc 3 forign MPI 4 Windows 5 3 / 29 Rhpc, R HPC Rhpc, ( ), snow..., Rhpc worker call Rhpc lapply 4 / 29 1 2 Rhpc 3 forign
Microsoft Word - VBA基礎(6).docx
あるクラスの算数の平均点と理科の平均点を読み込み 総点を計算するプログラムを考えてみましょう 一クラスだけ読み込む場合は test50 のようなプログラムになります プログラムの流れとしては非常に簡単です Sub test50() a = InputBox(" バナナ組の算数の平均点を入力してください ") b = InputBox(" バナナ組の理科の平均点を入力してください ") MsgBox
OpenFOAM(R) ソースコード入門 pt1 熱伝導方程式の解法から有限体積法の実装について考える 前編 : 有限体積法の基礎確認 2013/11/17 オープンCAE 富山富山県立大学中川慎二
OpenFOAM(R) ソースコード入門 pt1 熱伝導方程式の解法から有限体積法の実装について考える 前編 : 有限体積法の基礎確認 2013/11/17 オープンCAE 勉強会 @ 富山富山県立大学中川慎二 * OpenFOAM のソースコードでは, 基礎式を偏微分方程式の形で記述する.OpenFOAM 内部では, 有限体積法を使ってこの微分方程式を解いている. どのようにして, 有限体積法に基づく離散化が実現されているのか,
Microsoft PowerPoint - OS07.pptx
この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 主記憶管理 主記憶管理基礎 パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 ([email protected]) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 OS
コンピュータグラフィックス第6回
コンピュータグラフィックス 第 6 回 モデリング技法 1 ~3 次元形状表現 ~ 理工学部 兼任講師藤堂英樹 本日の講義内容 モデリング技法 1 様々な形状モデル 曲線 曲面 2014/11/10 コンピュータグラフィックス 2 CG 制作の主なワークフロー 3DCG ソフトウェアの場合 モデリング カメラ シーン アニメーション テクスチャ 質感 ライティング 画像生成 2014/11/10 コンピュータグラフィックス
Microsoft PowerPoint - 09.pptx
情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源
コードのチューニング
OpenMP による並列化実装 八木学 ( 理化学研究所計算科学研究センター ) KOBE HPC Spring School 2019 2019 年 3 月 14 日 スレッド並列とプロセス並列 スレッド並列 OpenMP 自動並列化 プロセス並列 MPI プロセス プロセス プロセス スレッドスレッドスレッドスレッド メモリ メモリ プロセス間通信 Private Private Private
Fortran 勉強会 第 5 回 辻野智紀
Fortran 勉強会 第 5 回 辻野智紀 今回のお品書き サブルーチンの分割コンパイル ライブラリ 静的ライブラリ 動的ライブラリ モジュール その前に 以下の URL から STPK ライブラリをインストールしておいて下さい. http://www.gfd-dennou.org/library/davis/stpk 前回参加された方はインストール済みのはず. サブルーチンの分割コンパイル サブルーチンの独立化
演習1: 演習準備
演習 1: 演習準備 2013 年 8 月 6 日神戸大学大学院システム情報学研究科森下浩二 1 演習 1 の内容 神戸大 X10(π-omputer) について システム概要 ログイン方法 コンパイルとジョブ実行方法 OpenMP の演習 ( 入門編 ) 1. parallel 構文 実行時ライブラリ関数 2. ループ構文 3. shared 節 private 節 4. reduction 節
Microsoft Word - 実験4_FPGA実験2_2015
FPGA の実験 Ⅱ 1. 目的 (1)FPGA を用いて組合せ回路や順序回路を設計する方法を理解する (2) スイッチや表示器の動作を理解し 入出力信号を正しく扱う 2. スケジュール項目 FPGAの実験 Ⅱ( その1) FPGAの実験 Ⅱ( その2) FPGAの実験 Ⅱ( その3) FPGAの実験 Ⅱ( その4) FPGAの実験 Ⅱ( その5) FPGAの実験 Ⅱ( その6) FPGAの実験 Ⅱ(
Microsoft PowerPoint - シミュレーション工学-2010-第1回.ppt
シミュレーション工学 ( 後半 ) 東京大学人工物工学研究センター 鈴木克幸 CA( Compter Aded geerg ) r. Jaso Lemo (SC, 98) 設計者が解析ツールを使いこなすことにより 設計の評価 設計の質の向上を図る geerg の本質の 計算機による支援 (CA CAM などより広い名前 ) 様々な汎用ソフトの登場 工業製品の設計に不可欠のツール 構造解析 流体解析
Microsoft PowerPoint - H22制御工学I-10回.ppt
制御工学 I 第 回 安定性 ラウス, フルビッツの安定判別 平成 年 6 月 日 /6/ 授業の予定 制御工学概論 ( 回 ) 制御技術は現在様々な工学分野において重要な基本技術となっている 工学における制御工学の位置づけと歴史について説明する さらに 制御システムの基本構成と種類を紹介する ラプラス変換 ( 回 ) 制御工学 特に古典制御ではラプラス変換が重要な役割を果たしている ラプラス変換と逆ラプラス変換の定義を紹介し
JavaプログラミングⅠ
Java プログラミング Ⅰ 11 回目多次元配列 今日の講義で学ぶ内容 2 次元配列とその使い方 不規則な 2 次元配列.length 修飾子 2 次元配列 1 次元配列配列要素が直線的に並ぶ配列です次のように考えると分かりやすいでしょう 2 次元配列配列要素が平面的に並ぶ配列です次のように考えると分かりやすいでしょう 2 次元以上の配列のことを多次元配列といいます 2 次元配列の利用 2 次元配列の利用手順配列変数の宣言
PowerPoint Presentation
付録 2 2 次元アフィン変換 直交変換 たたみ込み 1.2 次元のアフィン変換 座標 (x,y ) を (x,y) に移すことを 2 次元での変換. 特に, 変換が と書けるとき, アフィン変換, アフィン変換は, その 1 次の項による変換 と 0 次の項による変換 アフィン変換 0 次の項は平行移動 1 次の項は座標 (x, y ) をベクトルと考えて とすれば このようなもの 2 次元ベクトルの線形写像
例 e 指数関数的に減衰する信号を h( a < + a a すると, それらのラプラス変換は, H ( ) { e } e インパルス応答が h( a < ( ただし a >, U( ) { } となるシステムにステップ信号 ( y( のラプラス変換 Y () は, Y ( ) H ( ) X (
第 週ラプラス変換 教科書 p.34~ 目標ラプラス変換の定義と意味を理解する フーリエ変換や Z 変換と並ぶ 信号解析やシステム設計における重要なツール ラプラス変換は波動現象や電気回路など様々な分野で 微分方程式を解くために利用されてきた ラプラス変換を用いることで微分方程式は代数方程式に変換される また 工学上使われる主要な関数のラプラス変換は簡単な形の関数で表されるので これを ラプラス変換表
第9回 配列(array)型の変数
第 12 回 配列型の変数 情報処理演習 ( テキスト : 第 4 章, 第 8 章 ) 今日の内容 1. 配列の必要性 2. 配列の宣言 3. 配列変数のイメージ 4. 配列変数を使用した例 5. 範囲を超えた添字を使うと? 6. 多次元配列変数 7. 多次元配列変数を使用した例 8. データのソーティング 9. 今日の練習問題 多数のデータ処理 1. 配列の必要性 ( テキスト 31 ページ )
数学の世界
東京女子大学文理学部数学の世界 (2002 年度 ) 永島孝 17 6 行列式の基本法則と効率的な計算法 基本法則 三次以上の行列式についても, 二次の場合と同様な法則がなりたつ ここには三次の場合を例示するが, 四次以上でも同様である 1 単位行列の行列式の値は 1 である すなわち 1 0 0 0 1 0 1 0 0 1 2 二つの列を入れ替えると行列式の値は 1 倍になる 例えば a 13 a
第2回シミュレーションスクール - 第2日: 熱拡散方程式のプログラムをつくろう
第 2 回シミュレーションスクール 第 2 日 : 熱拡散方程式のプログラムをつくろう陰山聡 政田洋平 神戸大学大学院システム情報学研究科計算科学専攻 2010.12.07 具体的な例題を一つに絞る 2 次元熱伝導問題 実習中心 各自自分のコードを 1 から作る そのコードを少しづつ改良していく 最後は並列化されたコードをスーパーコンピュータに 初歩から ゆっくり 丁寧に 網羅的な紹介よりも 基礎的な手法と考え方の習得を
コンピュータグラフィックス第8回
コンピュータグラフィックス 第 8 回 レンダリング技法 1 ~ 基礎と概要, 隠面消去 ~ 理工学部 兼任講師藤堂英樹 レポート提出状況 課題 1 の選択が多い (STAND BY ME ドラえもん ) 体験演習型 ( 課題 3, 課題 4) の選択も多い 内訳 課題 1 課題 2 課題 3 課題 4 課題 5 2014/11/24 コンピュータグラフィックス 2 次回レポートの体験演習型 メタセコイア,
PowerPoint プレゼンテーション
講座準備 講座資料は次の URL から DL 可能 https://goo.gl/jnrfth 1 ポインタ講座 2017/01/06,09 fumi 2 はじめに ポインタはC 言語において理解が難しいとされる そのポインタを理解することを目的とする 講座は1 日で行うので 詳しいことは調べること 3 はじめに みなさん復習はしましたか? 4 & 演算子 & 演算子を使うと 変数のアドレスが得られる
Microsoft Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc
2.3. アプリ性能 2.3.1. Intel クアッドコア CPU でのベンチマーク 東京海洋大学吉岡諭 1. はじめにこの数年でマルチコア CPU の普及が進んできた x86 系の CPU でも Intel と AD がデュアルコア クアッドコアの CPU を次々と市場に送り出していて それらが PC クラスタの CPU として採用され HPC に活用されている ここでは Intel クアッドコア
フローチャートの書き方
アルゴリズム ( 算法 ) 入門 1 プログラムの作成 機械工学専攻泉聡志 http://masudahp.web.fc2.com/flowchart/index.html 参照 1 何をどのように処理させたいのか どのようなデータを入力し どのような結果を出力させるのか問題を明確にする 2 問題の内容どおりに処理させるための手順を考える ( フローチャートの作成 )~アルゴリズム( 算法 ) の作成
要旨 : データステップ及び SGPLOT プロシジャにおける POLYGON/TEXT ステートメントを利用した SAS プログラムステップフローチャートを生成する SAS プログラムを紹介する キーワード :SGPLOT, フローチャート, 可視化 2
SAS プログラムの可視化 - SAS プログラムステップフローチャート生成プログラムの紹介 - 福田裕章 1 ( 1 MSD 株式会社 ) Visualization of SAS programs Hiroaki Fukuda MSD K.K. 要旨 : データステップ及び SGPLOT プロシジャにおける POLYGON/TEXT ステートメントを利用した SAS プログラムステップフローチャートを生成する
PowerPoint プレゼンテーション
Computer simulations create the future 性能解析ツール Scalasca Hands-On セットアップ 2014 年 3 月 7 日 中村朋健理化学研究所計算科学研究機構 RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE 作業環境の最初 作業環境 /home/ss/xxx/scalasca/npb_original/
