NAG Library for Python
Pythonから利用可能なNAG数値計算ライブラリです。1,000以上の科学技術計算および統計計算の関数を提供し、特に数理最適化の関数は、非常に優れた収束性能を有しています。提供されるアルゴリズムは、世界中のさまざまな研究機関、金融機関、大学などで広く使われています。また、アップデートもアクティブに行われており、新しいアルゴリズムも随時追加されています。Windows、Linux、Macで利用できます。
Mark30 2024年5月14日発売- NM601CS NL(ノードロック)Mark30 Win 64bit/PN-PYW6I30XEL-A
-
¥ 211,200 本体価格 ¥ 192,000
※ 1ライセンスにつき特定の1台のマシンで利用可能
- NM601CP USBキー Mark30 Win 64bit/PU-PYW6I30XEL-A
-
¥ 250,800 本体価格 ¥ 228,000
※ 専用のUSBキーが差し込まれているマシンでのみ利用可能
- NM601CL NL(ノードロック)Mark30 Linux 64bit/PN-PYL6I30XVL-A
-
¥ 211,200 本体価格 ¥ 192,000
※ 1ライセンスにつき特定の1台のマシンで利用可能
- NM601D8 NL(ノードロック)Mark30 Mac 64bit/PN-PYMI630XBL-A
-
¥ 211,200 本体価格 ¥ 192,000
※ 1ライセンスにつき特定の1台のマシンで利用可能
- NM60122 NAG Library for Python 年間保守契約( PC-NL)
-
¥ 42,240 本体価格 ¥ 38,400
※ 任意で契約できる保守です。
- NM60125 NAG Library for Python 年間保守契約( PC-USB)
-
¥ 50,160 本体価格 ¥ 45,600
※ 任意で契約できる保守です。
価格は予告なく変更される場合があります。
インストール条件については、各ソフトウェアの利用許諾書を必ずご覧ください。
マークが付いている商品のご注文はWEBからは出来ません。詳しくはこちらをご覧ください。
- 製品特徴
NAG Library for Python
科学技術計算や統計計算で必要とされる幅広い分野の関数を提供します。
ユーザは、Pythonの環境から簡単にそれらの関数にアクセスできます。Pythonには、無償で利用可能なNumpyやScipyなどの優れた計算ライブラリが存在しますが、NAG Library for Pythonには、それらには含まれないアルゴリズムが含まれています。特に、数理最適化分野のアルゴリズムは、多くのユーザから高い評価を得ています。主な提供機能
・最適化(関数の最小化/最大化)
・常微分方程式、偏微分方程式
・ウェーブレット変換
・オプションプライシングの公式
・PLS 回帰、リッジ回帰
・Nearest Correlation Matrix
・分位数
・メッシュ生成
・数値積分
・非線形方程式の根
・密(dense)/帯(banded)/疎(sparse)線形方程式
・固有値問題
・線形/非線形最小二乗問題
・特殊関数
・曲線/曲面のあてはめ、補間
・大規模(スパース)固有値問題
・大規模(スパース)連立一次方程式
・擬似乱数
・統計データの単純計算
・相関/回帰分析
・多変量解析
・分散分析、分割表分析
・時系列解析
・ノンパラメトリック統計
・正規コピュラ、 t コピュラ
最適化関数の優れた収束性能
以下は大規模非線形問題を解くために提供されているNAGの関数 handle_solve_bounds_foas(E04KF)と、 よく知られているアルゴリズム L-BFGS-B の収束性能を比較したものです。
この比較は、最適化のベンチマークなどで良く利用されるCUTEst に含まれる130個の非線形計画問題(境界制約あり、なし)を用いて行われ、計算時間と勾配評価回数の2点について調査しました。
計算時間
勾配評価回数
縦軸は含まれる問題の総数に対する比率を表し、横軸は結果が良かった方と比較して計算時間が2の何乗倍であったかを表しています。 縦軸は含まれる問題の総数に対する比率を表し、横軸は結果が良かった方と比較して勾配評価回数が2の何乗倍であったかを表しています。 上記のグラフから、両ソルバーとも、ほぼ同程度の勾配評価回数であるにも関わらず、NAGの関数は約7割の問題を速く解いていることがわかります。
最適化関数:ノイズが大きくても収束
以下は、NAG Library for Python に含まれている、モデルを基にするデリバティブフリー最適化関数(DFO)と、従来の手法である有限差分の関数について、収束までにかかる関数の評価回数を比較します。
今回比較の対象とした関数は、最適化ベンチマークなどでも良く用いられる、Rosenbrock関数、Genhumps関数、Arwhead関数、およびDqdrtic関数の4つとしました。
現実の問題ではしばしば関数評価が誤差等により不正確になる事を考慮し、数段階の大きさの ノイズを意図的に加えて、収束性能の比較を行いました。有限差分を用いる方法は、比較的小さなノイズにも非常に敏感で、収束しない事が多い一方で、モデルを基にするDFO アルゴリズムはノイズが大きい場合にも堅固で収束性が良いことが示されました。
収束までの関数評価回数
利用例
NAGライブラリ for Pythonのbounds_quasi_func_easy関数を利用して、一般化Rosenbrock関数(以下)の最小化を行う手順を示します。ここでは N=4 の場合についての手順を示しますが、その場合、点 [1,1,1,1] で最小値 0 に到達することが知られています。 1)まず最適化ソルバーをインポートします。
2)目的関数を定義します。目的関数はbounds_quasi_func_easyの引数として渡しますが、ここではラムダ式を用いて定義します。
3)初期値 [1.2,1.0,1.2,1.0] を与えます。
4)境界を与えます。ここでは下限 (bl) を [0,0,0,0]、上限 (bu) を [2,2,2,2]とします。
5)ソルバーを呼び出して問題を解きます。
6)得られた結果を表示します。
- 商品詳細
-
動作環境 ※動作環境の詳細:https://www.nag-j.co.jp/naglib/cl/python/index.htm
※利用可能な環境:https://www.nag-j.co.jp/naglib/environment.htm●任意で年間保守契約可能(1年間単位/最長5年間更新/ライセンスキー破損時の再発行が年1回まで可能/期間内の無償バージョンアップ対応なし)
【インストール条件・購入条件】
【ノードロック(NL)】●ライセンスされたマシンでのみ利用できるマシン固定のライセンス●1台のPCにインストール可能●同時利用1ユーザまで●マシンの変更は保守契約加入時に限り、年1回まで可能 【USBキー】●USBキーが差し込まれているマシンでのみ利用可能/USBキーを差し替えることで複数台のマシンで利用可能販売元: 日本ニューメリカルアルゴリズムズグループ
URL:https://www.nag-j.co.jp/ - ◆ライセンス形態について(メーカーサイト)