目次
41 関係: ALGLIB、マルコフ連鎖モンテカルロ法、ハートレー変換、メルセンヌ・ツイスタ、ラグランジュ補間、ヒストグラム、フーリエ変換、ベータ関数、ベッセル関数、オープンソース、ガンマ関数、クロスプラットフォーム、コレスキー分解、共通言語ランタイム、固有値分解、Basic Linear Algebra Subprograms、Boost C++ライブラリ、C Sharp、確率分布、線形回帰、特異値分解、相関係数、複素数、誤差関数、離散確率分布、連続確率分布、F Sharp、Intel Math Kernel Library、JAMA、LAPACK、LU分解、MATLAB、Microsoft Windows、MIT License、Mono (ソフトウェア)、QR分解、数値解析ソフトの比較、数値解析ソフトウェアの一覧、.NET Framework、2002年、2009年。
ALGLIB
ALGLIBは、クロスプラットフォームおよびオープンソースな数値解析・データ処理ライブラリ。C++、C#、VB.NET、Python、Delphiなどのプログラミング言語から利用できる。 ALGLIBは1999年にから長期間にわたって地道な開発が続けられており、年に1~3回程度、アップデートされている。いくつかのオープンソースプロジェクトや商用ライブラリ、アプリケーション(TOLプロジェクト、Math.NET Numerics 、SpaceClaimなど)で利用されている。
マルコフ連鎖モンテカルロ法
マルコフ連鎖モンテカルロ法(マルコフれんさモンテカルロほう、Markov chain Monte Carlo methods、通称MCMC)とは、求める確率分布を均衡分布として持つマルコフ連鎖を作成することによって確率分布のサンプリングを行う種々のアルゴリズムの総称である。具体的には、同時事後分布に従う乱数を継時的に生成する。代表的なMCMCとしてメトロポリス・ヘイスティングス法やギブスサンプリングがある。 MCMCで充分に多くの回数の試行を行った後のマルコフ連鎖の状態は求める目標分布の標本として用いられる。試行の回数を増やすとともにサンプルの品質も向上する。 求められる特性を持つマルコフ連鎖を作成することは通常難しくない。問題は許容できる誤差内で定常分布に収束する試行の回数を決めることである。適切な連鎖なら任意の位置から始めても定常分布に速く達し、これを高速混合(rapid mixing)とよぶ。
見る Math.NET Numericsとマルコフ連鎖モンテカルロ法
ハートレー変換
数学の分野におけるハートレー変換(ハートレーへんかん、)は、フーリエ変換と非常に関係の深い、実数値関数を実数値関数へと写す積分変換である。1942年、ラルフ・ハートレーによりフーリエ変換の代替的なものとして提唱され、多くの知られているの内の一つとなった。フーリエ変換と比較して、ハートレー変換には実関数を実関数へと変換し、逆変換がそれ自身となるという長所がある。 1983年、によりこの変換の離散版であるが考案された。 二次元のハートレー変換は、と同様なあるアナログ光学処理によって計算される。その利点として、複素フェーズよりも振幅と符号のみが必要とされる、ということが提唱されている。しかし、光学ハートレー変換は未だ広く利用されてはいないようである。
メルセンヌ・ツイスタ
メルセンヌ・ツイスタ (Mersenne twister、通称MT) は擬似乱数列生成器 (PRNG) の1つである。1996年に国際会議で発表されたもので(1998年1月に論文掲載)松本眞と西村拓士による。既存の疑似乱数列生成手法にある多くの欠点がなく、高品質の疑似乱数列を高速に生成できる。考案者らによる実装が修正BSDライセンスで公開されている。
見る Math.NET Numericsとメルセンヌ・ツイスタ
ラグランジュ補間
数値解析におけるラグランジュ補間(ラグランジュほかん、Lagrange interpolation)は、多項式補間に用いられる。相異なる点の集合 および数値 に対し、そのラグランジュ補間多項式は、各 において対応する値として をとるような次数最小の多項式である。このように次数最小の多項式は一意に決まるが、決定する方法は複数存在するため、「ラグランジュ補間多項式」という名称をその一意な多項式の「ラグランジュ形」というふうに言及するのは正確でない。 名称はジョゼフ=ルイ・ラグランジュに因んだものだが、ラグランジュの発表する1795年よりも以前に、この方法を初めて発見したのは1779年のエドワード・ワーリングである。ラグランジュの結果はレオンハルト・オイラーが1783年に発表したより複雑な形の公式の簡単な帰結となるものであった ラグランジュ補間多項式は数値積分法の一種ニュートン–コーツ法でも用いられ、また有限体上で計算されたラグランジュ補間多項式は暗号理論におけるでも用いられる。
ヒストグラム
ヒストグラム()とは、縦軸に度数、横軸に階級をとった統計グラフの一種で、データの分布状況を視覚的に認識するために主に統計学や数学、画像処理等で用いられる。柱状図、柱状グラフ、度数分布図ともいう。 工業分野では、パレート図、チェックシート、管理図、特性要因図、層別法、散布図と並んで、品質管理のためのQC七つ道具として知られている。
フーリエ変換
数学においてフーリエ変換(フーリエへんかん、Fourier transform、FT)は、実変数の複素または実数値関数fを、別の同種の関数に写す変換である。 工学においては、変換後の関数はもとの関数fに含まれる周波数を記述していると考え、しばしばもとの関数fの周波数領域表現 と呼ばれる。言い換えれば、フーリエ変換は関数fを正弦波・余弦波に分解するとも言える。 フーリエ変換 (FT) は他の多くの数学的な演算と同様にフーリエ解析の主題を成す。特別の場合として、もとの関数とその周波領域表現が連続かつ非有界である場合を考えることができる。「フーリエ変換」という言葉は関数の周波数領域表現のことを指すこともあるし、関数を周波数領域表現へ写す変換の過程・公式を言うこともある。なおこの呼称は、19世紀フランスの数学者・物理学者で次元解析の創始者とされるジョゼフ・フーリエに由来する。
ベータ関数
数学におけるベータ関数(ベータかんすう、beta function)とは、特殊関数のひとつである。ベータ関数は、第一種オイラー積分とも呼ばれる(なお、ベータ関数と深い関わりをもつガンマ関数は、第二種オイラー積分と呼ばれる)。 一般化された関数として、セルバーグ積分がある。
ベッセル関数
ベッセル関数(ベッセルかんすう、Bessel function)とは、最初にスイスの数学者ダニエル・ベルヌーイによって定義され、フリードリヒ・ヴィルヘルム・ベッセルにちなんで名づけられた関数。円筒関数と呼ばれることもある。以下に示す、ベッセルの微分方程式におけるy(x)の特殊解の1つである。 上の式において、alphaは、任意の実数である(次数と呼ばれる)。alphaが整数nに等しい場合がとくに重要である。 alpha及び-alphaはともに同一の微分方程式を与えるが、慣例としてこれら2つの異なる次数に対して異なるベッセル関数が定義される(例えば、alphaの関数としてなるべく滑らかになるようにベッセル関数を定義する、など)。 そもそもベッセル関数は、惑星の軌道運動に関するケプラー方程式をベッセルが解析的に解いた際に導入された。
オープンソース
オープンソース(open source)は、専らを促進する目的で、コンピュータプログラムの著作権の一部を放棄し、ソースコードの自由な利用および頒布を万人に許可するソフトウェア開発モデル。この開発モデルでは、コンピュータで実行できるが人間が容易に理解・変更できないオブジェクトコードだけでなく、ソースコードも含めて自由な再頒布を許可するライセンスのもとで公開する。 オープンソースを推進するために設立されたオープンソース・イニシアティブは、ソフトウェアがオープンソースであるための要件を定めた「オープンソースの定義」を策定した。
ガンマ関数
1。
クロスプラットフォーム
クロスプラットフォーム(cross-platform)とは、異なるプラットフォーム(例えばPC/AT互換機とMacintosh、あるいはWindows・macOS・FreeBSD・Linuxなどのように、仕様が全く異なる機械(ハードウェア)またはオペレーティングシステム)上で、同じ仕様のものを動かすことが出来るプログラム(ソフトウェア)のことを言う。同様の呼称にマルチプラットフォームmulti-platformがある。 また、家庭用ゲームにおいては「クロスプラットフォーム」と「マルチプラットフォーム」で意味が異なる場合がある。本項ではこのケースについても後述する。
見る Math.NET Numericsとクロスプラットフォーム
コレスキー分解
コレスキー分解(コレスキーぶんかい、)とは、正定値エルミート行列 を下三角行列 と の共役転置 との積に分解することをいう。 のエルミート性を利用したLU分解の特別な場合である。 の対角成分は実数にとることができて(符号・位相の自由度があるが)通常は、対角成分を正の実数に採り、その場合には、 は一意に定まる。アンドレ=ルイ・コレスキー(仏語の発音はショレスキー)にちなんで名づけられた。 が実対称行列の場合、上式の共役転置は転置に単純化される。 エルミート対称行列 が正定値であることと、 のコレスキー分解が存在することは同値になる。
共通言語ランタイム
CLRの動作イメージ。バイトコードを機械語に変換、実行する。 共通言語ランタイム (Common Language Runtime, CLR) とは、.NET Frameworkアプリケーションを実行するための仮想機械で、共通言語基盤 (CLI) のマイクロソフト自身による実装。.NET Framework 1.x - 4.x で使用されている CLR は Windows 上のみで動作する。.NET CoreはMITライセンスのオープンソースになり、CoreCLRはWindows、macOS、Linux、FreeBSD で動作する。.NET 5以降は.NET Runtimeと呼ばれるようになり、.NET 6では実行環境としてAndroidやiOSのサポートも加わった。
見る Math.NET Numericsと共通言語ランタイム
固有値分解
線型代数学において固有値分解 (こゆうちぶんかい、Eigendecomposition, Eigen Value Decomposition) とは、固有値に着目した行列の分解であるWeisstein, Eric W. "Eigen Decomposition." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/EigenDecomposition.htmlAbdi, H.
Basic Linear Algebra Subprograms
Basic Linear Algebra Subprograms(BLAS)は数値線形代数の基礎的演算に必要な関数を定義するAPIである。ベクトル・行列演算を含む38の関数からなるLevel 1 BLASが1979年に発表されたのち、Level 2 および Level 3 まで拡張された。多数の実装が作成・整備され続けており、この分野におけるデファクトスタンダードとなっている。BLASの基礎演算を利用してLAPACKなどの上位パッケージが構築されており、科学技術計算・高性能計算で多用される。 BLASの関数を多用するソフトウェアにおいてBLAS実装(ライブラリ)の質は速度に直結する。高度な最適化は実装が動くハードウェアに依存するため、多くのハードウェアベンダーが自社デバイスに特化したライブラリを提供している(インテル:Intel oneAPI Math Kernel Library)。オープンソースの最適化 BLAS 実装として OpenBLAS などがある。
見る Math.NET NumericsとBasic Linear Algebra Subprograms
Boost C++ライブラリ
Boost (ブースト)とは、C++の開発者のコミュニティ、およびそのコミュニティによって公開されているオープンソースのソフトウェアライブラリのことを指す。
見る Math.NET NumericsとBoost C++ライブラリ
C Sharp
C#(シーシャープ)は、マイクロソフトが開発した、汎用のマルチパラダイムプログラミング言語である。C#は、Javaに似た構文を持ち、C++に比べて扱いやすく、プログラムの記述量も少なくて済む。また、C#は、Windowsの.NET Framework上で動作することを前提として開発された言語であるが、2023年現在はクロスプラットフォームな.NETランタイム上で動作する。 デスクトップ・モバイルを含むアプリケーション開発や、ASP.NETをはじめとするWebサービスの開発フレームワーク、ゲームエンジンのUnityでの採用事例などもある。 マルチパラダイムをサポートする汎用高レベルプログラミング言語で、静的型付け、タイプセーフ、スコープ、命令型、宣言型、関数型、汎用型、オブジェクト指向(クラスベース)、コンポーネント指向のプログラミング分野を含んでいる。
確率分布
確率分布(かくりつぶんぷ、probability distribution)は、確率変数に対して、各々の値をとる確率全体を表したものである。日本産業規格では、「確率変数がある値となる確率,又はある集合に属する確率を与える関数」と定義している。
線形回帰
1つの従属変数と1つの独立変数がある線形回帰の例。 線形回帰(せんけいかいき、linear regression)とは、説明変数(独立変数ともいう)に対して目的変数(従属変数、あるいは反応変数ともいう)が線形またはそれから近い値で表される状態。線形回帰は統計学における回帰分析の一種であり、非線形回帰と対比される。 線形回帰のうち、説明変数が1つの場合を線形単回帰(simple linear regression)や単純線形回帰や単変量線形回帰(univariate linear regression)、2つ以上の場合を線形重回帰(multiple linear regression)や多重線形回帰や多変量線形回帰(multivariate linear regression)と呼ぶ。単回帰と呼んだ場合、単変量の回帰のことであるが、多くの場合は非線形を含めずに線形単回帰の事を指す。
特異値分解
U による等長変換(この図では回転)の合成に分解される。 特異値分解(とくいちぶんかい、singular value decomposition; SVD)とは線形代数学における複素数あるいは実数を成分とする行列に対する行列分解の一手法であり、Autonneによって導入されたWeisstein, Eric W.
相関係数
散布図とその相関係数の一覧。相関は非線形性および直線関係の向きを反映するが(上段)、その関係の傾きや(中段)、非直線関係の多くの面も反映しない(下段)。中央の図の傾きは0であるが、この場合は''Y''の分散が0であるため相関係数は定義されない。 相関係数(そうかんけいすう、correlation coefficient)とは、2つのデータまたは確率変数の間にある線形な関係の強弱を測る指標である。相関係数は無次元量で、−1以上1以下の実数に値をとる。相関係数が正のとき確率変数には正の相関が、負のとき確率変数には負の相関があるという。また相関係数が0のとき確率変数は無相関であるという。
複素数
2。
誤差関数
誤差関数のグラフ相補誤差関数のグラフ 誤差関数(ごさかんすう、error function)は、数学におけるシグモイド形状の特殊関数(非初等関数)の一種で、確率論、統計学、物質科学、偏微分方程式などで使われる。ガウスの誤差関数とも。定義は以下の通り。 相補誤差関数 (complementary error function) は erfc と表記され、誤差関数を使って以下のように定義される。 スケーリング相補誤差関数(scaled complementary error function)W.
離散確率分布
0 でない確率をとる確率変数値が有限個の場合は、黒丸に縦棒で表す。 累積分布関数の例。上から順に、離散確率分布、連続確率分布、連続点と離散点があるとき。 離散確率分布(りさんかくりつぶんぷ、discrete probability distribution)や離散型確率分布(りさんがたかくりつぶんぷ)は、確率論や統計学において、 でない確率をとる確率変数値が高々可算個である確率分布のことである。 累積分布関数値が高々可算個であることと同値である。 離散確率分布は確率質量関数に対応する。
連続確率分布
連続確率分布(れんぞくかくりつぶんぷ、continuous probability distribution)や連続型確率分布(れんぞくがたかくりつぶんぷ)は、確率論において、累積分布関数が連続な確率分布である。連続確率分布となるのは確率変数 が連続型のときに限られる。絶対連続分布と区別する際は広義連続分布と呼ぶ。 広義連続分布では、確率変数 X の値 a に対して常に である。これは必要十分条件である。しかし、確率変数が連続型でも広義連続分布でない場合は、必ずしもそうではない。広義連続分布ではない例として退化分布がある。退化分布などでは となることもありうる。 広義連続分布では確率密度関数が存在しない場合があるが、絶対連続分布では必ず確率密度関数が存在する。
F Sharp
F#(エフ シャープ)はマイクロソフトが開発した.NET向けのマルチパラダイムプログラミング言語である。Visual Studio 2010より標準開発言語として追加された。
Intel Math Kernel Library
Intel oneAPI Math Kernel Library (oneMKL) は、インテルが開発している、科学・工学・金融アプリケーション向けに提供される最適化(高速化)された数学ルーチンを含むライブラリである。提供される中心的な数学関数にはBLAS、LAPACK、、スパースソルバー(疎行列)、FFT、ベクトル演算が含まれている。インテルのCPUおよびGPUをサポートしている。オペレーティングシステムはWindows、Linux、macOSで利用可能である。対応プログラミング言語はC言語、C++、Fortran。
見る Math.NET NumericsとIntel Math Kernel Library
JAMA
JAMA。
LAPACK
LAPACK (Linear Algebra PACKage)は数値線形代数のための数値解析ソフトウェアライブラリで、線型方程式や線型最小二乗問題、固有値問題、特異値問題等を数値的に解くために利用される。本ライブラリは複素数または実数を成分とする行列を扱うことが可能であり、LU分解やコレスキー分解、QR分解、シュア分解等の行列の分解を行うためのサブルーチンを含む。サブルーチンは単精度版と倍精度版が提供される。のLAPACKの初版はFORTRAN 77 で実装されていたが、現在はFortran 90が用いられている。LAPACK 3.4.0からはC言語インターフェースであるLAPACKEが統合され、C言語やC++からの利用が容易になった。
LU分解
数学における行列のLU分解(エルユーぶんかい、LU decomposition)とは、正方行列 A を下三角行列 L と上三角行列 U の積に分解すること。すなわち A。
MATLAB
MATLAB(マットラブまたはマトラボ)は、アメリカ合衆国のMathWorks社が開発している数値解析ソフトウェアであり、その中で使うプログラミング言語の名称でもある。MATLABは、数値線形代数、関数とデータの可視化、アルゴリズム開発、グラフィカルインターフェイスや、他言語(C言語/C++/Java/Python)とのインターフェイスの機能を有している。MATLABは、主に、数値計算を扱う事ができるが、追加のオプションを使うことで、数式処理の能力を得ることができる。2019年時点でMATLABのユーザー数は400万人を超えており、100,000 以上の企業・政府・大学で、工学・理学・経済学など幅広い分野に利用されている。
Microsoft Windows
Microsoft Windows(マイクロソフト ウィンドウズ)は、マイクロソフトが開発・販売するオペレーティングシステム (OS) の製品群である。グラフィカルユーザインタフェース (GUI) を採用している。Windows発売以前では高価なワークステーション(ハイエンドパソコンを上回る性能のデスクトップコンピュータ)でしか実現されていなかったマルチタスクやGUIを中心とした使い勝手の良さを、一般消費者が入手しやすい標準的な規格のパソコンに順次取り込んで行き、一般向けOSのシェアのほとんどを占めるに至り、今や大きな知名度を持つ。
見る Math.NET NumericsとMicrosoft Windows
MIT License
MIT License(エム・アイ・ティー ライセンス)は、マサチューセッツ工科大学を起源とする代表的なソフトウェアライセンスである。X11 LicenseまたはX Licenseと表記されることもある。MIT LicenseはGPLなどとは異なり、コピーレフトではなく、オープンソースであるかないかにかかわらず再利用を認めている。BSDライセンスをベースに作成されたBSDスタイルのライセンスの一つである。MIT Licenseは、数あるライセンスの中で非常に制限の緩いライセンスと言える。 X Window System (X11) などのソフトウェアに適用されている。また、2015年3月には、GitHubで最も使われているオープンソースライセンスはMIT Licenseであるという調査結果も出ている。
見る Math.NET NumericsとMIT License
Mono (ソフトウェア)
Mono(モノ)は、GNOMEプロジェクト創設者のミゲル・デ・イカザが開発した、Ecma標準に準じた.NET Framework互換の環境を実現するためのオープンソースのソフトウェア群、またそのプロジェクト名である。 2018年3月現在、マイクロソフトの子会社であるXamarinと.NET Foundationが開発、販売、サポート業務を行っている。 共通言語基盤 (CLI) の実装やC#のコンパイラなどが含まれる。
見る Math.NET NumericsとMono (ソフトウェア)
QR分解
QR分解(キューアールぶんかい、QR decomposition, QR factorization)とは、m × n 実行列 Aを、 m 次直交行列 Q と m × n 上三角行列 R との積への分解により表すこと、またはそう表した表現をいう。このような分解は常に存在する。 QR分解は線型最小二乗問題を解くために使用される。また、固有値問題の数値解法の1つであるQR法の基礎となっている。
数値解析ソフトの比較
以下の表では数値解析ソフトウェアの比較を示す。
見る Math.NET Numericsと数値解析ソフトの比較
数値解析ソフトウェアの一覧
数値解析ソフトウェアは、数値解析を行うために開発・利用されるコンピュータソフトウェア・ライブラリの総称。
見る Math.NET Numericsと数値解析ソフトウェアの一覧
.NET Framework
Microsoft.NET Framework(マイクロソフト ドットネット フレームワーク)は、マイクロソフトが開発していたアプリケーション開発・実行環境である。バージョン4.8をもって.NET Frameworkのメジャーアップデートは終了し、セキュリティとバグ修正のための更新は継続されるが、以降の新規開発における推奨環境は.NETとなった。 Windowsアプリケーションだけでなく、XML WebサービスやウェブアプリケーションなどWebベースのアプリケーションなども包括した環境となっている。一般に.NETという場合、.NET全体の環境を指す。現在はOSS版の.NET CoreやMonoも包括した技術仕様の総称を.NETと呼び、プロプライエタリの初期から存在する従来のWindows専用実装のみを.NET Frameworkと呼んで区別している。
見る Math.NET Numericsと.NET Framework
2002年
この項目では、国際的な視点に基づいた2002年について記載する。
2009年
この項目では、国際的な視点に基づいた2009年について記載する。

