CRAN Task View: Numerical Mathematicsについて、機械翻訳を交えて日本語化し掲載しております。

概要

Maintainer: Hans W. Borchers, Robin Hankin, Serguei Sokol
Contact: hwb at mailbox.org
Version: 2024-07-27
URL: https://CRAN.R-project.org/view=NumericalMathematics
Source: https://github.com/cran-task-views/NumericalMathematics/
Contributions: このタスクビューに対する提案や改良は、GitHubのissueやpull request、またはメンテナのアドレスに電子メールで送ってください。詳しくはContributing guideをご覧ください。
Installation: このタスクビューのパッケージは、ctvパッケージを使用して自動的にインストールすることができます。例えば、ctv::install.views(“NumericalMathematics”, coreOnly = TRUE)はすべてのコアパッケージをインストールし、ctv::update.views(“NumericalMathematics”)はまだインストールしていない最新のパッケージをすべてインストールする。詳しくはCRAN Task View Initiativeをご覧ください。

数値計算に関するこのタスクビューでは、線形代数や解析の数値問題を解くのに便利なRのパッケージと関数をリストアップしています。統計学の領域以外でも、Rが数値計算法の実装と応用に有効な計算環境であることを示しています。

このタスクビューは微分方程式、最適化問題とソルバ、時系列を扱うパッケージと関数は扱いません。これらの話題はすべて対応するタスクビューDifferentialEquationsOptimizationTimeSeriesで広範囲に扱われるからです。これらすべてのタスクビューを合わせると、Rで数値計算の分野で利用可能なものの中から良いものを選択することができます。HighPerformanceComputingタスクビューには、並列計算のための多くのリンクがあり、これもまた興味深いでしょう。

タスクビューはトピックの概要を提供するために作成されました。もし、いくつかのパッケージが欠けたり、数値計算の特定のトピックをより詳細に扱うべき場合は、メールか、上記リンク先のGitHubリポジトリに課題またはプルリクエストを提出して、メンテナに連絡してください。

数値線形代数

