トップ サイトマップ
関連情報
ホーム > 製品&サービス > コンサルティングサービス > 自動微分ソリューション

自動微分ソリューション

お客様の問題タイプ、ソフトウェア環境、ハードウェア プラットフォーム向けに最良の自動微分ソリューションを開発、実装、保守します
自動微分とは?

自動微分(英語では、Algorithmic Differentiation、Automatic Differentiation や Computational Differentiationと呼ばれます)は、1次や高次の数学微分係数を計算する機能を 用いて数値シミュレーションプログラムを向上させるための技術です。従来の数値微分と大きく 異なり、自動微分は切り捨てを防ぐことにより、マシンの精度で勾配、ヤコビアンとヘッシアンを 算出します。任意の複雑なシミュレーションのなかで個々の指示文の解析微分法を使用して行います。

自動微分は複雑さに関係なくあらゆる計算プログラムが算術演算(加算、減算、乗算、除算など) や初等関数(log, sin, cos など)を実行するという事実を利用しています。これらの演算に連鎖律 (Chain Rule)を繰り返し利用することにより、任意次数の微分が自動的に計算され、実際の計算の 精度で正確に算出できます。

自動微分について詳しくお知りになりたい方は、自動微分解説ページの 「自動微分とは」をご覧ください。

自動微分は何に役立つか

自動微分は特に最適化、パラメータ同定、非線形方程式、微分方程式の数値積分、さらにこれらを 組み合わせたものに利用されています。

アジョイントモード(あるいはリバースモード)の自動微分は、大規模な感度解析や非線形最適化 において特に関心がもたれています。

何年もかかる計算を数時間で行うことが可能であり、アジョイント自動微分の技術を利用できる問題 に関しては勾配の計算の速度が大幅に速くなります。

NAGが提供するもの

NAG は専門的なヘルプ、サポート、トレーニング及びコンサルティングサービスを提供します。 強力な技術への十分な洞察を提供し、お客様の固有の自動微分アプリケーションに対して頑健性と 効率性を実現します。

お客様の問題タイプ、ソフトウェア環境、ハードウェアプラットフォーム向けに最良の自動微分 ソリューションを開発、実装、保守しますので、ニューメリカルアルゴリズムズグループを信頼 いただけます。

NAG はRWTH Aachen(アーヘン工科大学)と協力しお客様に自動微分のソリューションを提供します。 通常自動微分のプロジェクトでは、トレーニングを含むサービス、お客様自身のコード (C, C++ や Fortran)への自動微分ツールの適用、数値関数の自動微分バージョンの実装を組み合わ せたものを提供しています。

本サービスは有料サービスとして提供いたしております。 本サービスのお問い合わせはコンサルティングサービス・ご相談フォーム をご利用下さい。(ご相談は無料でございます)
なお,弊社製品のNAGライブラリご使用の如何にかかわらず、本サービスをご利用いただけます。

NAGソフトウェアツール

DCO ライブラリ

dco (オーバーロードによる微分コード) ライブラリは、演算子や関数のオーバーロード技術 を使用している、ランタイムの自動微分ライブラリです。FortranのほかにC++で提供 されており、任意のプログラムを1次及び高次の微分コードに変換します。このライブラリは非常に フレキシブルなインターフェース構造をもち非常に効率的です。
ユーザーマニュアル(トライアルバージョン翻訳版)はこちらからご覧ください。

自動微分向けのNAG FORTRAN コンパイラ

Fortran で書かれたシミュレーションプログラム用に、dcoへのプリプロセッサとしての機能を果たす ようNAG Fortran コンパイラは拡張されています。自動微分を複雑なビルドシステムへシームレスに 組み入れることが容易にできます。したがってオリジナルのソースコードをユーザが修正する量を 最小化することができます。あるいは完全に省くことができます。

※演算子のオーバーロード:プログラム言語の演算子のオーバーロード機能により、 数値演算子( +,-,/,* ) を変更できるようになります。したがって通常の基本演算関数のほかに 微分の値を計算できます。

関連情報
ご利用について

本サービスを利用されたい場合は、 まずはコンサルティングサービス・ご相談フォーム にご記入の上お問い合わせください。

Results matter. Trust NAG.

Privacy Policy | Trademarks