What's new! 



Vector から: MolDsl 

Vector


 Mol (Math Object Library) for .Net

✓ .Net 上で C# 等による数値計算を強力にサポートするクラスライブラリー
  • 可変多倍長演算(BigDecimal と + - * /)
  • 0次から3次までのスプライン補間・積分
  • 高速フーリェ変換(FFT
  • ベクトル数学演算(VML
  • 各種分布関数に対応した乱数発生器
  • 巨大データ、外れ値、欠測値等に対応した統計計算
  • 「一般・対称・エルミート・三角・帯」、「密や疎」等、すべて共通に A[i,j] 形式でアクセス可
  • 行列やベクトル等の四則演算(+ - * /)
  • 連立方程式・最小二乗・特異値分解・固有値問題解法
  • 非線形連立方程式の最小二乗解
  • マルチCPU、マルチスレッド機能(MKL ダイナミックリンク版)
  • LightDB、軽量・高速の簡易データベース機能
各計算はCPUに最適化されたインテル® MKLを直接利用することでマルチコア、マルチスレッド、巨大データに対応した圧倒的高速性能を実現しています。

✓詳細とダウンロード
✓プログラム例(C#)と解説
✓インテル® MKL代理店


 // 計算例:密な一般行列で A*X = B を解く
 int n = 2000; // 行列のサイズ = 2000 x 2000
 // 定数行列
 MatrixDenseGeneralDouble B = new MatrixDenseGeneralDouble(n, 10);   
 for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= 10; ++j) B[i, j] = 1.0;
 }
 // 係数行列
 MatrixDenseGeneralDouble A = new MatrixDenseGeneralDouble(n, n);
 for (int i = 1; i <= n; ++i) {
    A[i, i] = 2;
    if (i > 1) A[i - 1, i] = -1;
    if (i < n) A[i, i + 1] = -1;
 }
 DateTime time = DateTime.Now;
 LuSolver lu = LuSolver.Create(A);          // 行列 A を因子分解する。
 MatrixDenseGeneralDouble X = lu.Solve(B);  // A*X = B を解く
 Console.WriteLine("計算時間 = " + (DateTime.Now - time));
 MatrixDenseGeneralDouble D = A * X - B;
 Console.WriteLine("Norm =" + D.NormE());   // A * X - B を確認
※一般行列以外は計算時間・メモリ使用量を最小にするため複雑・特殊な内部構造を持っています(が使用方法は同じです)。

 Dsl (Digital Simulation Library) for .Net

✓ .Net 対応の汎用数値シミュレーション・クラスライブラリー
  • 変数相互の計算式定義・目的変数値等を指定 ==> 自動的に連立方程式・計算順序などを構築
  • 値を知りたい変数指定 ==> 不必要な変数・計算式を除外
  • 連立常微分方程式 ==> 動的シミュレーション
  • 常微分方程式の微係数をゼロ指定 ==> 連立方程式を構築して「定常状態」を直接計算
  • 計算結果の折れ線グラフ描画
  • Mol(Math Object Library) for .Net を統合 ==> 高度な数値計算

✓詳細とダウンロード
✓プログラム例(C#)と解説


 動作・開発環境・インストール

[開発環境]
 Mol、Dsl の利用環境 [ソルバー]
 ソルバーとは Mol、Dsl 共通 DLL(Mol.C++.Dll)
 ソルバーは MKL を呼び出す非 .Net アプリケーションで以下の4通りの区別があります。

ソルバー説明 
32 bit スタティックリンク版※2 ('Mol.C++32.dll') MKL※1をスタティックリンクした 32 ビットバージョン サイズは 100Mb 程度
64 bit スタティックリンク版※2 ('Mol.C++64.dll') MKL※1をスタティックリンクした 64 ビットバージョン※4 サイズは 100Mb 程度 64 ビット OS でのみ稼働
32 bit ダイナミックリンク版※3 ('Mol.C++D32.dll') MKL※1をダイナミックリンクした 32 ビットバージョン サイズは 1Mb 以下
64 bit ダイナミックリンク版※3 ('Mol.C++D64.dll') MKL※1をダイナミックリンクした 64 ビットバージョン※4 サイズは 1Mb 以下 64 ビット OS でのみ稼働
前記 Mol の連立方程式解法例実行結果:
  スタティックリンク版: 計算時間 = 00:00:00.2964005
  ダイナミックリンク版: 計算時間 = 00:00:00.1248003
※Intel CORE i7-2600S 2.8GHz 8GBメモリ
※本例はマルチスレッドに適した例
  • (※1) インテル® MKL代理店)はマルチCPU、マルチスレッドに対応した高速数値計算ライブラリーです。
  • (※2) MKL をスタティックリンクしたソルバーはマルチCPU、マルチスレッド機能に対応していません。
  • (※3) MKL をダイナミックリンクしたソルバーはマルチCPU、マルチスレッド機能に対応しています。 MKL モジュール(MKL の「再配布可能モジュール」*.dll)が別途必要になります。

  • (※4) 64ビット版は、int型が32ビットで、long型とポインタが64ビット幅の LP64 データモデルです。 int型も64ビット幅になる ILP64 データモデルはサポートしていません。

  • スタティックリンク版は MKL の「再配布可能モジュール」を必要としません。Dsl・Molの.Net版DLLとスタティックリンク版DLLは配布ライセンス下で自由に配布できます。
  • 評価版・限定ライセンスユーザへ MKL の「再配布可能モジュール」は提供しておりません。
  • 個人・配布ライセンスユーザは MKL の「再配布可能モジュール」を非公開URLよりダウンロード可能です。MKLの「再配布可能モジュール」を再々配布する場合は配布ライセンスを取得して、かつ、インテル社(または代理店からMKLの配布可能ライセンスを別途購入する必要があります)。
  • Mol/Dsl は「Intel(R) Math Kernel Library 11 Update 3 for Windows* OS(Composer XE 2013)」を利用しています。上位バージョンでの非互換性等気が付いた場合にはこちらでお知らせください。

[インストール]
 Mol、Dsl にインストーラーは付属しません。
 (✓Let's 'C# で数値計算' 参照)

  • 付属の DLL を、お客さまの開発環境に応じたアプリケーションと同じフォルダにコピーしてください。
  • 複数あるソルバーのうち意図する一つを Mol.C++.Dll という名前でコピーしてください。
    全ソルバーをそのままコピーした場合、実行環境に応じたソルバーが自動選択されます。
  • インストールプログラムは付属しませんので、アンインストールは手動で削除してください。
  • お客さまがインストールプログラムを作成する場合は、インストールプログラムの仕様に従って適切にインストール/アンインストールされるようにご確認ください。

 ライセンスと価格

Mol、Dsl はクラスライブラリー(DLL)です。ダウンロードした評価版を正式版として利用するには以下のライセンスを購入・設定する必要があります。

※Dsl のライセンスは Mol の同じライセンスを含みます。  
ライセンス名称説明 Dsl 価格(税込)Mol 価格(税込)
限定ライセンス 使用できるソルバーがスタティックリンクバージョンのみ。それ以外は個人ライセンスと同じです。 15,000円12,000円
個人ライセンス 個人利用に限定。開発した Dsl・Mol を使用するソフトウェアを第三者に販売・譲渡・配布・貸与することはできません。 30,000円20,000円
配布ライセンス 開発したソフトウェアと Dsl と Mol 付属 DLLを第三者に販売・譲渡・配布することができます。  180,000円120,000円

  • 各ライセンスから上位(Mol→Dslも可)のライセンスに移行できます(ライセンス料は差額分となります)。
  • ライセンスの種類に関わらず、開発に従事するプログラマーと使用できるコンピュータは1ライセンスにつき一人かつ1台です。
  • 開発に複数のプログラマー、または複数のコンピュータを使用する場合、どちらか多い方の数だけ追加ライセンスが必要です。
  • 配布ライセンスの場合のみ、追加ライセンスの価格は 1/6 となります(追加ライセンスキーを発行します)。
  • ライセンスに関わらず Dsl・Mol のモジュールのみを第三者に販売・譲渡・配布することはできません。
  • ライセンスは無期限に有効です。
※ライセンスが設定されてない、または誤ったライセンスキーを設定した場合は評価版とみなされます。
※Dsl、Mol、そして MKL の DLL 等を第三者に「配布」するには、それぞれの「配布可能ライセンス」を保有していることが必要です。
※MKL の「再配布可能モジュール」を「再々配布」する場合は、別途 MKL(のライセンス)を購入する必要があります(インテル® MKL、 代理店

※重要※
必ずソフトウェア使用許諾契約書をお読みください。

 ご購入方法

ご購入の手順は次のようになります。
  1. ダウンロード & 試用:
    • 解く問題のサイズ等に制限はありません(評価版であるメッセージが表示されます)。
    • この時点で、お客様の目的に合致するかご判断願います。
    • 疑問・質問等は「お問い合わせフォーム」でお受けします。

  2. ご購入:

    1) ベクター・ソフトライブラリから限定ライセンスを(若干安く)購入( DslMol)できますので、ご利用ください。
      ※最新でない場合がありますので、各ソフトウェアは本WEBページから最新版をダウンロードしてください。

    2) 銀行振り込みは以下の手順になります。

    • まず、こちらから以下の情報をお知らせください。
      • ご連絡(返信)用のメールアドレス
      • お名前、製品名、ご購入ライセンス種別等の基本情報
    • お知らせいただいたメールアドレスに振込先の銀行名・口座番号等を返信いたします。
    • 以後のライセンスキー等もお知らせいただいたメールアドレスに送信いたします。
    • 代金振り込みとライセンスキー受領:
      ・入金確認・正式ユーザーとして登録後にライセンスキーをご連絡(メール送信)いたします。
      ・振り込み時には、お客様を特定できる情報を付記してください。
      ・代金振り込み前に必ずソフトウェア使用許諾契約書をお読みください。
      ・お客様は代金振り込みをもって「ソフトウェア使用許諾契約書」に同意したものとみなします。
  • ※一部の(特定の国やブラックリストに記載された)メールサーバーはスパマーとして通信が拒否される場合があります。 受信拒否の場合、エラー内容をお知らせください(可能な場合、解除します)。
  • ※hotmailやgmail等のいわゆる「使い捨てアドレス」は SPAM 対策上なるべく避けてください。