統計は線形代数に大きく基づいている、多くの数値線形代数ルーチンは、一部のみを暗黙のうちにR中に存在している。明示的に使用可能な機能の例には、ベクトルおよび行列演算、行列(QR)分解、線形方程式、固有値/ベクトル、特異値分解、又は最小二乗近似を解くことである。

  • 推奨されるパッケージMatrixは、例えばCholeskyとSchr分解、指数関数行列、スパース行列のためのノルムと条件数、それらの上に緻密で、スパース行列や操作のためのクラスとメソッドを提供しています。
  • 推奨パッケージMASSは、(ペンローズ)逆数と行列の零空間を一般化し追加します。
  • expmは、指数関数、対数関数、および正方行列の平方根でなく、行列のベキやフレシェ導関数を計算します。expm()は、Matrix内の同じ名前の関数が好まれるべきです。
  • QZは、一般化されたシューア分解(QZ分解)を用いて、一般化された固有値と固有ベクトルを提供します。行列の指数関数を非常に効率的に計算することができます。
  • EigenRは、行列式、ランク、逆行列、擬似逆行列、カーネル、イメージ、QR分解、コレスキー分解、(複素)シューア分解、ヘッセンベルグ分解に対する複素線形代数関数を備えています。
  • geigenは、行列のペアに対する一般化された固有値および – ベクトルならびに QZ (一般化された Schur) 分解を計算します。
  • SparseMは、スパース行列のスパース線形代数の線形最小二乗問題を解決するためのクラスとメソッドが用意されています。
  • rmumpsは、MUMPSライブラリのラッパーを提供し、並列スパースダイレクトソルバを適用する大規模な線形方程式系を解きます。
  • sanicは、大規模な連立方程式(密および疎)を解くルーチンをサポートしています。コレスキー法、LU法、QR法、クリロフ部分空間法など、Eigen C++ライブラリの直接法および反復法によるソルバが利用できます。
  • Rlinsolveは、疎線形連立方程式の反復ソルバの集合です。JacobiやGauss-Seidelのような定常的な反復ソルバと、非定常(Krylov部分空間)法が用意されています。
  • svdは、特異値分解(SVD)の最先端の実装と固有値/固有ベクトルの計算にRバインディングを提供します。
    • irlbaは大きな行列のおおよその特異値/ベクトルを計算します。
  • PRIMMEは、実対称または複素エルミート行列の固有値と固有ベクトルを計算するためのCライブラリであるPRIMMEとインターフェースします。最大、最小、または内部の固有値/特異値を見つけ、前処理を適用して収束を加速します。
  • ARPACKライブラリのラッパーrARPACKは、一般的には数の固有値/ベクトルを計算するために使用されます。例えば、最大の固有値の数が少ない。
  • RSpectraは、大規模な固有値分解とSVD問題のための「Spectra」ライブラリをインターフェースします。
  • optRは、線形システムを解くための線形代数の初等方法(ガウス、LU、CGM、コレスキー)を使用しています。
  • mbendは、重み付きおよび重みなしの方法を使用して、非正定(対称)行列を正定に曲げます。
  • matrixcalcは、行列プロパティすなわち(半)正定性の行列計算、特別な行列、およびテストのための関数のコレクションが含まれています。
  • matlibは、多変量統計法で使用されるマトリックス線形代数を教育および学習するためのマトリックス関数のコレクションが含まれています。主にRを使用して行列代数のアイデアを学習するためのチュートリアル用です。
  • onionは、四元数とoctonians(実数上でノルム分割代数)を操作するためのルーチンが含まれています。四元数は、三次元空間内での回転を処理するために有用です。
  • RcppArmadilloRcppEigenは、C++テンプレートライブラリ「アルマジロ」RESPの統合を可能にする。C++で書かれた線形代数アプリケーションのための「固有値」、パフォーマンスと使いやすさのためのRcppを使用してRに統合。

特別な機能

多くの特別な数学関数は、特に対数や指数関数、三角関数や双曲線関数、またはベッセルおよびガンマ関数の研究に存在している。より多くの特別な機能は貢献パッケージで提供されています。

  • gslは、例えばエアリーとベッセル関数、楕円、指数積分、超幾何関数、ランベルトのW機能などの多くの特殊関数の実装が含まれている「GNU科学ライブラリ」へのインターフェースを提供しています。
    • RcppGSLは、「Rcpp」の概念を用いて「GSL」データ構造とRとの間の使いやすいインターフェースを提供します。
  • エアリーとベッセル関数は、実数と複素数のために、また、大規模な引数の近似値で、Besselで計算されます。
  • pracmaは、誤差関数とその逆のような特別な機能、不完全で、複雑なガンマ関数、指数関数、対数積分、フレネル積分、ポリガンマとリーマンのゼータ関数が含まれています。
  • 超幾何(および一般化超幾何)関数は、変換式やパラメータの特別な値を含む、hypergeoで計算されます。
  • 楕円モジュラー関数は、ワイエルシュトラスのP関数とヤコビのテータ関数を含む、ellipticで提供されています。複雑な機能を視覚化するためのツールがあります。
  • jacobiは、Jacobi シータ関数とその関連関数を評価します。Weierstrass楕円関数、Weierstrassシグマ関数とゼータ関数、Klein j関数、Dedekindエタ関数、ラムダモジュール関数、Jacobi楕円関数、Nevilleシータ関数、Eisenstein級数。変数の複素数値をサポートしています。
  • Carlsonは、カールソンの楕円積分と不完全楕円積分(compex引数を使用)を評価します。
  • expintは、C関数をGNU Scientific Libraryからラップして、指数積分と、最初の引数の負の値を含む不完全なガンマ関数を計算します。
  • fourierinは、高速フーリエ変換を使用して1つおよび2つの変数の関数のフーリエ積分を計算します。
  • logOfGammaは、近似値を使用して、大きな値のガンマ関数の自然対数を計算します。
  • lamWは、(Rcpp使用する)ランベルトのW関数の両方の実数値のブランチを実装しています。

