IMSL C/C++ ライブラリの主な機能

強力で柔軟なデータマイニングと予測機能

  • 決定木
  • 回帰
  • ベクトル自己回帰(VAR) とベクトル誤差修正(VEC)モデル
  • アプリオリ解析
  • クラスタ解析
  • コホネンの自己組織化マップ
  • ニューラルネットワーク
  • Auto_ARIMA
  • ARCH, GARCH
  • サポートベクターマシン
  • 遺伝的アルゴリズム
  • 単純ベイズ(Naive Bayes)
  • ベイジアン季節時系列
  • ロジスティック回帰
  • 主成分分析
  • 因子分析
  • 判別分析

豊富な統計機能

  • 基本統計
  • 時系列解析と予測
  • ノンパラメトリック統計
  • 相関と共分散
  • 分散分析
  • 適合度テスト
  • 確率密度と累積
  • 分布関数
  • 最尤推定
  • 一般化線形モデル
  • 乱数生成
  • 仮説検定
  • 実験計画
  • 多変量解析

包括的な数値計算機能

  • 行列演算
  • 線形方程式
  • 固有値解析
  • 補間と近似
  • 積分と微分
  • 微分方程式
  • Feynman-Kac ソルバー
  • 変換
  • 非線形方程式
  • 最適化
  • 特殊関数
  • ユーティリティ

信頼性

  • 100% ピュア C コード
    • 堅牢性の増大 : コードラッピングはサーバクラッシュ、セキュリティ違反、データ破損およびデバッグを困難にすることがあります。
    • 開発の簡素化 : ラッパーを使うと、外部コンパイラへのアクセスやユーザ定義データ、配列の他言語間の互換性確認などの余分な作業が必要になります。IMSL C ライブラリを使用すれば、プログラムの作成、ビルド、コンパイル、デバッグ等を一つの環境で行う事ができます。
  • 徹底したテストと 40 年以上にわたる各業界での経験
  • 正確性: 異なる言語・環境で同じ結果を提供

正確性: 異なる言語・環境で同じ結果を提供

  • 一般的なプラットフォームで利用可能
  • プラットフォームの変更が簡単
  • 多くの計算プラットフォームをサポート

組み込み可能

  • 配布が簡単
  • データベースの中でも
  • アプリケーション管理コンソール、サーバ、特殊なプログラミング環境等余分な設備は不要

SMP/GPU ハイパフォーマンステクノロジー

世界標準の数値計算・統計解析 用 IMSL C ライブラリは、対称マルチプロセッサ (SMP) システムを有効利用できるよう設計されています。

IMSL C ライブラリは、マルチコアハードウェアを活用し、パフォーマンスを向上させることができます。OpenMPがサポートされる環境において、多くのアルゴリズムは、利用可能な計算資源を活用して並列処理を行うよう記述されています。また、ハードウェアベンダーが提供している機能を活用することで対称マルチプロセッサ (SMP) システムを有効利用することもできます

IMSL C ライブラリ は、CUDA BLAS を使用している NVIDIA GPU ハードウェアに対してCPU計算をオフロードします。IMSL C ライブラリと CUDA BLAS をリンクすることにより多くの線形代数関数のパフォーマンスを飛躍的に向上させることができます。IMSL 関数の利用方法は従来と変わらないため、ユーザはソースコードを変更することなくこの性能向上を直ちに享受できます。

スレッドセーフ

IMSL C ライブラリ を使用すると、スレッドセーフなプログラムを構築することができます。この機能は既存のハードウェア投資を活用し、より高速なスループットをもたらすアプリケーション開発を支援します。これにより、 IMSL C ライブラリ は複数の独立した演算を行っている複数のスレッドを持つデータベースサーバやWEBサーバに統合する事ができます。ローグウェーブは業界標準である OpenMP を使って IMSL C ライブラリのスレッドセーフ機能を開発しました。 

費用対効果と価値

IMSL C ライブラリは、プログラムの開発時間を大幅に短縮し、標準化を推進します。可変長の引数により関数の呼び出しを簡素化しました。IMSL C ライブラリを利用する事によりソースコード開発期間やアプリケーションの設計、開発、文書化、テスト、保守にかかる費用を最大95%まで削減可能です。

直感的なプログラミング:正確性、堅牢性、高い信頼性

IMSL C ライブラリは、直感的でわかりやすい関数名を採用しているため、効率的にコードを書くことができます。関数名は各製品ごとに特有の接頭辞で始まります。適切かつ一貫性ある変数名を採用している理由は次の通りです。

  • 関数名からその機能を容易に推定でき、また他のコードとの衝突を防ぎます
  • 複数の計算精度が選択できるよう、関数名にわかりやすい共通の命名規則を採用しています

エラー診断処理

明確で解りやすい診断エラーメッセージ: エラー状況を伝えるだけでなく必要に応じて修正方法を提案します。
エラーハンドリング機能により、

  • より速く簡単にプログラムをデバッグできます
  • プログラミングの生産性を向上させます
  • アルゴリズムとアプリケーションがプログラムの中で適切に機能している事を確信できます