C++ - ロジスティック回帰分析! (2022-12-14)
少し前に、説明変数K個・目的変数1個のロジスティック回帰分析のアルゴリズムを Ruby で実装したことを紹介しました。 Ruby - ロジスティック回帰分析! 今回は、説明変数2個・目的変数1個のロジスティック回帰分析のアルゴリズムを C++ で実装してみました。
少し前に、説明変数K個・目的変数1個のロジスティック回帰分析のアルゴリズムを Ruby で実装したことを紹介しました。 Ruby - ロジスティック回帰分析! 今回は、説明変数2個・目的変数1個のロジスティック回帰分析のアルゴリズムを C++ で実装してみました。
C++ 用の行列(線形代数)ライブラリである Eigen の環境を構築し、試用してみました。
2か月ほど前、説明変数K個・目的変数1個のロジスティック回帰分析のアルゴリズムをプログラムとして実装できるようにするために自分なりに理解してまとめたものを紹介しました。 ロジスティック回帰分析! 今回は、そのアルゴリズムを Ruby で実装してみました。(但し、行列計算では matrix ライブラリを...
説明変数K個・目的変数1個のロジスティック回帰分析のアルゴリズムについて、プログラムとして実装できるようにするために自分なりに理解してまとめたものです。 ロジスティック回帰分析の実装について調べると、ほとんどが基本的な内容とライブラリを使った実装方法の説明であり、ライブラリに頼らずに自分で実装する方法について知...
C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(5次回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法(ピボット選択)」を使用します。 先日は Ruby で実装しています。。 Ruby - Array クラス拡張で単回帰曲線...
かつて、 Ruby で Array クラスを拡張して単回帰直線や単回帰曲線(2〜4次、その他)を計算してみました。 (過去記事は「こちら」で検索してください) 今回は5次の単回帰曲線を計算してみました。自作のある解析処理で必要になったため、その練習として。(連立方程式の解法にはガウスの消去法(ピボット選択)を使...
かつて、連立方程式を「ガウスの消去法」で解くアルゴリズムを C++ で実装したことを紹介しました。 C++ - 連立方程式解法(ガウスの消去法)! しかし、計算途中で対角成分がゼロになるケースでは計算ができませんでした。 今回はその問題を解決すべく、「ガウスの消去法(ピボット選択)」で解くアルゴリズ...
かつて、連立方程式を「ガウスの消去法」で解くアルゴリズムを Fortran95 で実装したことを紹介しました。 Fortran - 連立方程式解法(ガウスの消去法)! しかし、計算途中で対角成分がゼロになるケースでは計算ができませんでした。 今回はその問題を解決すべく、「ガウスの消去法(ピボット選択...
かつて、連立方程式を「ガウスの消去法」で解くアルゴリズムを Ruby で実装したことを紹介しました。 Ruby - 連立方程式解法(ガウスの消去法)! しかし、計算途中で対角成分がゼロになるケースでは計算ができませんでした。 今回はその問題を解決すべく、「ガウスの消去法(ピボット選択)」で解くアルゴ...
C++ でローレンツ・アトラクタの計算をしてみました。 今回は、微分方程式の近似解法に Runge-Kutta(ルンゲ=クッタ)法を使用します。 前回は、微分方程式の近似解法に Euler(オイラー)法を使用しています。 C++ - ローレンツ・アトラクタ(Euler 法)
C++ でローレンツ・アトラクタの計算をしてみました。 今回は、微分方程式の近似解法に Euler(オイラー)法を使用します。 過去には Ruby や Python で同様のことをしています。 Ruby - ローレンツ・アトラクタ(Euler 法)! Python - ローレンツ・アトラクタ(Eul...
C++ で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。(ついでに、後置・中置・前置記法での計算も) 前回・前々回はスタックを使用した処理についてでした。 C++ - 数式文字列 => 逆ポーランド記法 変換! C++ - 逆ポーランド記法の評価...
前回、 C++ で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。(スタック使用) C++ - 数式文字列 => 逆ポーランド記法 変換! 今回は、出力された逆ポーランド記法での表現を読み込んで計算する処理を実装してみました。
C++ で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。 今回はスタックを使用した処理です。(後日、二分木を使用した処理についても紹介予定) 逆ポーランド記法の数式文字列から値を計算する処理(逆ポーランド計算機)については、次回紹介予定です。 ちなみに、過去には...
Ruby で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。(ついでに、後置・中置・前置記法での計算も) 前回・前々回はスタックを使用した処理についてでした。 Ruby - 数式文字列 => 逆ポーランド記法 変換(スタック使用)! Ruby - ...
前回、 Ruby で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。(スタック使用) Ruby - 数式文字列 => 逆ポーランド記法 変換! 今回は、出力された逆ポーランド記法での表現を読み込んで計算する処理を実装してみました。
Ruby で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。 今回はスタックを使用した処理です。(後日、二分木を使用した処理についても紹介予定) 逆ポーランド記法の数式文字列から値を計算する処理(逆ポーランド計算機)については、次回紹介予定です。 ちなみに、過去に...
地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角、また、1地点から見た方位角・距離にある地点の位置等を計算するために Vincenty 法なるアルゴリズムが存在します。 前回、 C++ で「地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角」の計算処理を実装してみました。 今回は、 C++ で...
地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角、また、1地点から見た方位角・距離にある地点の位置等を計算するために Vincenty 法なるアルゴリズムが存在します。 今回、 C++ で「地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角」の計算処理を実装してみました。 過去には、 Rub...
C++ でケンドールの順位相関係数(Kendall’s Rank Correlation Coefficient)の計算をしてみました。 過去には Ruby や Fortran で行っています。 Ruby - ケンドール順位相関係数の計算! Fortran - ケンドール順位相関係数の計算!
C++ でスピアマンの順位相関係数(Spearman’s Rank Correlation Coefficient)の計算をしてみました。 過去には Ruby や Fortran で行っています。 Ruby - スピアマン順位相関係数の計算! Fortran - スピアマン順位相関係数の計算!
C++ で二項係数の計算をしてみました。(各種計算式を使用して) 過去には Ruby や Fortran で計算しています。 Ruby - 二項係数の計算! Fortran - 二項係数の計算!
C++ で任意精度算術ライブラリ GMP(The GNU Multi Precision Arithmetic Library) を使って、階乗の計算をしてみました。
C++ で3次スプライン補間のアルゴリズムを実装してみました。 過去には Ruby, Python, Fortran で実装しています。 Ruby - 3次スプライン補間! Python - 3次スプライン補間! Fortran - 3次スプライン補間!
C++ で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「クラウト法(Crout method)」です。 過去には Ruby, Fortran で実装しています。 Ruby - LU 分解(クラウト法(Crout method))! Fortran - LU 分解(ク...
C++ で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「内積形式ガウス法(inner-product form)」です。 過去には Ruby, Fortran で実装しています。 Ruby - LU 分解(内積形式ガウス法(inner-product form))! ...
C++ で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「外積形式ガウス法(outer-product form)」です。 過去には Ruby, Fortran で実装しています。 Ruby - LU 分解(外積形式ガウス法(outer-product form))! ...
重回帰分析における自由度調整済み決定係数の計算を C++ で行ってみました。 過去には Fortran 等で実装しています。 Fortran - 重回帰分析・自由度調整済み決定係数の計算!
C++ で、数値からなる同サイズの配列3個を説明変数2個・目的変数1個とみなして重回帰式を計算する方法についての記録です。(今回は2次多項式モデル) 連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2 つの配列から重回帰分析(...
C++ で、数値からなる同サイズの配列4個を説明変数3個・目的変数1個とみなして重回帰式を計算する方法についての記録です。 連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 重回帰式計算(説明変数2個)(その2)!
C++ で単回帰分析(2次曲線回帰)の決定係数を計算してみました。 過去には Fortran 等で実装しています。 Ruby - 単回帰分析(2次曲線回帰)の決定係数計算! Fortran - 単回帰分析(2次曲線回帰)の決定係数計算!
C++ で2つの単回帰分析(線形回帰; 単回帰直線)の決定係数を計算してみました。 過去には Fortran 等で実装しています。 Ruby - 単回帰分析(線形回帰)の決定係数計算! Fortran - 単回帰分析(線形回帰)の決定係数計算!
C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(e指数回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(e指数回...
C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(指数(ab指数)回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線...
C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(べき乗回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(べき乗回...
C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(分数(逆数)回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(分...
C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(自然対数回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(自然対...
C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(ルート回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(ルート回...
C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(4次回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(4次回帰モ...
C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(3次回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(3次回帰モ...
C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(2次回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(2次回帰)...
C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰直線を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。(分散/共分散を使用する方法(実際にはその変形版)もある) 過去には Fortran 等で実装しています。 Fortran ...
前回、 Fortran 95 で余因子展開による行列式の計算を行いましたが、今回は、それを応用して、逆行列の計算を行ってみました。 少し前に、同じことを Ruby で Array クラスを拡張する方法で実装しています。 Ruby - 逆行列の計算(余因子行列を使用)!!
Fortran 95 で余因子展開による行列式の計算を行ってみました。 少し前に、同じことを Ruby で Array クラスを拡張する方法で実装しています。 Ruby - 行列式の計算(余因子展開による)!
前回、 Ruby で余因子展開による行列式の計算を行いましたが、今回は、それを応用して、逆行列の計算を行ってみました。 Ruby - 行列式の計算(余因子展開による)!
Ruby で余因子展開による行列式の計算を行ってみました。
重回帰分析における自由度調整済み決定係数の計算を Fortran 95 で行ってみました。 前回、同じことを Ruby で Array クラスを拡張する方法で実装しています。 Ruby - 重回帰分析・自由度調整済み決定係数の計算!
重回帰分析における自由度調整済み決定係数の計算を Ruby で行ってみました。
以前、 Fortran 95 で、説明(独立)変数2個、目的(従属)変数1個の「重回帰式」を計算する方法を紹介しました。 Fortran - 重回帰式計算(説明変数2個)! Fortran - 重回帰式計算(説明変数2個)(その2)! 今回は、説明(独立)変数3個の場合の重回帰式を計算してみまし...
以前、 Ruby で、説明(独立)変数2個、目的(従属)変数1個の「重回帰式」を計算する方法を紹介しました。 Ruby - Array クラス拡張で重回帰式計算! Ruby - Array クラスを拡張して重回帰分析(2次多項式モデル)! 今回は、説明(独立)変数3個の場合の重回帰式を計算してみま...
Fortran 95 でケンドールの順位相関係数(Kendall’s Rank Correlation Coefficient)の計算をしてみました。
Fortran 95 でスピアマンの順位相関係数(Spearman’s Rank Correlation Coefficient)の計算をしてみました。
Ruby でケンドールの順位相関係数(Kendall’s Rank Correlation Coefficient)の計算をしてみました。
Ruby でスピアマンの順位相関係数(Spearman’s Rank Correlation Coefficient)の計算をしてみました。
Fortran 95 で二項係数の計算をしてみました。(各種計算式を使用して) また、計算結果が多倍長になることを考慮し、多倍長演算ライブラリ FMLIB を使用しています。
Ruby で二項係数の計算をしてみました。(各種計算式を使用して)
地球楕円体上の2地点と地球中心がなす中心角を Ruby で計算してみました。 単純に2点の直交座標を計算後、2ベクトルのなす角を計算するだけ。(他にも算出方法はありますが)
地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角、また、1地点から見た方位角・距離にある地点の位置等を計算するために Vincenty 法なるアルゴリズムが存在します。 前回、 Ruby で実装してみました。 Ruby - Vincenty 法による地球楕円体上の距離/位置計算! 今回は、...
地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角、また、1地点から見た方位角・距離にある地点の位置等を計算するために Vincenty 法なるアルゴリズムが存在します。 今回、 Ruby で実装してみました。 ちなみに、過去には2地点間の距離を「ヒュベニの公式」を使って計算しています。(精度は Vi...
Fortran の 2003 以降ではオブジェクト指向のプログラミンが可能となっております。 ソースの作成方法について記録しておきます。
過去に、説明(独立)変数2個、目的(従属)変数1個の「重回帰式」の計算を Fortran 95 で実装しました。 Fortran - 2 つの配列から重回帰式計算! 今回は、重回帰式を2次多項式にしてみました。 前回、同じことを Ruby で Array クラスを拡張する方法で実装しています。 ...
過去に、説明(独立)変数2個、目的(従属)変数1個の「重回帰式」の計算を Ruby の Array クラスを拡張する方法で実装しました。 Ruby - Array クラス拡張で重回帰式計算! 今回は、重回帰式を2次多項式にしてみました。
以前、 Fortran 95 で、説明(独立)変数2個、目的(従属)変数1個の「重回帰式」を計算する方法を紹介しました。但し、平方和/積和の行列を作成してからその行列(連立方程式)を解く方法でした。 Fortran - 重回帰式計算(説明変数2個)! 今回は、直接、行列(偏微分後の連立方程式)を解く方...
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(e指数回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(指数(ab指数)回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(べき乗回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(分数(逆数)回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(自然対数回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(ルート回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして4次の単回帰曲線を計算してみました。(連立方程式の解法にはガウスの消去法を使用) 前回は3次回帰モデルについて行なっています。 Fortran - 2つの配列から単回帰曲線(3次回帰モデル)計算!
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして3次の単回帰曲線を計算してみました。(連立方程式の解法にはガウスの消去法を使用) 過去には2次回帰モデルについて行なっています。 Fortran - 2つの配列から単回帰曲線(2次回帰)計算! Fortran - ...
これまで Ruby で Array クラスを拡張して単回帰直線や各種単回帰曲線を計算してみました。 今回、それぞれの回帰モデル間にどのような違いがあるのか、グラフを並べて比較してみました。
Ruby で Array クラスを拡張して単回帰曲線(e指数回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Ruby で Array クラスを拡張して単回帰曲線(指数(ab指数)回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Ruby で Array クラスを拡張して単回帰曲線(べき乗回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Ruby で Array クラスを拡張して単回帰曲線(分数(逆数)回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Ruby で Array クラスを拡張して単回帰曲線(自然対数回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Ruby で Array クラスを拡張して単回帰曲線(ルート回帰モデル)を計算してみました。(連立方程式の解法にはガウスの消去法を使用)
Ruby で Array クラスを拡張して回帰式が4次の単回帰曲線を計算してみました。(連立方程式の解法にはガウスの消去法を使用) 前回は3次回帰モデルについて行なっています。 Ruby - Array クラス拡張で単回帰曲線(3次回帰モデル)計算!
Ruby で Array クラスを拡張して回帰式が3次の単回帰曲線を計算してみました。(連立方程式の解法にはガウスの消去法を使用) 過去には2次回帰モデルについて行なっています。 Ruby - Array クラス拡張で単回帰曲線計算! Ruby - Array クラス拡張で単回帰曲線計算(Ver.2...
Fortran 95 で2つの単回帰分析(2次曲線回帰)の決定係数を計算してみました。 過去には Ruby で Array クラスを拡張して行なっています。 Ruby - 単回帰分析(2次曲線回帰)の決定係数計算!
Fortran 95 で2つの単回帰分析(線形回帰; 単回帰直線)の決定係数を計算してみました。 過去には Ruby で Array クラスを拡張して行なっています。 Ruby - 単回帰分析(線形回帰)の決定係数計算!
Ruby で2つの単回帰分析(2次曲線回帰)の決定係数を計算してみました。 単回帰曲線(2次)の計算は Array クラスを拡張して行なっています。
Ruby で2つの単回帰分析(線形回帰; 単回帰直線)の決定係数を計算してみました。 単回帰直線や相関係数の計算は Array クラスを拡張して行なっています。
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(2次回帰)を計算する方法についての記録です。 ※今回は連立1次方程式を解くのに「ガウスの消去」を使用。 前回は連立1次方程式を解くのに分散/共分散を使用する方法(実際にはその変形版)を使用しました。 For...
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(2次回帰)を計算する方法についての記録です。 過去には、単回帰直線(1次回帰)を計算する方法についての紹介しまいた。 Fortran - 2 つの配列から単回帰直線計算!
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰直線を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去」を使用します。 過去にも行いましたが、その際は連立1次方程式を解くのに分散/共分散を使用する方法(実際にはその変形版)を使用しました。...
Ruby で Array クラスを拡張して回帰式が2次の単回帰曲線を計算してみました。 ※今回は連立1次方程式を解くのに「ガウスの消去法」を使用。 過去にも行いましたが、その際は連立1次方程式を解くのに分散/共分散を使用する方法(実際にはその変形版)を使用しました。 Ruby - Array クラス拡張...
Ruby で Array クラスを拡張して単回帰直線の切片と傾きを計算してみました。 ※今回は連立1次方程式を解くのに「ガウスの消去法」を使用。 過去にも行いましたが、その際は連立1次方程式を解くのに分散/共分散を使用する方法(実際にはその変形版)を使用しました。 Ruby - Array クラス拡張で...
連立1次方程式を LU 分解を用いて解くアルゴリズムを Fortran 95 で実装してみました。 (使用する LU 分解法は「外積形式ガウス法(outer-product form)」) 前回 Ruby で同じことをしました。 Ruby - LU 分解を用いた連立1次方程式の解法!
連立1次方程式を LU 分解を用いて解くアルゴリズムを Ruby で実装してみました。 (使用する LU 分解法は「外積形式ガウス法(outer-product form)」)
Fortran 95 で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「クラウト法(Crout method)」 過去には Ruby で同じことをしました。 Ruby - LU 分解(クラウト法(Crout method))!
Fortran 95 で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「内積形式ガウス法(inner-product form)」 過去には Ruby で同じことをしました。 Ruby - LU 分解(内積形式ガウス法(inner-product form))!
Fortran 95 で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「外積形式ガウス法(outer-product form)」 過去には Ruby で同じことをしました。 Ruby - LU 分解(外積形式ガウス法(outer-product form))!
Ruby で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「クラウト法(Crout method)」です。 ちなみに、前々回は「外積形式ガウス法(outer-product form)」で、前回は「内積形式ガウス法(inner-product form)」で実装しました。 ...
Ruby で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「内積形式ガウス法(inner-product form)」です。 ちなみに、前回は「外積形式ガウス法(outer-product form)」で実装しました。 Ruby - LU 分解(外積形式ガウス法(oute...
Ruby で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「外積形式ガウス法(outer-product form)」です。
Fortran 95 で「3次スプライン補間」のアルゴリズムを実装してみました。
Fortran 95 で「べき剰余」のアルゴリズムを実装してみました。
Fortran 95 で、説明(独立)変数2個、目的(従属)変数1個の「重回帰式」を計算する方法についての記録です。
Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰直線を計算する方法についての記録です。
Fortran 95 で、数値からなる同サイズの配列2つを2つの確率変数とみなして相関係数を計算する方法についての記録です。
Fortran 95 で(離散)フーリエ変換を実装する方法についての記録です。
Fortran 95 でフーリエ級数展開を実装する方法についての記録です。
Fortran 95 でニュートン補間を行う方法についての記録です。
Fortran 95 でラグランジュ補間を行う方法についての記録です。
Fortran 95 で \(\cos(x)\) のテイラー展開を計算する方法についての記録です。
Fortran 95 で \(e^x\) のテイラー展開を計算する方法についての記録です。
Fortran 95 でヒープ(上方移動・下方移動)のアルゴリズムを実装してみました。
Fortran 95 で線形計画法を「シンプレックス法」で解くアルゴリズムを実装してみました。
Fortran 95 で「ガウスの消去法」による連立方程式の解法を実装する方法についてです。
Fortran 95 で「ガウス・ジョルダン(ピボット選択)法」による連立方程式の解法を実装する方法についてです。
Fortran 95 で「ガウス・ジョルダン法」による連立方程式の解法を実装する方法についてです。
Fortran 95 で、 Box-Muller 法を使って正規乱数を生成してみました。
Fortran 95 で多倍長演算ライブラリ FMLIB を使用して円周率を計算してみました。(Chudnovsky の公式、 BSA(Binary Splitting Algorithm) 法を使用)
Fortran 95 で多倍長演算ライブラリ FMLIB を使用してネイピア数を計算してみました。
Fortran 95 で、数値積分(台形則/シンプソン則による定積分)行ってみました。
Fortran 95 で、非線形方程式をニュートン法を使って解いてみました。
Fortran 95 で、非線形方程式を二分法を使って解いてみました。
Fortran 95 で、複素数の収束による方法で 2D フラクタルを描画してみました。
Fortran 95 でセル・オートマトンの実装を試してみました。
Fortran 95 でスタックの実装を試してみました。 (応用で、逆ポーランド記法による電卓も作成)
Fortran 95 でフィボナッチ数列の計算をしてみました。
Fortran 95 で1次元配列の各要素の逆数平均(Rosseland Mean)を計算してみました。
Fortran 95 で階乗の計算をしてみました。(あまりに簡単なアルゴリズムですが)
Fortran 95 で最大公約数の計算をしてみました。(単純なアルゴリズムですが)
Fortran 95 で行列とベクトルの積を計算してみました。
Fortran 95 でベクトルの内積を計算してみました。
先日、 Ruby でローレンツ・アトラクタを計算&描画しました。 Ruby - ローレンツ・アトラクタ(Euler 法)! Ruby - ローレンツ・アトラクタ(Runge-Kutta 法)! そして、前回、 Python で微分方程式の近似解法に Euler(オイラー)法を使用して、ローレンツ・...
先日、 Ruby でローレンツ・アトラクタを計算&描画しました。 Ruby - ローレンツ・アトラクタ(Euler 法)! Ruby - ローレンツ・アトラクタ(Runge-Kutta 法)! 今回は、 Python でローレンツ・アトラクタを計算&描画してみました。(微分方程式の近似解法には、同...
前回、微分方程式の近似解法に Euler(オイラー)法を使用して、ローレンツ・アトラクタを計算&描画してみました。(Ruby で) Ruby - ローレンツ・アトラクタ(Euler 法)! 今回は、微分方程式の近似解法に Runge-Kutta(ルンゲ=クッタ)法を使用して、計算&描画してみました。(...
Ruby でローレンツ・アトラクタを描画してみました。 (微分方程式の近似解法には Euler(オイラー)法を使用)
先日、 Python で2つの list から単回帰曲線(二次回帰)を計算するアルゴリズムを実装しましたが、今回は、同じ2つの list で、単回帰直線(1次)、単回帰曲線(2〜4次)を計算して、結果を比較してました。
Ruby の XML パーサ Nokogiri で XML 解析した場合と、 Python の XML パーサ lxml で XML 解析した場合の実行速度の差を検証してみました。
こんにちは。 以前、 C++ や Ruby で Chudnovsky の公式を使用して円周率を計算しました。(任意精度算術ライブラリ GMP(The GNU Multi Precision Arithmetic Library) を使用) C++ - 円周率計算(Chudnovsky の公式使用)! ...
Python で、数値からなる同サイズの list 2つを説明変数・目的変数とみなして単回帰曲線(二次回帰)を計算する方法についての記録です。
以前、 Ruby の Array クラスを拡張して単回帰直線を計算してみました。 Ruby - Array クラス拡張で単回帰直線計算! 今回は、同様に Ruby の Array クラスを拡張して回帰式が2次の単回帰曲線を計算してみました。(「直線」でなく「曲線」
過去に「3次スプライン補間」を Ruby で実装しました。 Ruby - 3次スプライン補間! 今回は、 Python3 で実装してみました。
こんにちは。 以前、 C++ や Ruby で「べき剰余」のアルゴリズムを実装しました。 C++ - べき剰余アルゴリズムの実装! Ruby - べき剰余アルゴリズムの実装! 今回は Python で実装してみました。
前回、 Python で説明(独立)変数2個以上、目的(従属)変数1個の「重回帰式」を計算する方法についての紹介しました。(連立方程式の解法にはガウスの消去法を使用) Python - 2 つの list から重回帰式計算! 今回は、重回帰式を数値計算ライブラリ NumPy を使用して計算してみました。
Python で、説明(独立)変数2個以上、目的(従属)変数1個の「重回帰式」を計算する方法についての記録です。
Python で、数値からなる同サイズの list 2つを説明変数・目的変数とみなして単回帰直線を計算する方法についての記録です。
Python で、数値からなる同サイズの list 2つを2つの確率変数とみなして相関係数を計算する方法についての記録です。
今回は、各種ソート処理のアルゴリズムを Python3 で実装してみました。
今回は、ヒープ(上方移動・下方移動)のアルゴリズムを Python3 で実装してみました。
今回は、近似方程式を「最小二乗法」で解くアルゴリズムを Python3 で実装してみました。
今回は、線形計画法を「シンプレックス法」で解くアルゴリズムを Python3 で実装してみました。
Python3 で、「ガウスの消去法」による連立方程式の解法を実装する方法についてです。
Python3 で、「ガウス・ジョルダン(ピボット選択)法」による連立方程式の解法を実装する方法についてです。
Python3 で、「ガウス・ジョルダン法」による連立方程式の解法を実装する方法についてです。
Python3 で、(離散)フーリエ変換を実装する方法についてです。
Python3 で、フーリエ級数展開を実装する方法についてです。
Python3 で、多桁(多倍長)の浮動小数点同士で加減算する方法についてです。
Python3 で、多桁(多倍長)整数同士の大小を比較する方法についてです。
これまで、「標準(筆算)法」や「Karatsuba 法」による多桁同士の乗算アルゴリズムの Python への実装方法を紹介しました。 Python - 多桁乗算(標準(筆算)法)! Python - 多桁乗算(Karatsuba 法)! 今回は、「Karatsuba 法」の上位にある「Toom-...
前回、 Python 3 で「標準(筆算)法」による多桁乗算アルゴリズムを実装する方法を紹介しました。 Python - 多桁乗算(標準(筆算)法)! 今回は、「標準(筆算)法」より高速に乗算が可能な「Karatsuba 法」アルゴリズムを実装してみました。
前回、 Python 3 で多桁計算を行う方法を紹介しました。 Python - 多桁計算(その2)! ただ、乗算は一方が多桁でもう一方が小さい桁数と限定していました。 今回は、多桁同士の乗算アルゴリズム(標準(筆算)法)を Python 3 で実装してみました。
以前、 Python 3 で多桁計算を行う方法を紹介しました。 Python - 多桁計算! 今回はその改良版です。
Python 3 で \(\arctan\) 系の公式を利用して円周率を計算する方法についての記録です。
Python 3 でオイラーの公式を利用して円周率を計算する方法についての記録です。
Python 3 で Klingenstierna の公式を利用して円周率を計算する方法についての記録です。
Python 3 で階乗(n!)を多桁計算する方法についての記録です。
Python 3 でネイピア数(自然対数の底)\(e\) を多桁計算する方法についての記録です。
Python 3 でマチンの公式を利用して円周率を計算する方法についての記録です。
Python 3 で多桁計算を行う方法についての記録です。
Python 3 でニュートン補間を行う方法についての記録です。
Python 3 でラグランジュ補間を行う方法についての記録です。
Python 3 で非線形方程式をニュートン法を使用して解く方法についての記録です。
Python 3 で非線形方程式を2分法を使用して解く方法についての記録です。
Python 3 で\(\cos x\)のテイラー展開を計算する方法についての記録です。
Python 3 で\(e ^ {x}\)のテイラー展開を計算する方法についての記録です。
Python 3 でシンプソン則により数値積分(定積分)する方法についての記録です。
Python 3 で台形則により数値積分(定積分)する方法についての記録です。
Python 3 で Box-Muller 法を使って正規乱数を生成する方法についての記録です。
Python 3 で、一様乱数の一様性を「カイ2乗検定」で検定する方法についての記録です。(簡単なアルゴリズムですが)
Python 3 で線形合同法を使って一様乱数を生成する方法についての記録です。(簡単なアルゴリズムですが)
Python 3 で任意の自然数を素因数分解する方法についての記録です。(あまりに簡単なアルゴリズムですが)
Python 3 で、 1 より大きい任意の自然数が素数であるか否かを判定する方法についての記録です。(あまりに簡単なアルゴリズムですが)
Python 3 で、ユークリッドの互除法を使用して、2つの自然数の最大公約数を計算する方法についての記録です。(あまりに簡単なアルゴリズムですが)
今回は、 Fortran95 で素数の一覧を算出する方法についてです。
今回は、 Fortran95 での倍精度浮動小数点数の指定方法についてです。
今回は、 Fortran95 で級数を計算してみただけです。
以前、線形合同法を使用して一様乱数を生成する C++ コードや Ruby スクリプトを紹介しました。 C++ - 一様乱数(線形合同法)! Ruby - 一様乱数(線形合同法)! 今回は、同じアルゴリズムを Fortran90/95 で実装してみました。 アルゴリズムについては、上記 C++ の記...
過去に「ラグランジュ補間」や「ニュートン補間」を C++ や Ruby で実装したことがありました。 C++ - ラグランジュ補間! - mk-mode BLOG Ruby - ラグランジュ補間! - mk-mode BLOG C++ - ニュートン補間! - mk-mode BLOG Rub...
こんにちは。 前回、 BBP(Bailey, Borwein, Plouffe) の公式を使用して任意の桁の円周率を16進で計算するアルゴリズムを C++ で実装しました。 C++ - 円周率計算(BBP の公式使用)! 今回は、同じアルゴリズムを Ruby で実装してみました。
こんにちは。 円周率を計算する際、小数点以下1桁目から希望の桁までを全て計算する方法以外に、希望の桁だけを計算する方法もあります。 小数点以下1桁目から希望の桁までを全て計算した後、任意の桁の値が正しいかどうかを検証するために使用したりします。 今回は BBP(Bailey, Borwein, Plouff...
こんにちは。 前回 C++ で「べき剰余」のアルゴリズムを実装しました。 C++ - べき剰余アルゴリズムの実装! 今回は Ruby で実装してみました。
こんにちは。 C++ に「べき剰余アルゴリズム」を実装したい事案があったので、記録しておきます。
こんにちは。 前回、C++ で Chudnovsky の公式を使用して円周率を1億桁まで計算しました。(任意精度算術ライブラリ GMP(The GNU Multi Precision Arithmetic Library) を使用) 今回は、同じことを Ruby で実装してみました。
こんにちは。 今、円周率を計算するための公式で最も高速だと言われているのは、 Ramanujan(ラマヌジャン)系の「Chudnovsky(チャドノフスキー)の公式」です。 今回は、C++ で Chudnovsky の公式を使用して円周率を計算してみました。
過去にも「素数判定」に関する記事を公開しましたが、再考してみました。
以前、2変量(説明(独立)変数1個、目的(従属)変数1個)の「単回帰直線」の計算を Ruby の Array クラスを拡張する方法で実装しました。 Ruby - Array クラス拡張で単回帰直線計算! 今回は、説明(独立)変数2個以上、目的(従属)変数1個の「重回帰式」の計算を Ruby の Arr...
2変量の「単回帰直線」の「切片」と「傾き」を Ruby で簡単に計算するように試してみました。 Array クラスを拡張する方法です。 それほど難しい数学的アルゴリズムでも、それほど難しいプログラミングロジックでもありませんが、少し頻繁に使用することになりそうなので試してみた次第です。
2変量の間にどれくらいの相関があるのかを調べる指標の「相関係数」を Ruby で簡単に計算するように試してみました。 Array クラスを拡張する方法です。 それほど難しい数学的アルゴリズムでも、それほど難しいプログラミングロジックでもありませんが、少し頻繁に使用することになりそうなので試してみた次第です。
前回は、各種ソート処理のアルゴリズムを C++ で実装することについて紹介しました。。 C++ - ソート処理各種テスト! 今回は、同じアルゴリズムを Ruby で実装してみました。 以下、Ruby スクリプトの紹介です。
各種ソート処理について C++ で実装して速度を計測してみました。 以下、各種ソート処理の概要と C++ ソースです。
前々回、前回は「ヒープ(上方移動・下方移動)」のアルゴリズムを C++ で実装することについて紹介しました。。 C++ - ヒープ生成(上方移動)! C++ - ヒープ生成(下方移動)! 今回は、同じアルゴリズムを Ruby で実装してみました。(上方・下方移動) 以下、Ruby スクリプトの紹...
前回は「ヒープ」の生成を「上方移動」で行うアルゴリズム、C++ での実装について紹介しました。 C++ - ヒープ生成(上方移動)! 今回は「下方移動」によるヒープの生成についてです。 以下、簡単な説明と C++ ソースコードの紹介です。
今回は「ヒープ」という情報処理試験等でもよく登場する「木(二分木)」のアルゴリズムについてです。 以下、簡単な説明と C++ ソースコードの紹介です。
これまで、C++, Ruby, Fortran による「最小二乗法」のアルゴリズムを紹介しました。 C++ - 最小二乗法! Ruby - 最小二乗法! Fortran - 最小二乗法! 今回は、同じアルゴリズムを Java で実現してみました。アルゴリズムについては、上記リンクの記事を参照し...
前々回、前回は、C++, Ruby による「最小二乗法」のアルゴリズムを紹介しました。 C++ - 最小二乗法! Ruby - 最小二乗法! 今回は、同じアルゴリズムを Fortran 95 で実現してみました。アルゴリズムについては、上記リンクの記事を参照してください。
前回は、C++ による「最小二乗法」のアルゴリズムを紹介しました。 C++ - 最小二乗法! 今回は、同じアルゴリズムを Ruby で実現してみました。アルゴリズムについては、上記リンクの記事を参照してください。
今回は、最小二乗法で近似方程式で解くアルゴリズムを C++ で実装してみました。 以下、簡単な説明と C++ ソースコードの紹介です。
前回は、C++ による「線形計画法(シンプレックス法)」のアルゴリズムを紹介しました。 C++ - 線形計画法(シンプレックス法)! 今回は、同じアルゴリズムを Ruby で実現してみました。アルゴリズムについては、上記リンクの記事を参照してください。
今回は、線形計画法を「シンプレックス法」で解くアルゴリズムを C++ で実装してみました。 以下、簡単な説明と C++ ソースコードの紹介です。
統計解析向けのプログラミング言語 R で「マンデルブロ集合」を図形化してみました。 詳しいことは述べません。「こんなこともできるんだ」程度にとどめています。
ここ最近、連立方程式を「ガウス・ジョルダン法」や「ガウス・ジョルダン(ピボット選択)法」で解くアルゴリズムを Ruby で実装したことを紹介しました。 Ruby - 連立方程式解法(ガウス・ジョルダン法)! Ruby - 連立方程式解法(ガウス・ジョルダン(ピボット選択)法)! また、前回は連立方...
ここ最近、連立方程式を「ガウス・ジョルダン法」や「ガウス・ジョルダン(ピボット選択)法」で解くアルゴリズムを C++ で実装したことを紹介しました。 C++ - 連立方程式解法(ガウス・ジョルダン法)! C++ - 連立方程式解法(ガウス・ジョルダン(ピボット選択)法)! 今回は、連立方程式を「ガ...
先日は、連立方程式を「ガウス・ジョルダン法」で解くアルゴリズムを Ruby で実装したことを紹介しました。 Ruby - 連立方程式解法(ガウス・ジョルダン法)! また、前回は連立方程式を「ガウス・ジョルダン法」を応用した「ガウス・ジョルダン(ピボット選択)法」で解くアルゴリズムを C++ で実装して...
先日は、連立方程式を「ガウス・ジョルダン法」で解くアルゴリズムを C++ で実装したことを紹介しました。 C++ - 連立方程式解法(ガウス・ジョルダン法)! 今回は、連立方程式を「ガウス・ジョルダン法」を応用した「ガウス・ジョルダン(ピボット選択)法」で解くアルゴリズムを C++ で実装してみました...
前回は、C++ による「連立方程式の解法(ガウス・ジョルダン法)」のアルゴリズムを紹介しました。 C++ - 連立方程式解法(ガウス・ジョルダン法)! 今回は、同じアルゴリズムを Ruby で実現してみました。アルゴリズムについては、上記リンクの記事を参照してください。
今回は、連立方程式を「ガウス・ジョルダン法」で解くアルゴリズムを C++ で実装してみました。 以下、簡単な説明と C++ ソースコードの紹介です。
特殊相対性理論とは、「広辞苑 第五版」より引用すると、 1905年、アインシュタインが絶対静止の座標系を否定して、互いに等速運動をしている座標系に関してはすべての自然法則は同一の形式を保つということを主張した理論。質量とエネルギーの等価性が導かれた。 ある限定的な「特殊な」場合にだけに当てはめた理論で...
前回、「離散フーリエ変換」の C++ での実装に関する記事を紹介しました。 C++ - (離散)フーリエ変換 今回は、同じアルゴリズムを Ruby で実装してみました。 実際、ほとんど同じです。
以前、「フーリエ級数展開」を C++ で実装したり、「複素フーリエ級数展開」についての記事を紹介しました。 C++ - フーリエ級数展開 複素フーリエ級数展開! 今回は、「フーリエ変換・離散フーリエ変換」、特に C++ での離散フーリエ変換の実装についてです。 それほど、深くは掘り下げていません。...
先日、実形式の「フーリエ級数展開」の C++, Ruby 実装を紹介しました。 C++ - フーリエ級数展開! Ruby - フーリエ級数展開! 今回は、複素形式の「フーリエ級数展開」についてです。 複素数を使用してより簡素な計算式にしようというものであって、展開結果が複素数になるというものではあ...
前回は、「フーリエ級数展開」を C++ で実装してみました。 C++ - フーリエ級数展開! 今回は、同じことを Ruby で実装してみました。実際、ほとんど同じです。「フーリエ級数展開」についての詳細は上記の前回記事を参照ください。
今回は、「フーリエ級数展開」を C++ で実装してみました。 ちなみに、テイラー展開は以前紹介しています。 C++ - テイラー展開 ( exp(x) )! C++ - テイラー展開 ( cos(x) )!
前回は、C++ による多倍長浮動小数点数同士の加減算について紹介しました。 C++ - 多倍長浮動小数点数の加減算! 今回は、同じことを Ruby で試してみました。
これまで多倍長整数の演算については話をしていましたが、今回は多倍長の浮動小数点同士の加減算について考えてみました。
前回は、C++ による多桁(多倍長)整数同士の大小の比較について紹介しました。 C++ - 多倍長整数の大小比較! 今回は、同じことを Ruby で試してみました。 Ruby では多倍長数はメモリの許す限り使用可能ですが、配列を使った考え方も必要になる局面もあると思います。
多桁(多倍長)整数同士の大小の比較についてです。 もちろん、プログラミング言語の整数型に収まるような大きさの整数ではなく、整数型で扱えないような大きな整数での話です。 多桁(多倍長)演算する場合、大抵は配列を使用します。今回も配列を使用した(よくある)方法を試してみました。
前回は、C++ による「多桁乗算(Toom-Cook 法 (3-way))」のアルゴリズムを紹介しました。 C++ - 多桁乗算(Toom-Cook 法 (3-way))! 今日は、同じアルゴリズムを Ruby で実現してみました。 Ruby では桁数(整数型の範囲)をあまり気にしなくても、メモリの許...
これまで、「標準(筆算)法」や「Karatsuba 法」による多桁同士の乗算アルゴリズムの C++ への実装を紹介しました。 C++ - 多桁乗算(標準(筆算)法)! C++ - 多桁乗算(Karatsuba 法)! 今回は、「Karatsuba 法」の上位にある「Toom-Cook 法」アルゴリ...
前回は、C++ による「多桁乗算(Karatsuba 法)」のアルゴリズムを紹介しました。 C++ - 多桁乗算(Karatsuba 法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 Ruby では桁数(整数型の範囲)をあまり気にしなくても、メモリの許される限り計算できますが、それで...
先日、「標準(筆算)法」による多桁同士の乗算アルゴリズムを C++ に実装してみました。 C++ - 多桁乗算(標準(筆算)法)! 今回は、「標準(筆算)法」より高速に乗算が可能な「Karatsuba 法」アルゴリズムを C++ で実装してみました。
前回は、C++ による「多桁同士の乗算(筆算法)」のアルゴリズムを紹介しました。 C++ - 多桁乗算(標準(筆算)法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 Ruby では桁数(整数型の範囲)をあまり気にしなくても、メモリの許される限り計算できますが、それでも多桁同士の乗算で...
以前、多桁(データ型を超える整数)の加減乗除アルゴリズムを C++ に実装してみました。 C++ - 多桁計算! C++ - 多桁計算(その2)! ただ、乗算は一方が多桁でもう一方が小さい桁数と限定していました。 今回は、「標準(筆算)方式」による多桁同士の乗算アルゴリズムを C++ で実装して...
前回は、C++ による「多桁計算」のアルゴリズム(筆算式)の改良版を紹介しました。 C++ - 多桁計算(その2)! 今日は、同じアルゴリズムを Ruby で実現してみました。 Ruby では桁数(整数型の範囲)をあまり気にしなくても、メモリの許される限り計算できますが、それでも都合が悪いこともあるで...
以前、多桁(データ型を超える整数)の加減乗除アルゴリズムを C++ に実装してみました。 C++ - 多桁計算! 今回は、少し改良してみました。
これまで、円周率を Arctan 系の公式で多桁計算する C++, Ruby アルゴリズムを紹介しました。 C++ - 円周率計算(Arctan 系公式(その2))! Ruby - 円周率計算(Arctan 系公式(その2))! (上記のリンクの記事より以前にも同様な記事を紹介していますが、改良前...
前回、円周率を Arctan 系の公式で多桁計算する C++ アルゴリズムで、各項の収束速度の速い項を無駄に計算していたのを改良したアルゴリズムを紹介しました。 C++ - 円周率計算(Arctan 系公式(その2))! 今回は、Ruby で同じアルゴリズムを実現してみました。 アルゴリズム等について...
今まで、円周率を Arctan 系の公式で多桁計算する概念、C++ アルゴリズムを紹介してきました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! C++ - 円周率計算(オイラーの公式)! C++ - 円周率計算(オイラーの公式(...
前回は、C++ による「Arctan 系公式による円周率計算」の「汎用化」したアルゴリズムを紹介しました。 C++ - 円周率計算(Arctan 系公式)! 今日は、同じアルゴリズムを Ruby で実現してみました。 と言っても、「Ruby - 円周率計算(オイラーの公式(2))!」のアルゴリズムに追...
今まで、円周率をマチンの公式や Klingensitierna の公式、オイラーの公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! C++ - 円周率計算(オイラーの公式)! ...
前回は、C++ による「オイラーの公式(2)による円周率計算」のアルゴリズムを紹介しました。 C++ - 円周率計算(オイラーの公式(2))! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズム等については、上記リンクの記事を参照してください。 Arctan 系公式による計算は項...
今まで、円周率をマチンの公式や Klingensitierna の公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! C++ - 円周率計算(オイラーの公式)! 今回も、同様に...
前回は、C++ による「オイラーの公式による円周率計算」のアルゴリズムを紹介しました。 C++ - 円周率計算(オイラーの公式)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズム等については、上記リンクの記事を参照してください。
今まで、円周率をマチンの公式や Klingensitierna の公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! 今回も、同様に \(\arctan\)系の公式である「オイラー...
前回は、C++ による「Klingenstierna の公式による円周率計算」のアルゴリズムを紹介しました。 C++ - 円周率計算(Klingenstierna の公式)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズム等については、上記リンクの記事を参照してください。
以前、円周率をマチンの公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! 今回は、マチンの公式同様 \(\arctan\)系の公式である「Klingenstierna の公式」を使用して、円周率 \(\pi\) を計算してみました。 当然、プログラ...
前回は、C++ による「階乗(n!)の多桁計算」のアルゴリズムを紹介しました。 C++ - 階乗の多桁計算! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。
以前、コンピュータで大きな桁数を計算する概念・アルゴリズムを紹介しました。 C++ - 多桁計算! 今回は、階乗(n!)を多桁計算するアルゴリズムについてです。
前回は、C++ による「ネイピア数(自然対数の底) \(e\) 計算」のアルゴリズムを紹介しました。 C++ - ネイピア数(自然対数の底)e 計算! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。
以前、コンピュータで大きな桁数を計算する概念・アルゴリズムを紹介しました。 C++ - 多桁計算! 今回は、ネイピア数(自然対数の底) \(e\) を多桁計算するアルゴリズムについてです。 当然、プログラミン言語そのものが保有している関数は使用しません。級数展開して計算します。
前回は、C++ による「マチンの公式による円周率計算」のアルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズム等については、上記リンクの記事を参照してください。
先日は、コンピュータで大きな桁数を計算する概念・アルゴリズムを紹介しました。 C++ - 多桁計算! 今回は、その概念を応用して円周率 \(\pi\) を計算してみました。 使用した公式は、マチン(Machin)の公式です。 当然、プログラミン言語そのものが保有している三角関数は使用しません。級数展...
前回は、C++ による「多桁計算」のアルゴリズムを紹介しました。 C++ - 多桁計算! 今日は、同じアルゴリズムを Ruby で実現してみました。 Ruby では桁数(整数型の範囲)をあまり気にしなくても、メモリの許される限り計算できますが、それでも都合が悪いこともあるでしょうし・・・・ アルゴリズ...
通常、C言語等では整数型で扱える数値を超える値の加減乗除はそのままでは計算不可能です。 今回は、データ型を超える整数の加減乗除の方法についてです。
前回は、C++ による「ニュートン補間」のアルゴリズムを紹介しました。 C++ - ニュートン補間! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。
何組かの x, y データが与えられ、これらの点全てを通る補間多項式を求める方法に「ニュートン補間」というものがあります。 先日は「ラグランジュ補間」について紹介しました。 C++ - ラグランジュ補間! 以下、一部 \(\TeX\) で記載。
前回は、C++ による「ラグランジュ補間」のアルゴリズムを紹介しました。 C++ - ラグランジュ補間! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。
何組かの x, y データが与えられ、これらの点全てを通る補間多項式を求める方法に「ラグランジュ補間」というものがあります。 以下、一部 \(\TeX\) で記載。
先日は、\(f(x)=0\) の解をニュートン法により求める C++ によるアルゴリズムを紹介しました。 C++ - 非線型方程式の解法(ニュートン法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。
少し前には、\(f(x)=0\) の解を2分法により求める C++ アルゴリズムについて紹介しました。 C++ - 非線形方程式の解法(2分法)! 今日は、方程式 \(f(x)=0\) の解をニュートン法により求める C++ アルゴリズム についてです。 ニュートン法の概念・アルゴリズムは以下の通り。
先日は、\(f(x)=0\) の解を2分法により求める C++ によるアルゴリズムを紹介しました。 C++ - 非線型方程式の解法(2分法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。
方程式 \(f(x)=0\) の解を2分法により求める C++ アルゴリズム についてです。 まず、1次方程式(つまりグラフ上で直線)以外の方程式を非線形方程式と呼びます。 そして、このような方程式の根を求める方法に「2分法」というものがあります。
Ruby + RSRuby で正常に動作していたスクリプトを Ruby on Rails アプリからコールすると動作しません。 Fatal Error: R home directory is not defined などとなります。 R のホームディレクトリが定義されていないと言っています。 ちなみに、...
少し前に、統計解析向けプログラミング言語 R について記事にしました。 Scientific Linux - R 言語環境構築! Scientific Linux - RStudio インストール! R - ローソク足チャート描画! 今日は、Ruby で R のグラフを描画できる Gem パッ...
先日は、\(\cos x\) をテイラー展開で計算する C++ によるアルゴリズムを紹介しました。 C++ - テイラー展開 [ cos(x) ]! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。
先日、\(e ^ {x}\)をテイラー展開を用いて計算する C++ アルゴリズム について紹介しました。 C++ - テイラー展開 [ exp(x) ]! 今日は、\(\cos x\)をテイラー展開を用いて計算してみました。 ※以下、一部 \(\TeX\) で記載
先日は、\(e ^ x\) をテイラー展開で計算する C++ によるアルゴリズムを紹介しました。 C++ - テイラー展開 [ exp(x) ]! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。
今回は \(e ^ {x}\)をテイラー展開を用いて計算する C++ アルゴリズム についてです。 ※以下、一部 \(\TeX\) で記載 まず、
昨日は、Scientific Linux のデスクトップ環境に統計解析向けプログラミング言語 R をインストールしました。 Scientific Linux - R 言語環境構築! 今日は R の IDE ツールをインストールしてみました。 デスクトップ版とサーバ版がありますが、今回は個人使用なので...
Scientific Lixun のデスクトップ環境に統計解析向けプログラミング言語 R の環境を構築してみました。 時々、緻密なグラフを作りたい状況があるからです。 以下、作業記録です。
先日は、数値積分(シンプソン則による定積分)の C++ によるアルゴリズムを紹介しました。 C++ - 数値積分(シンプソン則による定積分)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。
関数 \(f(x)\) の定積分を微小区間に分割して近似値として求める方法を数値積分と言います。 そして、以前「台形則による定積分」についてお話ししました。 C++ - 数値積分(台形則による定積分)! Ruby - 数値積分(台形則による定積分)! 今回は、「シンプソン則による定積分」を C+...
先日は、数値積分(台形則による定積分)の C++ によるアルゴリズムを紹介しました。 C++ - 数値積分(台形則による定積分)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。 実際、ほとんど同じです。
関数 \(f(x)\) の定積分を微小区間に分割して近似値として求める方法を数値積分と言います。 今回は、数値積分の中でも「台形則による定積分」を C++ で挑戦してみました。
先日は、正規乱数をボックス=ミューラー法で生成して正規分布を検証する C++ によるアルゴリズムを紹介しました。 C++ - 正規乱数(ボックス=ミューラー法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。 実際、ほとんど...
少し前に、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについて紹介しました。 C++ - 一様乱数(線形合同法)! C++ - 一様乱数の一様性検定(カイ2乗検定)! 今回は、正規乱数を発生させて実際に正規分布になっているかを検証してみました。 まず、「正規乱数」とは「正規...
昨日は、一様乱数の一様性を「カイ2乗検定」で検定する C++ によるアルゴリズムを紹介しました。 C++ - 一様乱数の一様性検定(カイ2乗検定)! 今日は、同じアルゴリズムを Ruby で実現してみました。 カイ2乗検定の詳細については、昨日の記事等を参照してください。 実際、アルゴリズム的にはほと...
少し前に、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについて紹介しました。 C++ - 一様乱数(線形合同法)! 今回は、それらの生成した一様乱数が本当に一様かどうかを「カイ2乗検定」で検証してみました。
昨日は、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムを紹介しました。 C++ - 一様乱数(線形合同法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 (アルゴリズムについては、昨日の記事を参照してください) 実際、ほとんど同じです。
今日は、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについてです。 まず、 「一様乱数とは、ある有限の区間内で全ての実数が一様に(同じ濃度で)現れるような擬似乱数のことである。」 です。
昨日は、任意の自然数を素因数分解する C++ によるアルゴリズムを紹介しました。 C++ - 素因数分解! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、昨日の記事を参照してください。 実際、ほとんど同じです。
今日は、任意の自然数を素因数分解する C++ によるアルゴリズムについてです。 まず、 自然数 p (> 1) が 1 と p の他に正の約数を持たない場合、p を素数という。 です。そして、 任意の自然数を素数の積で表すことを、素因数分解という。但し、1 の素因数分解は 1 と定義す...
昨日は、エラトステネスのふるいの C++ によるアルゴリズムを紹介しました。 C++ - エラトステネスのふるい! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズム等については、昨日の記事等を参照してください。
今日は、2 以上 n 以下の自然数の中から素数を抽出(素数以外を排除)する C++ によるアルゴリズムについてです。 まず、 「自然数 p ( > 1 ) が 1 と p の他に正の約数を持たない場合、p を素数という。」 です。 そして、簡単に言うと、自然数の配列をふるいに見立てて素数以外を排除してい...
昨日は、任意の自然数が素数か否かを判定する C++ によるアルゴリズムを紹介しました。 C++ で素数判定! 今日は、同じアルゴリズムを Ruby で実現してみました。 素数やアルゴリズムについては、昨日の記事を参照してください。 ただ、Ruby には Prime クラスというものが用意されているの...
今日は、任意の自然数が素数か否かを判定する C++ によるアルゴリズムについてです。 まず、 自然数 p ( > 1 ) が 1 と p の他に正の約数を持たない場合、p を素数という。 単純に考えると、 与えられた自然数 p が素数であるか否かを判定するには、2 から p まで順に割...
C++ と Ruby で、ユークリッドの互除法を使って2つの自然数の最大公約数を求めるプログラムを作成してみました。 まず、ユークリッドの互除法について、 「自然数 a, b ( a > b ) について、a を b で割った剰余を r とすると、a と b の最大公約数は b と r の GCD に等し...
Ruby で円周率を計算してみました。 通常、コンピュータで円周率を計算するには多倍長整数の概念を使用しますが、今回は上の桁から順々に計算していく “Spigot” というアルゴリズムを利用しました。 Spigot アルゴリズムについての詳しいことは、 Spigot アルゴリズム - 円周率.jp - ...
Cygwin 上で、オブジェクト指向の機能と関数型言語の機能を統合した汎用プログラミング言語 Scala を使えるようにしてみました。 今後本格的に使用するかどうかは別として、ちょっと触れてみたいと思った程度です。 現在、Scala は 2.9.1-1 が最新のようです。
ご存知の方も多いと思いますが、Ruby での処理の実行時間計測方法についてです。 Ruby に限らずよくある方法に、処理前と処理後の時間差を計算する方法があります。 Ruby ではこの方法以外に、ベンチマークを取るためのクラス Benchmark を使う方法もあります。 こちらを参照。 library...
Cygwin 上で Python を使えるようにしてみました。 現在、Python は 2.x 系では 2.7.2 が最新、3.x 系では 3.2.2 が最新のようです。 ソースからインストールする場合は、これらのバージョンにするでのしょうが、今回はちょっと試すだけなので、パッケージによるインストールとしました...
Cygwin 上で Fortran を使えるようにしてみました。 大学時代に FORTRAN77(パンチカード式)に少しだけ触れた程度でしたが、思い出す意味も含めてコンパイルできる環境を準備してみました。 Fortran は現在、オブジェクト指向プログラミングのできる Fortran2003 が最新のようですが...
最近、 Ruby での UNIX MBOX メールヘッダの検証をやってきましたが、今回は気分転換に違った話題です。 それは「Rubyを使って地球上の2点間の距離を出来るだけ正確に計算してみよう」というものです。 ※きっかけは、地元の原子力発電所と自宅の距離を正確に知りたかったから。 ご存知のように地球は完全な...
以前、ロト6の当選データを分析するために、「単回帰曲線」の解法、「重回帰式」の解法を調べたときに今後のためにとExcelを使用してPDF化していました。 (「単回帰曲線」の解法、「重回帰式」の解法は、大学の数学科時代に使用していた統計関係の書籍を読みあさってまとめました。) しかし、Excelで作成したので、見た...
今夜は、久々に「 数学 」関連の話題です。 といっても、DVDを買ったというだけですが。。。 フジテレビ系で深夜(?、うちの地元では深夜)に放送している 「 コマネチ大学数学科 」 のDVD第2弾です。 でも、確か今は第5弾(?)位まで発売されているはずですが。。。 ほぼ毎回、テレビは録画はしていま...
チョー、久々に数学関連の話題です。 小学校・中学校とそろばん習っていたし、 高校も数学が好きで理数科だったし、 大学も数学が好きで理学部数学科だった僕。 自慢じゃないけど、大学入試センター試験も200点満点中200点だったし。。。 なので今でも数学は好きで、毎月「 数学セミナー 」という数学専門誌...
いつも、ブログのデザイン関連の話ばかりなんで、この辺でちょっとギャンブルのお話でも。 といっても、ロト6を統計学的に解析しようという話です。 (以前は、書店で見かけた攻略本のマネゴトをしてましたが、サッパリなんで・・・) 実は、僕は大学生時代、数学科に籍を置いておりまして、いまでも数学はチョットばかし興味が...