多項式

ベースRの関数polyroot()は、Jenkins-Traubのアルゴリズムに基づいて、多項式のすべてのゼロを決定する。モデル式(with option row = TRUE)で、poly()を使用するときに線形回帰関数lm()は、多項式フィッティングを実行することができる。

  • polynomPolynomFは、多項式を解く、すなわち、すべての根を見つける(固有値計算に基づく)、微分や積分、多項式(ホーナースキーム)の値を求めるような単変量多項式を操作するための同様の機能を提供します。
  • polyMatrix(「polynom」に基づく)は、基本的なマトリックス演算を実装し、多項式マトリックスを操作するためのインフラストラクチャを提供します。
  • MonoPolyは、異なるアルゴリズムを適用し、与えられたデータに変数多項式にフィットする。
  • 多変数多項式の場合、multipol、いくつかの変数のこれらの多項式を操作し、組み合わせて様々なツールが用意されています。
  • mpolyは、多次多変数の基本的な微分計算操作を含む多項式、さらにいくつかのグレブナ基底計算のシンボリックな操作を容易にします。
  • mvpは、「mpoly」パッケージのprintおよびcoercionメソッドを使用して、シンボリック多変量多項式の高速操作を可能にしますが、速度の向上をもたらします。
  • orthopolynomは、チェビシェフ、エルミート、およびルジャンドル多項式だけでなく、球状や超球の多項式中でも直交多項式とその再発の関係を構築するための関数の集まりで構成されています。これらの多項式を操作する関数があります。
  • jackは、Jack多項式、帯状多項式(ランダム行列理論で表示)、およびSchur多項式(組み合わせ論で表示)の記号計算および評価を提供しています。
  • Rパッケージのフリー代数freealgは、非可換の不確定要素を含む多変量多項式を処理します。
  • sprayは、多変数多項式として解釈される疎な多次元配列の機能を提供します。
  • qsprayは、有理係数を持つ多変数多項式の記号的計算と評価を提供します。
  • minimaxApproxは、多項式minimax近似のRemez(1962)のアルゴリズムと、有理minimax近似のCodyら(1968)のアルゴリズムを実装しています。

微分と積分

