XLPack

XLPackは中小規模の数値計算を事務用/家庭用PCで手軽に行うことを目的に開発されたExcel用機能拡張モジュールです. 幅広い分野の専門的な数値計算機能をExcelに追加します. ExcelはVBA*によるプログラミングができ, グラフ機能により結果を見やすく表示することができるため, 数値計算機能を強化することにより手軽に使える強力な数値計算ツールになります. (* Visual Basic for Applications: Excel内蔵マクロ用BASIC言語)

ソフトウェアの内容

XLPackはワークシート関数ライブラリ, ソルバーおよびVBAサブルーチン/関数ライブラリの3つで構成されます. これらはプログラミングをせずに数値計算するためのツールとプログラミングをサポートするツールの2つに分けられます.

  • プログラミングせずに数値計算
    • ワークシート関数ライブラリ: Excelワークシートに直接記述できる150以上のワークシート関数を提供します. Excelワークシートにデータを入力するだけで線形方程式, 固有値, 特殊関数などの計算を行うことができます.
    • ソルバー・アドイン: Excelワークシートに入力した数式を使用して, 非線形方程式, 数値積分および常微分方程式の解をメニューを使って求めることができます.
  • VBA数値計算プログラミングをサポート
    • VBAサブルーチン/関数ライブラリ: VBAより呼び出すことができる800以上のサブルーチン/関数を提供します. 専門的な数値計算プログラミングなしでExcelで動作する技術計算アプリケーションを作成することができます.
XLPackのパフォーマンス
  • 高速計算

XLPackはVBAで作成したプログラムよりも高速に計算を行います. 下図は連立一次方程式を解くのに要したCPU時間の計測結果です. この例の場合, VBAプログラムに対してXLPackが100倍以上速いことがわかります.

Perf

  • 高効率アルゴリズム

XLPackでは効率のよい最新のアルゴリズムを使用しています. 下図は常微分方程式の初期値問題の例です. 解の相対誤差に対して関数の計算回数を対数プロットしたものです. よく使用されるオイラー法や4次のルンゲクッタ法に比較して少ない回数で解を求めるアルゴリズムが使われていることがわかります.

導入事例
  • 研究者・エンジニア向けの計算ツール
    • 中小規模の数値計算を手軽にかつ実用速度で行います.
    • 数値計算の細部を気にせず本業に集中できます.
  • 開発支援
    • プロトタイピング, 使い捨てプログラム作成に活用できます.
  • 教育分野における計算プラットフォーム
    • 数値計算法の習得および実習に使用できます.
導入

Excelが入っているパソコンさえあればXLPackを簡単に導入することができます.

  • 導入を助けるためにXLPack Liteが提供されます. 製品購入前にお使いの環境で事前動作確認を行うことができます.
  • 製品は4モジュールに分割して提供され, 必要なモジュールだけを購入することができます.

XLPack Version 5.3

動作環境
  • Windows版
    • Windows 10, Windows 8.1 Update または Windows 7 SP1
    • Office 365 Excel, Excel 2019, Excel 2016, Excel 2013 SP1 または Excel 2010 SP2
  • macOS版
    • macOS Mojave (10.14) または macOS Catalina (10.15)
    • Excel for Mac (Office 365 (サブスクリプション版) または Office 2019 for Mac (永続ライセンス版))
    • できるだけ最新版を使用してください. Office 2016 for Mac (永続ライセンス版) では動作しません.
製品構成
  • XLPack
    • 4 モジュールに分割して提供されます. それぞれの単体製品と全モジュールのセット製品があります: ①: 線形計算(実数), ②:線形計算(複素数), ③: 特殊関数・非線形計算, ④: 補間・微分積分・乱数
    • VBAサブルーチン/関数ライブラリルーチン数: 816 (合計)
    • ワークシート関数ライブラリルーチン数: 154 (合計)
    • ソルバー・アドイン (モジュール③および④に添付)
    • PDFマニュアル (計約1,600ページ)
    • サンプルワークシート添付
    • (株)ベクターにて販売中(Windows版): 購入方法
      macOS版の販売については検討中です
  • XLPack Lite
    主要機能に絞ったサブセット版です. 動作条件, 性能等は製品版と同じです.

    • 製品購入前の評価および動作確認用に提供されます
    • 業務目的あるいは組織的導入でなければ個人による継続使用ができます

    Webサイトにてプログラムおよびサンプルワークシートをダウンロード提供中です. オンラインマニュアル, チュートリアル等をご覧いただくこともできます.

