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.0

mats.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.6

mats.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.5

ldbase.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.4

test_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.3

mats.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.2

matrix.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.1

matrix<bool>をサポートしました.
matrix<bool>はvector<bool>を使っています.特殊化して実装しています.


2017/1/28 Upload Version Alpha 0.0.0

Download Version Alpha 0.0.0

初版です。