ベースRのD()とderiv()は記号的単純な式の導関数を計算する。この関数integrate()は数値的にRに一変量の関数を積分するためのアプローチを実装しています。それは、適応ガウス・クロン求積を適用し、ある程度の特異点と無制限の定義域を扱うことができます。

  • Derivは、Rでのシンボリック分化の拡張ソリューションを提供します。ユーザは、カスタム派生ルールを追加することができますし、関数の出力には、再度実行機能になります。
  • numDerivは、数値の単純な有限差分によって計算された勾配、ヤコビアン、とヘッセ行列、リチャードソン補外、または高精度の複雑なステップのアプローチを提供し、Rでの数値微分の標準を確立します。
  • dualは、双対数を使用することにより、(一変量関数の)自動微分を実現します。数学関数の場合、その値と正確な1次導関数が返されます。
  • autodiffr (Github上)は、ネイティブR関数の自動微分を行うJuliaパッケージjlとReverseDiff.jlのRラッパーを提供します。(Julia v0.6でのみ動作します)
  • pracmaは、リチャードソンの補外や複雑な工程を含む数値微分を計算するための関数が含まれています。Fderiv()は高次の数値微分を計算します。pracmaは数値積分のためのいくつかのルーチンがあります。適応型のLobatto求積、ロンバーグ積分、ニュートン・コーツの公式、クレンショウ・カーチス直交ルール。integral2()は、極座標で、または可変間隔の制限による特徴付け定義域に対しても、2次元の関数を積分します。
  • gaussquadは、その中チェビシェフ、エルミート、ラゲール、およびルジャンドル直交ルールは、明示的にそれぞれの場合に、ノードと重みを返す、ガウス求積を実行するための関数のコレクションが含まれています。statmodのgaussquad()は、同じような仕事をしていません。
  • GramQuadは、グラム多項式に基づく数値積分を可能にします。
  • fastGHQuadは、高速Rcppは(適応)ガウス-エルミート求積の実装をベース用意されています。
  • n次元空間の超長方形にAdaptive多変量の積分は、スティーブン・ジョンソンによるCコードに基づいて、adaptIntegrate()などのcubatureで提供されています。被積分関数があっても複数の値を持つことができます。
  • vegas()でそれは重要度サンプリングに基づいてモンテカルロ積分へのアプローチが含まれています。
  • mvQuadは、多変量の統合のために使用することができる多変量グリッドを生成するための方法を提供します。これらのグリッドは、ニュートン・コーツまたはガウス求積公式のような異なる直交ルールに基づいて行われます。
  • SparseGridは、高次元空間における多変量統合に別のアプローチを提供します。なお、直交ルールと同様に使用することができる疎なn次元のグリッドを作成します。
  • SphericalCubatureは、n次元空間の単位球と球上の機能を統合するためのcubatureを採用します。SimplicialCubatureは、n次元空間内のm次元単体オーバー機能を統合するための方法を提供します。両方のパッケージには、多項式の正確な方法を含みます。
  • polyCubは、2次元の多角形のドメイン上の数値積分のためのいくつかのルーチンを保持します。
  • Padeは、十分な長さのテイラー級数係数を与えられたパデ近似の分子と分母の係数を算出します。
  • calculusは、正確な高次微分、テイラー級数展開、微分演算子、直交座標系でのモンテカルロ積分など、高次元の数値および記号計算に効率的な機能を提供します。
  • featuresは、一次および二次導関数、または臨界点での曲率などの機能データから特徴を抽出します。

補間と近似

smooth.spline()は、立方スプライン近似を行っている間、ベースRは、立方(エルミート)スプライン補間のためのspline()と定数と線形補間のための関数approx()を提供している。基本パッケージスプラインは関数periodicSpline()に定期的な補間スプラインを作成します。

  • 不規則な間隔データの補間は、akimaで可能です。単変量データのためのaspline()、2D矩形領域のデータのためのbicubic()またはinterp()。(このパッケージは商業用途に使用できていないACMのライセンスとの下で配布されています。)
  • signalは、線形、スプライン、およびキュービック補間、特にinterp1()は、区分的キュービックエルミート補間のためのpchip()、およびサビツキー・ゴーレイ平滑用sgolay()で離散データを滑らかにするためにいくつかのフィルタが含まれています。
  • pracmaは、barylag()、barylag2d()、akimaInterp()の1-dim.akima、および有理関数とのデータの近似と補間、すなわちratinterp()とrationalfit()で特異点の存在下で、重心ラグランジュ補間(1および2次元で)を提供します。
  • interpは、線形またはスプラインを使用して、規則的および不規則なグリッド上で二変量データ補間を行います。現在、区分線形補間部が実装されています。(これは、ACMのライセンスを受けたakima :: interpとtripack :: tri.mesh関数を無料で置き換えることを目的としています。)
  • splines2は、次の基底行列とその積分 (C-spline を除く) および微分を閉形の再帰式で提供します.
    • B-spline
    • M-spline
    • I-spline
    • convex spline (C-spline)
    • periodic spline
    • natural cubic spline
    • generalized Bernstein polynomials
  • bsplineは、1元データを補間をしたり平滑化する関数を作成するためにBスプラインを使用します。fitsmbsp()はノット位置を最適化し、単調性および正則性の制約を課すことができます。生成された関数は、dbsp()で微分したり、ibsp()で積分したりすることができます。
  • 不規則に間隔を置いたデータの三角測量のためのtripackは、不規則な間隔のデータの三角測量とボロノイモザイクの生成の両方を提供する拘束された二次元Delaunay三角測量パッケージです。
  • stinepackのsinterp()はStinemanのアルゴリズムを適用することにより、区分有理関数による補間を実現しています。補間関数は、指定された点が単調に変化する領域で単調されます。
  • schumakerのschumacher()は、単調で安定した形を保つ形状保持スプラインを実装しています。データが単調、凹、または凸である場合には凹または凸です。
  • ADPFは、Savitzky-Golay平滑化を改善するために、最小二乗多項式回帰と統計的検定を使用します。
  • conicfitは、一般的にはフィッティング円、楕円、および円錐曲線のためのいくつかの(幾何と代数)アルゴリズムを提供しています。

