Nagasaka Lab.
トップ > 研究に関する情報 > SNAP

LIBSNAP

LIBSNAPについて

LIBSNAPは,数値・数式融合計算を行うC言語向けライブラリです。その目的は,近似GCDや近似因数分解などの誤差を係数に持つ多項式に対する近似代数演算を気軽に使えるようにすることと,同じフレームワーク内に複数のアルゴリズムを実装することにより,アルゴリズムの比較を容易にすることにあります。そのため,必ずしも高速化を目的とはしていません。ライセンスは2条項BSDライセンスです。

現状は,一変数多項式の近似GCDに必要なAPIの基本的な設計を行い,基礎的な部分を実装出来ているに過ぎませんが,順次,実装していく予定です。

  • Some default parameters are changed for UVGCD. 2016.1.26
  • Several Updates for double and double complex. 2016.1.25
    • Approximate polynomial GCD (QRGCD with pivoting)
    • Approximate polynomial GCD (ExQRGCD with pivoting)
    • Approximate polynomial GCD (UVGCD with pivoting)
    • Approximate polynomial GCD (QRGCD with refinements of UVGCD and Fastgcd)
    • Approximate polynomial GCD (ExQRGCD with refinements of UVGCD and Fastgcd)
    • Approximate polynomial GCD (Fastgcd with subroutines of UVGCD)
    • Some of above are also available for mpc and mpfr
  • 近似GCD( UVGCDのmpc版)を追加しました。2013.11.11
  • 近似GCD( UVGCDのmpfr, double, dcomplex版)の修正を行い動作を確認しました。2013.10.28
  • 近似GCD( UVGCDのdouble complex版)の暫定版を追加しました。2013.10.23
  • 多倍長浮動小数点数の丸めモードを統一しました(roundTiesToEven)。2013.10.09
  • 近似GCD(QRGCDとExQRGCD)の複素係数版(double complex版とmpc版)を追加しました。2013.09.20
  • 複素数への対応として少しだけ関数を追加しました。2013.07.09
  • 近似GCD( UVGCDのmpfr版)を追加,QR分解コードの見直し,ライセンス変更。2013.05.20
  • 近似GCD( UVGCDのdouble版)を追加しました。2013.05.15
  • 近似GCD(QRGCDとExQRGCD)のコード整理をしたので追加しました。2013.04.25

Requirements

  • GMP (The GNU Multiple Precision Arithmetic Library)
  • MPFR (The GNU MPFR Library)
  • MPC (The GNU MPC Library)
  • BLAS (Basic Linear Algebra Subprograms)

    note: libsnap works only with cblas of ATLAS

  • LAPACK (Linear Algebra PACKage)

    note: libsnap works only with clapack of ATLAS and lapacke of LAPACK

ダウンロード

備考

なお,本研究の一部は科学研究費補助金による助成を受けて行われました。過去に作っていた,古いMathematica向けパッケージの情報も一応残してありますが,当時のままです。