機能一覧
  • 主要機能一覧:
    • モジュール1(線形計算(実数)), モジュール2(線形計算(複素数))
      • 線形計算 (LAPACK, BLAS)
        • ベクトル基本演算, 行列基本演算
        • 連立一次方程式 (一般行列, 対称/エルミート行列, 帯行列, 正定値行列, 三角行列)
        • 固有値・固有ベクトル (対称/エルミート行列, 一般行列)
        • 一般化固有値問題 (対称行列/エルミート行列, 一般行列)
        • 特異値分解(SVD) (一般行列)
        • 一般化特異値分解(GSVD) (一般行列)
        • 線形最小二乗法 (QR分解, SVD), 分散共分散行列
        • 制約付き最小二乗問題(LSEおよびGLM問題)
    • モジュール3(特殊関数, 非線形計算)
      • 特殊関数
        • ベッセル関数, 変形ベッセル関数, 球ベッセル関数, エアリー関数, 指数積分, 対数積分, 三角関数積分, ガンマ関数, ベータ関数, 不完全ガンマ関数, 不完全ベータ関数, ポリガンマ関数, リーマンゼータ関数, 誤差関数, フレネル積分, 超幾何関数, ヤコビ楕円関数, 楕円積分, 多項式
      • 非線形方程式
        • 代数方程式 (ニュートン法, 随伴行列法, DKA法)
        • 非線形方程式 (デッカーの方法)
        • 非線形連立方程式 (パウエルのハイブリッド法, ブラウンの方法)
      • 非線形最適化
        • 1変数関数の最小点 (ブレントの方法)
        • 多変数関数の最小点 (制約なし) (準ニュートン法, 信頼領域法)
        • 多変数関数の最小点 (単純制約付き) (信頼領域法)
      • 高速フーリエ変換(FFT)
        • 1次元実フーリエ変換, 1次元複素フーリエ変換, 1次元サイン変換, 1次元コサイン変換
        • 2次元実フーリエ変換, 2次元複素フーリエ変換
    • モジュール4(補間, 数値積分, 常微分方程式, 乱数)
      • 補間
        • 多項式補間, 区分3次エルミート補間, 3次スプライン補間, Bスプライン補間
        • 補間による数値積分
      • 数値積分
        • 有限区間の数値積分 (データ入力) (放物線近似)
        • 有限区間の数値積分 (関数入力) (固定分点) (ガウス-クロンロッド公式)
        • 有限区間の数値積分 (関数入力) (自動積分) (ガウス-クロンロッド公式, 二重指数関数公式)
        • 有限区間の数値積分 (関数入力) (自動積分) (特殊な関数用)
        • 無限区間・半無限区間積分 (関数入力) (自動積分) (ガウス-クロンロッド公式, 二重指数関数公式)
      • 常微分方程式の初期値問題
        • 非スティフ関数用 (フェールベルグ法, ドルマン・プリンス法, ヴァーナー法, アダムス法, 補外法)
        • スティフ関数用 (後退微分公式(BDF法), 陰的ルンゲクッタ法, ローゼンブロック法, 補外法)
        • 微分代数方程式(DAE) (DASSL)
      • 非線形最小二乗法
        • 非線形最小二乗法 (制約なし) (レーベンバーグ・マルカート法, 適応アルゴリズム)
        • 非線形最小二乗法 (単純制約付き) (適応アルゴリズム)
      • 乱数
        • 一様乱数 (メルセンヌツイスター, ラグ付きフィボナッチ法, 線形合同法)
        • 正規乱数, 指数乱数, ガンマ乱数 (メルセンヌツイスター, ラグ付きフィボナッチ法, 線形合同法)
  • 詳細機能一覧: 別タブで表示
XLPack API

XLPackの計算モジュールを他言語(C/C++, Python, Julia, C#, F#, VB.Net, Delphi(Pascal))から数値計算ライブラリとして呼び出すことができます.

詳細はこちらを参照ください.

関連リンク