ルートの検索と固定小数点

ブレント・デッカーのアルゴリズムを実装するuniroot()は、単変量の関数の根を見つけるための研究における基本的なルーチンです。二分法の実装では、いくつかの貢献のパッケージにあります。より精度の高いルート求める関数unirootR()はマルチ精度パッケージRmpfrにあります。多変量の関数の根を見つけるためには、以下の2つのパッケージを参照してください。

  • itpは、Interpolate、Truncate、Project (ITP) ルート探索アルゴリズムを実装しています。ユーザは、一変量(1次元)の関数と関数値が異なる符号を持つ区間の終点を指定します。
  • rootSolveは、非線形(および線形)方程式系の根を見つけるための関数multiroot()が含まれています。それはまた、(二次ゼロを除いて)インターバル内の一変量関数のすべてのゼロを見つけようと試みる拡張all()を含みます。
  • 方程式の非線形システムを解くためのBBには、感応度分析でマルチスタート機能とdfsane()で導関数のない派生型を含むsane()の(非単調)Barzilai-Borweinスペクトル法を提供します。
  • nleqslvは、行を検索をしたり、信頼領域のような戦略によってサポートされ、代替的Broydenやニュートン法を用いて方程式の非線形システムを解決します。
  • ktsolveは、BBまたはnleqslvで方程式を解くための共通インターフェースを定義しています。
  • FixedPointは、アンダーソン加速法、イプシロン外挿法、最小多項式法など、関数の固定点ベクトルを求めるためのアルゴリズムを提供します。
  • daaremは、滑らかで単調で遅い固定小数点反復の収束を加速するためのDAAREMメソッドを実装しています。
  • 期待値最大化(EM)アルゴリズムなどの滑らかな収縮マッピングから低速で単調なシーケンスの収束を加速するためのアルゴリズムは、SQUAREM respで提供されます。turboEM

離散数学と数論

