XLPack

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

ソフトウェアの内容

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

プログラミングせずに数値計算

ワークシート関数ライブラリ

Excelワークシートに直接記述できる148個のワークシート関数を提供します. Excelワークシートにデータを入力するだけで線形方程式, 固有値, 特殊関数などの計算を行うことができます.

ワークシート関数の例

ソルバー・アドイン

Excelワークシートに入力した数式を使用して, 非線形方程式, 数値積分および常微分方程式の解をメニューを使って求めることができます.

ソルバーアドインの例

VBA数値計算プログラミングをサポート

VBAサブルーチン/関数ライブラリ

VBAより呼び出すことができる902個のサブルーチン/関数を提供します. 専門的な数値計算プログラミングなしでExcelで動作する技術計算アプリケーションを作成することができます.

XLPackのパフォーマンス

高速計算

XLPackはVBAで作成した同等プログラムよりも高速に計算を行います. XLPack 6.1 では線形計算に Intel oneMKL ライブラリを組み込みさらに高速化を図りました.
下図は連立一次方程式および固有値問題を解くのに要したCPU時間の計測結果です. この例の場合, 連立一次方程式ではVBAプログラムに対して XLPack 6.0 が170倍程度速く, XLPack 6.1 はさらに10倍程度速くなっており, 中クラス程度のプロセッサ(Core i5-12600T) でも5000元の連立一次方程式を1.3秒で解きます.
固有値問題では XLPack 6.1 は XLPack 6.0 より6倍程度高速で, 2500 x 2500 の対称行列のすべての固有値・固有ベクトルを約3秒で求めます.

線形計算の計算速度の測定例


高効率アルゴリズム

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

常微分方程式の計算量の測定例

導入事例

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

XLPack Version 6.1

動作環境

  • Windows 10 (バージョン 2004 以降) または Windows 11
  • Excel for Office 365, Excel 2021, Excel 2019, Excel 2016 または Excel 2013 SP1

機能

基本機能パッケージでは, 主要な27個のワークシート関数と138個のVBAサブルーチン/関数を使用することができます. これだけでも通常の計算に必要十分な能力があります.

さらに, 4つの追加機能(モジュール1~4)を導入するとより高度な機能が追加され, 合計148個のワークシート関数と902個のVBA関数/サブルーチンを使用することができるようになります.

詳細な機能一覧は次のとおりです.

XLPack 詳細機能一覧

オレンジ色の部分が基本機能として提供されます.

製品構成

  • XLPack Basic (基本機能)
    • 主要機能に絞った基本機能パッケージです. 動作条件, 性能等はフル機能版と同じです
    • マイクロソフトストアより「XLPack Basic」として無料でインストールすることができます
  • XLPack Addons (追加機能)
    • 追加機能が4モジュールに分割して提供されます: (1) 線形計算(実数), (2) 線形計算(複素数), (3) 特殊関数・非線形計算, (4) 補間・微分積分・乱数 (詳細な分割は上のXLPack 詳細機能一覧を参照ください)
    • マイクロソフトストアより「XLPack Addons」としてインストールすることができ, 各モジュールをアプリ内購入することができます
    • マニュアルおよびサンプルワークシートはオンライン提供されます

詳細な導入手順は XLPack 6.1 ユーザーガイド を参照ください.

XLPack API

XLPackの計算モジュールを他言語(C/C++, Python, Julia, C#, F#, VB.NET, Pascal)から数値計算ライブラリとして呼び出すためのインターフェースです.

詳細は XLPack API の使用法 を参照ください.

関連リンク