数値解析2 サポートページ
幸谷 智紀
最終更新日: 2020-09-23 (Thu)
更新情報
- [2020-09-23 (Thu)] 講義資料PDFファイルアップロード開始
- [2020-01-28 (Tue)] 講義資料PDFファイル作成
- [2019-10-07 (Mon)] Virtual Boxリンク張りました。
- [2019-03-22 (Mon)] 全面改稿。プログラムも見直しました。
- 多倍長数値計算とは?
- 円周率表示: mpfr_pi_simple.c
- Web版
- Cプログラム: logistic.c
- C++プログラム:
logistic_mpreal.cpp,
logistic_dd.cpp,
logistic_qd.cpp
- CプログラムとC++プログラム
- Linux実習環境構築1: TeraTerm
- 共有フォルダへのアクセス → エクスプローラから"\\172.16.xxx.xxx\mpnaXXXXX"。アクセスできない時は下記のように設定してみること。
- コントロールパネル→ユーザーアカウント(Win10は「ユーザーアカウントとファミリーセーフティ」)→資格情報マネージャー→Windows資格情報の管理
- サーバ名(172.16.xxx.xx),ユーザ名(mpnaXXXXX),パスワード(指定のもの)を下記のように記入し,「OK」ボタンをクリックして保存
←クリックして拡大
- 再度,エクスプローラから"\\172.16.xxx.xxx\mpnaXXXXX"にアクセス
- Linux実習環境構築2: Virtual Box + Ubuntuイメージ(学内ローカル) ID: cs-user, Password: sist#csuser2019
- Linuxコンパイル方法(GMP使用プログラムの場合)
- [C] コマンドラインから "gcc Cソースファイル名1 Cソースファイル名2 ... -L/usr/local/lib -lgmp" → "./a.out"
- [C] コマンドラインから "gcc Cソースファイル名1 Cソースファイル名2 ... -L/usr/local/lib -lgmp -o 実行ファイル名" → "./実行ファイル名"
- [C++] コマンドラインから "g++ C++ソースファイル名1 C++ソースファイル名2 ... -L/usr/local/lib -lgmpxx -lgmp" → "./a.out"
- [C**] コマンドラインから "g++ C++ソースファイル名1 C++ソースファイル名2 ... -L/usr/local/lib -lgmpxx -lgmp -o 実行ファイル名" → "./実行ファイル名"
- コンピュータにおける数値演算の基礎
- Cプログラム:
logistic_err.c
,
logistic_f_err.c
コンピュータの内部と演算の高速化手法
- 時間計測用:
get_secv.h,
get_sec.cpp
- 単純行列積に基づく行列乗算: matmul_simple_omp.cpp
- ブロック化アルゴリズム・Strassenのアルゴリズム適用の行列乗算:
matmul_block.h,
matmul_block.cpp,
matmul_winograd.cpp
- 分割統治法の例: クイックソート(YouTube)
GNU MP---多倍長整数演算(1/2)
- Cプログラム:
mpn_sample_full.c,
mpz_input.c,
- C++プログラム:
mpz_test.cpp,
- 練習問題解答:
mpz_input_gcd_lcm.c(C),
mpz_input_gcd_lcm.cpp(C++),
mpz_prime_factorization.c(C),
mpz_prime_factorization.cpp(C++)
GNU MP---多倍長整数演算(2/2)
- Cプログラム:
mpq_input.c
- C++プログラム:
mpq_test.cpp
RSA暗号
- RSA暗号実装例: rsa.c
多倍長浮動小数点演算---GMPのMPF型とMPFR/GMPの機能
- Linuxコンパイル方法(MPFR/GMP使用プログラムの場合)
- [C] コマンドラインから "gcc Cソースファイル名1 Cソースファイル名2 ... -L/usr/local/lib -lmpfr -lgmp" → "./a.out"
- [C] コマンドラインから "gcc Cソースファイル名1 Cソースファイル名2 ... -L/usr/local/lib -lmpfr -lgmp -o 実行ファイル名" → "./実行ファイル名"
- [C++] コマンドラインから "g++ C++ソースファイル名1 C++ソースファイル名2 ... -lmpfr -lgmp" → "./a.out"
- [C++] コマンドラインから "g++ C++ソースファイル名1 C++ソースファイル名2 ... -lmpfr -lgmp -o 実行ファイル名" → "./実行ファイル名"
- Cプログラム:
mpf_template.c,
mpf_relerr.c,
mpfr_relerr.c,
test_mpc.c,
logistic_mpfi.c,
logistic_arb.c
- C++プログラム:
mpf_templete.cpp,
mpf_relerr.cpp,
mpfr_relerr.cpp,
complex_mpreal.cpp
MPFR C++ Wrapper演習
マルチコンポーネント型ライブラリQD
- Linuxコンパイル方法(QD使用プログラムの場合)
- [C++] コマンドラインから "g++ C++ソースファイル名1 C++ソースファイル名2 ... -L/usr/local/lib -lqd" → "./a.out"
- [C++] コマンドラインから "g++ C++ソースファイル名1 C++ソースファイル名2 ... -L/usr/local/lib -lqd -o 実行ファイル名" → "./実行ファイル名"
- C++プログラム:
dd_test.cpp,
qd_test.cpp
複素数演算の使い方
基本線型計算
- Linuxコンパイル方法(OpenMP使用プログラムの場合)
- [C] コマンドラインから "gcc -openmp Cソースファイル名1 ... "
- Cプログラム:
linear_c.h,
- C++プログラム:
template_linear.h,
連立一次方程式の解法
- Linuxコンパイル方法(OpenMP使用プログラムの場合)
- [C] コマンドラインから "gcc -openmp Cソースファイル名1 ... "
- Cプログラム:
cg_d.c,
cg_mpfr.c,
linear_c_omp.h,
cg_double_omp.c,
cg_mpfr_omp.c
- C++プログラム:
cg_d.cpp,
cg_dd.cpp,
cg_qd.cpp,
cg_mpreal.cpp,
lu_mpreal.cpp
べき乗法と逆べき乗法
- Linuxコンパイル方法(OpenMP使用プログラムの場合)
- [C] コマンドラインから "gcc -openmp Cソースファイル名1 ... "
- Cプログラム:
- C++プログラム:
混合精度反復改良法
- C++プログラム:
test_iterative_ref_dd.cpp,
test_iterative_ref_qd.cpp,
test_iterative_ref_mpreal.cpp
参考URL
戻る
Copyright (c) 2016-2020 Tomonori Kouya, All rights reserved.