そうでなく、多くの機能は、計算数論のために用意されています。倍精度の整数がちょうど2^53-1まで表現することができることに注意してください。gmpが必要とされるようなマルチ精度パッケージの限界を超えるならば、下記を参照してください。

  • numbersは、因数分解、素数、双子素数、原始根、モジュラーインバース、拡張GCDなどのための機能を提供します。除数関数やオイラーのファイ関数のようないくつかの数論的関数が含まれています。
  • contfracは、連分数と部分分数を評価するための様々なユーティリティが含まれています。
    • contFracRは、数値を連続分数に変換します。ペルの方程式のソルバが提供されています。
  • magicは、任意の次元の配列の操作と解析のための関数を含む、魔法の四角形とハイパーキューブを作成し、調査します。
  • freegroupは、並置、反転、スカラーによる乗算、パワー演算、およびTietzeフォームを含む自由グループの要素を操作するための機能を提供します。
  • partitionsは、制限された等しくない分割を含む整数の加法分割を列挙します。
  • permutationsは、有限集合の可逆機能として順列を扱い、それらにいくつかの数学的な操作が含まれています。
  • combinatは、要素(例えばベクトル)の集合の特定の長さの全ての順列または全ての組み合わせを生成する。それはまた、二項係数を計算します。
  • arrangementsは、順列、組み合わせ、およびパーティション用のジェネレータとイテレータを提供します。イテレータは、ユーザが迅速かつメモリ効率の良い方法でアレンジメントを生成することを可能にします。順列と組み合わせは、置換の有無にかかわらず描画でき、マルチセットをサポートします。
  • set6は、(R6クラスとして)多くの形式の数学セット(セット、タプル、間隔)を実装し、それらの標準操作(unions、products、differences)を許可します。
  • RcppAlgosは、制約の有無にかかわらず、ベクトルのすべての組み合わせまたは置換を生成する最適化された関数を提供します。
    • 拡張パッケージRcppBigIntAlgosは、大きな整数を完全に因数分解するための2次ふるいアルゴリズムを備えています。
  • Zseqは、よく知られている整数シーケンスを生成します。任意の数の計算には「gmp」パッケージが採用されています。すべての機能は、そのヘルプページ上で、整数シーケンスのオンライン百科事典(OEIS)の対応するエントリへのハイパーリンクを持っています。
  • primesは、素数を識別および生成するための非常に高速な(Rcpp)関数を提供します。
    • primefactrは、大きな階乗の比率を減らすなどの計算に素因数分解を使用します。
  • frabは、自由アーベル群を基礎構造として2つの表を「追加」するメソッドを提供します。

マルチ倍精度演算とシンボリック数学

  • 複数の精度演算は、GMP Cライブラリへのインターフェース、gmpからRで提供されています。例としては、整数の因数分解、確率的素数テスト、またはビッグ有理数上での操作である方程式の線形システムを解くことができるため。
  • 複数の単精度浮動小数点演算や関数をMPFRとGMPライブラリを使用してRmpfrを介して提供されます。特別な数字といくつかの特別な機能は、同様に、任意の精度でのルート検索、統合、最適化のためのルーチンとして、含まれています。
  • Brobdingnagは、その対数プラスその符号を示すフラグを保持することによって、非常に大きな数を処理します。(優れたビネットは、これはS4メソッドを使用して行われている方法について説明します。)
  • VeryLargeIntegersは、任意の大きな整数を格納して管理するための多倍精度ライブラリを実装しています。確率的素数検定と因数分解アルゴリズムが含まれています。
  • bignumは、小数点以下50桁の精度の任意精度の整数および浮動小数点数のためのパッケージです。このパッケージは「Multiprecision」C++ ライブラリを利用し、特にRパッケージの「tidyverse」コレクションと一緒に動作するように設計されています。
  • Ryacasは、コンピュータ代数システム「Yacas」にインターフェースします。これは、微積分および線形代数における記号的および任意精度の計算をサポートします。
  • (「reticulate」に基づく)caracasは、Rから(Pythonで書かれた)記号代数システム「SymPy」をアクセスします。これは、任意精度の計算、線形代数や微積分、解く方程式、離散数学、および大いに多くをサポートしています。
  • symengineは、数式の操作、正確な導関数の検索、多項方程式の解法、シンボリック行列計算の実行、常微分方程式の解法などの高速シンボリック計算用のC ++ライブラリである「SymEngine」へのインターフェースを提供します。
  • rimは、フリーで強力な計算機代数システムである Maximaへのインターフェースを提供します。結果はLaTeXまたはMathMLで出力でき、2Dおよび3Dプロットは直接表示されます。Maximaのコードチャンクは、「RMarkdown」文書に含めることができます。
  • m2rは、代数幾何学と可換環論の研究をサポートする拡張ソフトウェアプログラムであるMacauley2への永続的なインターフェースを提供します。Macauley2 は、独立してインストールする必要があり、そうでない場合はクラウド上の Macauley2プロセスがインスタンス化されます。
  • cliffordは、任意の次元のクリフォード代数のための一連のルーチンを提供し、ローレンツ変換や四元数の乗算などの特殊なケースについて説明します。
  • weylは、量子力学に応用されるワイル代数の機能を提供します。
  • stokesは、外部微積分学で使われるような微分k-形式の代数を扱います(これらのパッケージはすべてdisordR規律を使っています)。
  • jordanは、ヨルダン代数を扱う機能を提供します。ヨルダン代数は可換環ですが非結合環であり、ヨルダン恒等式 (xy)xx = x(yxx) に従います。

