VCP Libraryのダウンロード
基本的にはVCP Libraryを手動でダウンロードせずに インストーラをお使いになることをお勧めします.
インストーラの使い方についてはここをみて下さい.
(↑を見れば下記のインストーラを手動でダウンロードせずにできるはずです!)
GitHub
バグフィックスなどの対応が速いのはGitHubです.
インストーラーを使わずに,手動でインストールする場合はなるべくGitHubからダウンロードして下さい.
2020/12/09 Upload Version Alpha 0.1.1
Download Version Alpha 0.1.1
fourier_basis.hpp: 1次元フーリエ基底を張るためのクラス
fourier_series.hpp: フーリエ級数の演算クラス
sincos_class.hpp: fourier_series.hppの下請け
ldbase.hpp: 拡張: 区間係数を持つ解に対しても最大値・最小値を求められるように,funcメソッドをイコール代入からconvert代入に変更,Mode=1でも利用可能にした.
minimatrix.hpp: psa型などの符号判定を持たない型用の行列ポリシーminimats< _T >.matrixクラスの部分特殊化.
bugfix: vera0.1.0においてmatrix_assist.hppにてkvのintervalを要求していたバグを解消
その他: test_PDEのファイルを論文の結果に変更
test_Emden_Numerische_Mathematik2020.cpp:
Kouta Sekine, Mitsuhiro T. Nakao, and Shin'ichi Oishi: “A new formulation using the Schur complement for the numerical existence proof of solutions to elliptic problems: without direct estimation for an inverse of the linearized operator”, Numer. Math., 146, 907–926, Oct., 2020. doi.org/10.1007/s00211-020-01155-7.
test_Lotka_Volterra2_NOLTA2021.cpp:
Kouta Sekine, Mitsuhiro T. Nakao, and Shin'ichi Oishi: “Numerical verification methods for a system of elliptic PDEs, and their software library”, to appear in NOLTA, IEICE, Vol.12, No.1, Jan., 2021.
2019/10/02 Upload Version Alpha 0.1.0
Download Version Alpha 0.1.0mats.hpp: normtwoメソッドを追加.2ノルムの計算をする.全固有値求めている.multmmとeigsymを使って実装しているため,BLASを使うポリシでは自動で高速に.(normone,norminfと違う実装法) matrix.hpp: normtwo関数を追加. imats_assist.hpp: 区間行列に対するmag関数を追加.mag(A, B), Bはinterval型ではない. imats_assist.hpp: 区間行列に対するintervalmag関数を追加.B = intervalmag(A), Bはinterval型. ldbase.hpp: 拡張: 区間係数を持つ解に対しても最大値・最小値を求められるように,funcメソッドをイコール代入からconvert代入に変更,Mode=1でも利用可能にした.Mode=0にてLehmann-Goerisch methodを実装(テスト段階). minimatrix.hpp: psa型などの符号判定を持たない型用の行列ポリシーminimats.matrixクラスの部分特殊化.(New) irk_legendre_parameter.hpp: Implicit Runge-Kuttaのルジャンドル法のブッチャー表を作成するクラス(New) implicit_rk.hpp: Implicit Runge-Kuttaをブッチャー表が与えられたら実行するクラス.デフォルトはルジャンドル法.近似解を求められる.(New) test_IRK_Legendre_approximate.cpp: implicit_rk.hppの使用例1.単純な2変数のODEの近似解を求める.(New) test_parabolic_Emden_approximate.cpp: ldbase.hppとimplicit_rk.hppを使用してEmden方程式の初期値-境界値問題の近似解を求める.(New) test_Allen_Cahn.cpp: Allen_Cahn方程式の定常解の線形化作用素の逆作用素ノルム評価の計算例.(New) test_Lotka_Volterra2.cpp: Lotka_Volterra方程式の定常解の線形化作用素に対しLehmann-Goerisch methodを使用する方法(New). benchmark.cpp: ベンチマークを計測するためのソースコード.(New) test_interval_matrix.cpp: mag関数,intervalmag関数の使い方.(New) test_minimatrix.cpp: minimatrix.hppの使い方.(New)
2018/06/14 Upload Version Alpha 0.0.6
Download Version Alpha 0.0.6mats.hpp: addmmなどのsubsmmA, subsmmBの行列サイズの判定条件のミスを修正(Bug fixes) mats.hpp: 表示関数operator<<のconstつけ忘れを修正(Bug fixes) matrix.hpp: 表示関数operator<<のconstつけ忘れを修正(Bug fixes) imats.hpp: linearsolveの無駄な計算が行われていた箇所を修正(Bug fixes) imats.hpp: linearsolveにR(Ax - b)の計算ミスを修正(Bug fixes) imats.hpp: linearsolveのメモリの節約(Rとmbのclear)(Optimization) imats.hpp: eigsymgeの精度保証アルゴリズムを変更(Modify) pidblas.hpp: 内部で使用するmul_m_imとmul_im_mにlCとuCのミスを修正(Bug fixes) ldbase.hpp: LegendrePointFuncを並列化(Optimization) ldbase.hpp: Legendre積分をlegendre_integral.hppに移動 legendre_integral.hpp: Legendre積分の分点と重みのクラスinterval_ld_weightpoint(New) newton.hpp: Newton法のクラス.クラスを継承してメソッドfとdfをオーバーライドで使用(New) test_newton1.cpp: newton.hppの使用例1.単純な1変数の非線形方程式の近似解を求める.(New) test_newton2_Emden.cpp: newton.hppの使用例2.定常Emden方程式の近似解をnewton.hppで求める.(New)
2017/12/25 Upload Version Alpha 0.0.5
Download Version Alpha 0.0.5ldbase.hpp: 残差モードを追加,Ritz射影の誤差定数の追加 test_Emden.cpp: 残差とLipschitz定数の計算を追加, Newton-Kantorovichの定理による精度保証の追加 test_Gray_Scott.cpp: 残差とLipschitz定数の計算を追加 pidblas.hpp: kvのhwround.hppをinclude(kvのAVX512機能利用時のため) imats_assist.hpp: 区間行列の強制対称化関数compsymを追加 matrix_assist.hpp: vcp_metafunction.cppをinclude make_Matrix_ldbase_on_interval.hpp: 必要なくなったため廃止 test_make_Matrix_ldbase_on_interval.cpp: 必要なくなったため廃止
2017/11/01 Upload Version Alpha 0.0.4
Download Version Alpha 0.0.4test_Emden.cpp : Newton法の終了後の近似解uhをGeneratorに差し戻し忘れを修正。(Bug fixes) test_Gray_Scott.cpp : Newton法の終了後の近似解uhをGeneratorに差し戻し忘れを修正。(Bug fixes) vcp_timer.hpp : 実行時間計測用のクラスを作成。C++11のchronoを使用。
2017/6/19 Upload Version Alpha 0.0.3
Download Version Alpha 0.0.3mats.hpp : rand関数の自動OpenMP化を無効。(Bug fixes) vcp_metafunc.hpp : is_intervalなどのメタ関数を追加。 vcp_psa_assist.hpp : kv::psa型の値域を求める際の関数psa_valueとpsa_value_Hornerを追加。 ldbase.hpp : 近似解の最大値,最小値を求める関数global_maxとglobal_minを追加。 License : BSD 3-clause "New" or "Revised" Licenseを付加。
2017/5/24 Upload Version Alpha 0.0.2
Download Version Alpha 0.0.2matrix.hpp :: vercat, horzcat関数の可変長引数の終了条件に引数が一つの場合を追加。 vcp_fio.hpp :: std::string型を追加。 ldbase.hpp :: Legendre多項式に対し各点における値域を求める関数を追加(近似解の描画用)。
2017/3/23 Upload Version Alpha 0.0.1
Download Version Alpha 0.0.1matrix<bool>をサポートしました. matrix<bool>はvector<bool>を使っています.特殊化して実装しています.
2017/1/28 Upload Version Alpha 0.0.0
Download Version Alpha 0.0.0初版です。