Pythonインターフェース

Pythonは、モジュール「NumPy」、「SciPy」、「Matplotlib」、「SymPy」、「pandas」を使用して、手の込んだ、効率的な数値とグラフィックツールを利用できます。

  • reticulateは、Pythonモジュール、クラス、関数へのRインターフェースです。PythonをRで呼び出すと、データ型は自動的に同等のPython型に変換されます。値がPythonからRに返されると、それらはR型に変換されます。RStudioチームのこのパッケージはRからPythonを呼び出すための一種の標準です。
  • featherは、最高速度を目指して設計された軽量バイナリ・データ・ストアであるフェザー・ファイルの読み取りと書き込みのバインディングを提供します。この記憶形式は、Python、Julia、またはScalaでアクセスすることもできます。
  • 「pyRserve」は、RserveをRPCゲートウェイとして実行しているRプロセスにPythonを接続するためのPythonモジュールです。このRプロセスはリモートマシン上で実行でき、可変アクセスとファンクションコールはネットワークを介して委任されます。
  • XRPython(と「XRJulia」)は、John ChambersのXRと彼の書籍「Extending R」に基づいており、RとPython respの非常に構造化された統合を可能にします。

SageMathは、 Python ベースのオープンソース数学システムで、R 関数を実行できるほか、Maxima、GAP、FLINT などのシステム、その他多くの数学プログラムへのアクセスも提供します。SageMathはCoCalcのウェブインターフェースから自由に利用することができます。

MATLAB、Octave、Julia、その他インターフェース

困難な数値問題を解決するには、MATLAB(商用)やOctave(無料)などの数値計算ソフトウェアとのインターフェースが重要です。

  • matlabは、それぞれのMATLABの名前を使用して、純粋なRに実装されているMATLAB関数を複製、エミュレーションパッケージは約30の単純な関数、が含まれています。
  • rmatioおよびmatlabは、バージョン4および5のMATファイル(MATLABデータ形式)を読み書きするためのツールを提供します。「R.matlab」は、TCP接続を介してオブジェクトを送信および取得、MATLAB v6プロセスとの一方向のインターフェースも有効にします。

Juliaは、「数値計算のための高水準の高性能動的プログラミング言語」であり、最適化問題やRの科学計算を面白くすることができます。

  • JuliaCallは、RとJuliaの間のシームレスな統合を提供します。ユーザは他のR関数と同じようにJulia関数を呼び出すことができ、R関数はJulia環境で適切な自動型変換を使用して呼び出すことができます。
    • Notes on Julia Callでは、「JuliaCall」によるジュリア関数の適用方法を紹介しています。
  • JuliaConnectoRは、JuliaをRと統合するための機能指向のインターフェースを提供します。インポートされたJulia関数はR関数として呼び出すことができます。データ構造は自動的に変換されます。
  • John ChambersによるXRJuliaのJuliaインターフェースは、Julia関数呼び出しに直接的に類似しています。「juliaExamples」パッケージはGithubで利用できます。

Java Math関数は、「rjava」または「rscala」インターフェースを通じて使用することができます。また、commonsMathは、数値計算、最適化、微分方程式のあらゆる側面に特化したライブラリである Apache Commons Mathematics Library の Java JAR ファイルを呼び出すことができます。

MATLAB、Maple、Mathematica などの商用プログラムには、R の関数を呼び出す機能があることに注意してください。

 

R言語 CRAN Task View:数値解析

R言語 CRAN Task View:数値解析」への1件のフィードバック

コメントは受け付けていません。