数学

C++ - ロジスティック回帰分析!  (2022-12-14)

少し前に、説明変数K個・目的変数1個のロジスティック回帰分析のアルゴリズムを Ruby で実装したことを紹介しました。 Ruby - ロジスティック回帰分析! 今回は、説明変数2個・目的変数1個のロジスティック回帰分析のアルゴリズムを C++ で実装してみました。

Ruby - ロジスティック回帰分析!  (2022-10-12)

2か月ほど前、説明変数K個・目的変数1個のロジスティック回帰分析のアルゴリズムをプログラムとして実装できるようにするために自分なりに理解してまとめたものを紹介しました。 ロジスティック回帰分析! 今回は、そのアルゴリズムを Ruby で実装してみました。(但し、行列計算では matrix ライブラリを...

ロジスティック回帰分析!  (2022-08-11)

説明変数K個・目的変数1個のロジスティック回帰分析のアルゴリズムについて、プログラムとして実装できるようにするために自分なりに理解してまとめたものです。 ロジスティック回帰分析の実装について調べると、ほとんどが基本的な内容とライブラリを使った実装方法の説明であり、ライブラリに頼らずに自分で実装する方法について知...

C++ - 単回帰曲線(5次回帰モデル)の計算!  (2022-07-13)

C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(5次回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法(ピボット選択)」を使用します。 先日は Ruby で実装しています。。 Ruby - Array クラス拡張で単回帰曲線...

Ruby - Array クラス拡張で単回帰曲線(5次回帰モデル)計算!  (2022-06-22)

かつて、 Ruby で Array クラスを拡張して単回帰直線や単回帰曲線(2〜4次、その他)を計算してみました。 (過去記事は「こちら」で検索してください) 今回は5次の単回帰曲線を計算してみました。自作のある解析処理で必要になったため、その練習として。(連立方程式の解法にはガウスの消去法(ピボット選択)を使...

C++ - 連立方程式解法(ガウスの消去法(ピボット選択))!  (2022-05-25)

かつて、連立方程式を「ガウスの消去法」で解くアルゴリズムを C++ で実装したことを紹介しました。 C++ - 連立方程式解法(ガウスの消去法)! しかし、計算途中で対角成分がゼロになるケースでは計算ができませんでした。 今回はその問題を解決すべく、「ガウスの消去法(ピボット選択)」で解くアルゴリズ...

Fortran - 連立方程式解法(ガウスの消去法(ピボット選択))!  (2022-05-18)

かつて、連立方程式を「ガウスの消去法」で解くアルゴリズムを Fortran95 で実装したことを紹介しました。 Fortran - 連立方程式解法(ガウスの消去法)! しかし、計算途中で対角成分がゼロになるケースでは計算ができませんでした。 今回はその問題を解決すべく、「ガウスの消去法(ピボット選択...

Ruby - 連立方程式解法(ガウスの消去法(ピボット選択))!  (2022-05-11)

かつて、連立方程式を「ガウスの消去法」で解くアルゴリズムを Ruby で実装したことを紹介しました。 Ruby - 連立方程式解法(ガウスの消去法)! しかし、計算途中で対角成分がゼロになるケースでは計算ができませんでした。 今回はその問題を解決すべく、「ガウスの消去法(ピボット選択)」で解くアルゴ...

C++ - ローレンツ・アトラクタ(Runge-Kutta 法)  (2020-12-16)

C++ でローレンツ・アトラクタの計算をしてみました。 今回は、微分方程式の近似解法に Runge-Kutta(ルンゲ=クッタ)法を使用します。 前回は、微分方程式の近似解法に Euler(オイラー)法を使用しています。 C++ - ローレンツ・アトラクタ(Euler 法)

C++ - ローレンツ・アトラクタ(Euler 法)  (2020-12-09)

C++ でローレンツ・アトラクタの計算をしてみました。 今回は、微分方程式の近似解法に Euler(オイラー)法を使用します。 過去には Ruby や Python で同様のことをしています。 Ruby - ローレンツ・アトラクタ(Euler 法)! Python - ローレンツ・アトラクタ(Eul...

C++ - 数式文字列 => 逆ポーランド記法 変換&計算(二分木使用)!  (2020-12-02)

C++ で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。(ついでに、後置・中置・前置記法での計算も) 前回・前々回はスタックを使用した処理についてでした。 C++ - 数式文字列 => 逆ポーランド記法 変換! C++ - 逆ポーランド記法の評価...

C++ - 逆ポーランド記法の評価(計算)!  (2020-11-25)

前回、 C++ で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。(スタック使用) C++ - 数式文字列 => 逆ポーランド記法 変換! 今回は、出力された逆ポーランド記法での表現を読み込んで計算する処理を実装してみました。

C++ - 数式文字列 => 逆ポーランド記法 変換(スタック使用)!  (2020-11-18)

C++ で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。 今回はスタックを使用した処理です。(後日、二分木を使用した処理についても紹介予定) 逆ポーランド記法の数式文字列から値を計算する処理(逆ポーランド計算機)については、次回紹介予定です。 ちなみに、過去には...

Ruby - 数式文字列 => 逆ポーランド記法 変換&計算(二分木使用)!  (2020-11-11)

Ruby で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。(ついでに、後置・中置・前置記法での計算も) 前回・前々回はスタックを使用した処理についてでした。 Ruby - 数式文字列 => 逆ポーランド記法 変換(スタック使用)! Ruby - ...

Ruby - 逆ポーランド記法の評価(計算)!  (2020-11-04)

前回、 Ruby で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。(スタック使用) Ruby - 数式文字列 => 逆ポーランド記法 変換! 今回は、出力された逆ポーランド記法での表現を読み込んで計算する処理を実装してみました。

Ruby - 数式文字列 => 逆ポーランド記法 変換(スタック使用)!  (2020-10-28)

Ruby で、入力した数式の文字列を逆ポーランド記法(RPN; 後置記法)に変換する処理を実装してみました。 今回はスタックを使用した処理です。(後日、二分木を使用した処理についても紹介予定) 逆ポーランド記法の数式文字列から値を計算する処理(逆ポーランド計算機)については、次回紹介予定です。 ちなみに、過去に...

C++ - Vincenty 法による地球楕円体上の位置計算!  (2020-10-21)

地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角、また、1地点から見た方位角・距離にある地点の位置等を計算するために Vincenty 法なるアルゴリズムが存在します。 前回、 C++ で「地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角」の計算処理を実装してみました。 今回は、 C++ で...

C++ - Vincenty 法による地球楕円体上の距離計算!  (2020-10-14)

地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角、また、1地点から見た方位角・距離にある地点の位置等を計算するために Vincenty 法なるアルゴリズムが存在します。 今回、 C++ で「地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角」の計算処理を実装してみました。 過去には、 Rub...

C++ - ケンドール順位相関係数の計算!  (2020-10-07)

C++ でケンドールの順位相関係数(Kendall’s Rank Correlation Coefficient)の計算をしてみました。 過去には Ruby や Fortran で行っています。 Ruby - ケンドール順位相関係数の計算! Fortran - ケンドール順位相関係数の計算!

C++ - スピアマン順位相関係数の計算!  (2020-09-30)

C++ でスピアマンの順位相関係数(Spearman’s Rank Correlation Coefficient)の計算をしてみました。 過去には Ruby や Fortran で行っています。 Ruby - スピアマン順位相関係数の計算! Fortran - スピアマン順位相関係数の計算!

C++ - 二項係数の計算!  (2020-09-09)

C++ で二項係数の計算をしてみました。(各種計算式を使用して) 過去には Ruby や Fortran で計算しています。 Ruby - 二項係数の計算! Fortran - 二項係数の計算!

C++ - 階乗計算(with GMP)!  (2020-08-19)

C++ で任意精度算術ライブラリ GMP(The GNU Multi Precision Arithmetic Library) を使って、階乗の計算をしてみました。

C++ - 3次スプライン補間!  (2020-08-12)

C++ で3次スプライン補間のアルゴリズムを実装してみました。 過去には Ruby, Python, Fortran で実装しています。 Ruby - 3次スプライン補間! Python - 3次スプライン補間! Fortran - 3次スプライン補間!

C++ - LU 分解(クラウト法(Crout method))!  (2020-08-07)

C++ で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「クラウト法(Crout method)」です。 過去には Ruby, Fortran で実装しています。 Ruby - LU 分解(クラウト法(Crout method))! Fortran - LU 分解(ク...

C++ - LU 分解(内積形式ガウス法(inner-product form))!  (2020-08-02)

C++ で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「内積形式ガウス法(inner-product form)」です。 過去には Ruby, Fortran で実装しています。 Ruby - LU 分解(内積形式ガウス法(inner-product form))! ...

C++ - LU 分解(外積形式ガウス法(outer-product form))!  (2020-07-28)

C++ で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「外積形式ガウス法(outer-product form)」です。 過去には Ruby, Fortran で実装しています。 Ruby - LU 分解(外積形式ガウス法(outer-product form))! ...

C++ - 重回帰分析(2次多項式モデル)!  (2020-07-18)

C++ で、数値からなる同サイズの配列3個を説明変数2個・目的変数1個とみなして重回帰式を計算する方法についての記録です。(今回は2次多項式モデル) 連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2 つの配列から重回帰分析(...

C++ - 重回帰式計算(説明変数3個)!  (2020-07-13)

C++ で、数値からなる同サイズの配列4個を説明変数3個・目的変数1個とみなして重回帰式を計算する方法についての記録です。 連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 重回帰式計算(説明変数2個)(その2)!

C++ - 単回帰分析(2次曲線回帰)の決定係数計算!  (2020-07-03)

C++ で単回帰分析(2次曲線回帰)の決定係数を計算してみました。 過去には Fortran 等で実装しています。 Ruby - 単回帰分析(2次曲線回帰)の決定係数計算! Fortran - 単回帰分析(2次曲線回帰)の決定係数計算!

C++ - 単回帰分析(線形回帰)の決定係数計算!  (2020-06-27)

C++ で2つの単回帰分析(線形回帰; 単回帰直線)の決定係数を計算してみました。 過去には Fortran 等で実装しています。 Ruby - 単回帰分析(線形回帰)の決定係数計算! Fortran - 単回帰分析(線形回帰)の決定係数計算!

C++ - 単回帰曲線(e指数回帰モデル)の計算!  (2020-06-22)

C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(e指数回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(e指数回...

C++ - 単回帰曲線(指数(ab指数)回帰モデル)の計算!  (2020-06-17)

C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(指数(ab指数)回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線...

C++ - 単回帰曲線(べき乗回帰モデル)の計算!  (2020-06-12)

C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(べき乗回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(べき乗回...

C++ - 単回帰曲線(分数(逆数)回帰モデル)の計算!  (2020-06-07)

C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(分数(逆数)回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(分...

C++ - 単回帰曲線(自然対数回帰モデル)の計算!  (2020-06-02)

C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(自然対数回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(自然対...

C++ - 単回帰曲線(ルート回帰モデル)の計算!  (2020-05-28)

C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(ルート回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(ルート回...

C++ - 単回帰曲線(4次回帰モデル)の計算!  (2020-05-23)

C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(4次回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(4次回帰モ...

C++ - 単回帰曲線(3次回帰モデル)の計算!  (2020-05-18)

C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(3次回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(3次回帰モ...

C++ - 単回帰曲線(2次回帰モデル)の計算!  (2020-05-13)

C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(2次回帰モデル)を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。 過去には Fortran 等で実装しています。 Fortran - 2つの配列から単回帰曲線(2次回帰)...

C++ - 単回帰直線の計算!  (2020-05-08)

C++ で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰直線を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去法」を使用します。(分散/共分散を使用する方法(実際にはその変形版)もある) 過去には Fortran 等で実装しています。 Fortran ...

Fortran - 逆行列の計算(余因子行列を使用)!  (2020-03-28)

前回、 Fortran 95 で余因子展開による行列式の計算を行いましたが、今回は、それを応用して、逆行列の計算を行ってみました。 少し前に、同じことを Ruby で Array クラスを拡張する方法で実装しています。 Ruby - 逆行列の計算(余因子行列を使用)!!

Fortran - 行列式の計算(余因子展開による)!  (2020-03-23)

Fortran 95 で余因子展開による行列式の計算を行ってみました。 少し前に、同じことを Ruby で Array クラスを拡張する方法で実装しています。 Ruby - 行列式の計算(余因子展開による)!

Ruby - 逆行列の計算(余因子行列を使用)!  (2020-03-09)

前回、 Ruby で余因子展開による行列式の計算を行いましたが、今回は、それを応用して、逆行列の計算を行ってみました。 Ruby - 行列式の計算(余因子展開による)!

Fortran - 重回帰分析・自由度調整済み決定係数の計算!  (2020-03-03)

重回帰分析における自由度調整済み決定係数の計算を Fortran 95 で行ってみました。 前回、同じことを Ruby で Array クラスを拡張する方法で実装しています。 Ruby - 重回帰分析・自由度調整済み決定係数の計算!

Fortran - 重回帰式計算(説明変数3個)!  (2020-02-26)

以前、 Fortran 95 で、説明(独立)変数2個、目的(従属)変数1個の「重回帰式」を計算する方法を紹介しました。 Fortran - 重回帰式計算(説明変数2個)! Fortran - 重回帰式計算(説明変数2個)(その2)! 今回は、説明(独立)変数3個の場合の重回帰式を計算してみまし...

Ruby - Array クラスを拡張して重回帰分析(説明変数3個)!  (2020-02-23)

以前、 Ruby で、説明(独立)変数2個、目的(従属)変数1個の「重回帰式」を計算する方法を紹介しました。 Ruby - Array クラス拡張で重回帰式計算! Ruby - Array クラスを拡張して重回帰分析(2次多項式モデル)! 今回は、説明(独立)変数3個の場合の重回帰式を計算してみま...

Fortran - 二項係数の計算!  (2020-02-08)

Fortran 95 で二項係数の計算をしてみました。(各種計算式を使用して) また、計算結果が多倍長になることを考慮し、多倍長演算ライブラリ FMLIB を使用しています。

Ruby - 地球楕円体上の2地点間中心角の計算!  (2019-10-02)

地球楕円体上の2地点と地球中心がなす中心角を Ruby で計算してみました。 単純に2点の直交座標を計算後、2ベクトルのなす角を計算するだけ。(他にも算出方法はありますが)

Fortran 2003 - Vincenty 法による地球楕円体上の距離/位置計算!  (2019-09-29)

地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角、また、1地点から見た方位角・距離にある地点の位置等を計算するために Vincenty 法なるアルゴリズムが存在します。 前回、 Ruby で実装してみました。 Ruby - Vincenty 法による地球楕円体上の距離/位置計算! 今回は、...

Ruby - Vincenty 法による地球楕円体上の距離/位置計算!  (2019-09-26)

地球楕円体上の任意の2地点間の距離やそれぞれから見た方位角、また、1地点から見た方位角・距離にある地点の位置等を計算するために Vincenty 法なるアルゴリズムが存在します。 今回、 Ruby で実装してみました。 ちなみに、過去には2地点間の距離を「ヒュベニの公式」を使って計算しています。(精度は Vi...

Fortran - 2 つの配列から重回帰分析(2次多項式モデル)!  (2019-09-17)

過去に、説明(独立)変数2個、目的(従属)変数1個の「重回帰式」の計算を Fortran 95 で実装しました。 Fortran - 2 つの配列から重回帰式計算! 今回は、重回帰式を2次多項式にしてみました。 前回、同じことを Ruby で Array クラスを拡張する方法で実装しています。 ...

Fortran - 重回帰式計算(説明変数2個)(その2)!  (2019-09-11)

以前、 Fortran 95 で、説明(独立)変数2個、目的(従属)変数1個の「重回帰式」を計算する方法を紹介しました。但し、平方和/積和の行列を作成してからその行列(連立方程式)を解く方法でした。 Fortran - 重回帰式計算(説明変数2個)! 今回は、直接、行列(偏微分後の連立方程式)を解く方...

Fortran - 2つの配列から単回帰曲線(4次回帰モデル)計算!  (2019-08-14)

Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして4次の単回帰曲線を計算してみました。(連立方程式の解法にはガウスの消去法を使用) 前回は3次回帰モデルについて行なっています。 Fortran - 2つの配列から単回帰曲線(3次回帰モデル)計算!

Fortran - 2つの配列から単回帰曲線(3次回帰モデル)計算!  (2019-08-11)

Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして3次の単回帰曲線を計算してみました。(連立方程式の解法にはガウスの消去法を使用) 過去には2次回帰モデルについて行なっています。 Fortran - 2つの配列から単回帰曲線(2次回帰)計算! Fortran - ...

Ruby - Array クラス拡張で単回帰曲線(4次回帰モデル)計算!  (2019-07-17)

Ruby で Array クラスを拡張して回帰式が4次の単回帰曲線を計算してみました。(連立方程式の解法にはガウスの消去法を使用) 前回は3次回帰モデルについて行なっています。 Ruby - Array クラス拡張で単回帰曲線(3次回帰モデル)計算!

Ruby - Array クラス拡張で単回帰曲線(3次回帰モデル)計算!  (2019-07-14)

Ruby で Array クラスを拡張して回帰式が3次の単回帰曲線を計算してみました。(連立方程式の解法にはガウスの消去法を使用) 過去には2次回帰モデルについて行なっています。 Ruby - Array クラス拡張で単回帰曲線計算! Ruby - Array クラス拡張で単回帰曲線計算(Ver.2...

Fortran - 単回帰分析(線形回帰)の決定係数計算!  (2019-06-29)

Fortran 95 で2つの単回帰分析(線形回帰; 単回帰直線)の決定係数を計算してみました。 過去には Ruby で Array クラスを拡張して行なっています。 Ruby - 単回帰分析(線形回帰)の決定係数計算!

Fortran - 2つの配列から単回帰曲線(2次回帰)計算(Ver.2)!  (2019-06-20)

Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(2次回帰)を計算する方法についての記録です。 ※今回は連立1次方程式を解くのに「ガウスの消去」を使用。 前回は連立1次方程式を解くのに分散/共分散を使用する方法(実際にはその変形版)を使用しました。 For...

Fortran - 2つの配列から単回帰曲線(2次回帰)計算!  (2019-06-17)

Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰曲線(2次回帰)を計算する方法についての記録です。 過去には、単回帰直線(1次回帰)を計算する方法についての紹介しまいた。 Fortran - 2 つの配列から単回帰直線計算!

Fortran - 2つの配列から単回帰直線計算(Ver.2)!  (2019-06-14)

Fortran 95 で、数値からなる同サイズの配列2つを説明変数・目的変数とみなして単回帰直線を計算する方法についての記録です。 今回は連立1次方程式を解くのに「ガウスの消去」を使用します。 過去にも行いましたが、その際は連立1次方程式を解くのに分散/共分散を使用する方法(実際にはその変形版)を使用しました。...

Ruby - Array クラス拡張で単回帰曲線計算(Ver.2)!  (2019-06-11)

Ruby で Array クラスを拡張して回帰式が2次の単回帰曲線を計算してみました。 ※今回は連立1次方程式を解くのに「ガウスの消去法」を使用。 過去にも行いましたが、その際は連立1次方程式を解くのに分散/共分散を使用する方法(実際にはその変形版)を使用しました。 Ruby - Array クラス拡張...

Ruby - Array クラス拡張で単回帰直線計算(Ver.2)!  (2019-06-08)

Ruby で Array クラスを拡張して単回帰直線の切片と傾きを計算してみました。 ※今回は連立1次方程式を解くのに「ガウスの消去法」を使用。 過去にも行いましたが、その際は連立1次方程式を解くのに分散/共分散を使用する方法(実際にはその変形版)を使用しました。 Ruby - Array クラス拡張で...

Fortran - LU 分解を用いた連立1次方程式の解法!  (2019-06-05)

連立1次方程式を LU 分解を用いて解くアルゴリズムを Fortran 95 で実装してみました。 (使用する LU 分解法は「外積形式ガウス法(outer-product form)」) 前回 Ruby で同じことをしました。 Ruby - LU 分解を用いた連立1次方程式の解法!

Fortran - LU 分解(クラウト法(Crout method))!  (2019-05-29)

Fortran 95 で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「クラウト法(Crout method)」 過去には Ruby で同じことをしました。 Ruby - LU 分解(クラウト法(Crout method))!

Fortran - LU 分解(内積形式ガウス法(inner-product form))!  (2019-05-26)

Fortran 95 で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「内積形式ガウス法(inner-product form)」 過去には Ruby で同じことをしました。 Ruby - LU 分解(内積形式ガウス法(inner-product form))!

Fortran - LU 分解(外積形式ガウス法(outer-product form))!  (2019-05-23)

Fortran 95 で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「外積形式ガウス法(outer-product form)」 過去には Ruby で同じことをしました。 Ruby - LU 分解(外積形式ガウス法(outer-product form))!

Ruby - LU 分解(クラウト法(Crout method))!  (2019-05-20)

Ruby で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「クラウト法(Crout method)」です。 ちなみに、前々回は「外積形式ガウス法(outer-product form)」で、前回は「内積形式ガウス法(inner-product form)」で実装しました。 ...

Ruby - LU 分解(内積形式ガウス法(inner-product form))!  (2019-05-17)

Ruby で正方行列の LU 分解アルゴリズムを実装してみました。 今回使用する分解法は「内積形式ガウス法(inner-product form)」です。 ちなみに、前回は「外積形式ガウス法(outer-product form)」で実装しました。 Ruby - LU 分解(外積形式ガウス法(oute...

Fortran - 階乗の計算!  (2018-11-17)

Fortran 95 で階乗の計算をしてみました。(あまりに簡単なアルゴリズムですが)

Python - ローレンツ・アトラクタ(Runge-Kutta 法)!  (2018-06-28)

先日、 Ruby でローレンツ・アトラクタを計算&描画しました。 Ruby - ローレンツ・アトラクタ(Euler 法)! Ruby - ローレンツ・アトラクタ(Runge-Kutta 法)! そして、前回、 Python で微分方程式の近似解法に Euler(オイラー)法を使用して、ローレンツ・...

Python - ローレンツ・アトラクタ(Euler 法)!  (2018-06-25)

先日、 Ruby でローレンツ・アトラクタを計算&描画しました。 Ruby - ローレンツ・アトラクタ(Euler 法)! Ruby - ローレンツ・アトラクタ(Runge-Kutta 法)! 今回は、 Python でローレンツ・アトラクタを計算&描画してみました。(微分方程式の近似解法には、同...

Ruby - ローレンツ・アトラクタ(Runge-Kutta 法)!  (2018-06-22)

前回、微分方程式の近似解法に Euler(オイラー)法を使用して、ローレンツ・アトラクタを計算&描画してみました。(Ruby で) Ruby - ローレンツ・アトラクタ(Euler 法)! 今回は、微分方程式の近似解法に Runge-Kutta(ルンゲ=クッタ)法を使用して、計算&描画してみました。(...

Python - 2 つの list から単回帰(1〜4次)計算&比較!  (2018-05-27)

先日、 Python で2つの list から単回帰曲線(二次回帰)を計算するアルゴリズムを実装しましたが、今回は、同じ2つの list で、単回帰直線(1次)、単回帰曲線(2〜4次)を計算して、結果を比較してました。

Python - 円周率計算(Chudnovsky の公式使用)!  (2018-05-21)

こんにちは。 以前、 C++ や Ruby で Chudnovsky の公式を使用して円周率を計算しました。(任意精度算術ライブラリ GMP(The GNU Multi Precision Arithmetic Library) を使用) C++ - 円周率計算(Chudnovsky の公式使用)! ...

Ruby - Array クラス拡張で単回帰曲線計算!  (2018-05-16)

以前、 Ruby の Array クラスを拡張して単回帰直線を計算してみました。 Ruby - Array クラス拡張で単回帰直線計算! 今回は、同様に Ruby の Array クラスを拡張して回帰式が2次の単回帰曲線を計算してみました。(「直線」でなく「曲線」

Python - 3次スプライン補間!  (2018-05-13)

過去に「3次スプライン補間」を Ruby で実装しました。 Ruby - 3次スプライン補間! 今回は、 Python3 で実装してみました。

Python - べき剰余アルゴリズムの実装!  (2018-05-10)

こんにちは。 以前、 C++ や Ruby で「べき剰余」のアルゴリズムを実装しました。 C++ - べき剰余アルゴリズムの実装! Ruby - べき剰余アルゴリズムの実装! 今回は Python で実装してみました。

Python - 2 つの list から重回帰式計算(NumPy 版)!  (2018-05-07)

前回、 Python で説明(独立)変数2個以上、目的(従属)変数1個の「重回帰式」を計算する方法についての紹介しました。(連立方程式の解法にはガウスの消去法を使用) Python - 2 つの list から重回帰式計算! 今回は、重回帰式を数値計算ライブラリ NumPy を使用して計算してみました。

Python - 最小二乗法!  (2018-04-19)

今回は、近似方程式を「最小二乗法」で解くアルゴリズムを Python3 で実装してみました。

Python - 多桁乗算(Toom-Cook 法 (3-way))!  (2018-03-22)

これまで、「標準(筆算)法」や「Karatsuba 法」による多桁同士の乗算アルゴリズムの Python への実装方法を紹介しました。 Python - 多桁乗算(標準(筆算)法)! Python - 多桁乗算(Karatsuba 法)! 今回は、「Karatsuba 法」の上位にある「Toom-...

Python - 多桁乗算(Karatsuba 法)!  (2018-03-19)

前回、 Python 3 で「標準(筆算)法」による多桁乗算アルゴリズムを実装する方法を紹介しました。 Python - 多桁乗算(標準(筆算)法)! 今回は、「標準(筆算)法」より高速に乗算が可能な「Karatsuba 法」アルゴリズムを実装してみました。

Python - 多桁乗算(標準(筆算)法)!  (2018-03-16)

前回、 Python 3 で多桁計算を行う方法を紹介しました。 Python - 多桁計算(その2)! ただ、乗算は一方が多桁でもう一方が小さい桁数と限定していました。 今回は、多桁同士の乗算アルゴリズム(標準(筆算)法)を Python 3 で実装してみました。

Python - 素因数分解!  (2018-01-10)

Python 3 で任意の自然数を素因数分解する方法についての記録です。(あまりに簡単なアルゴリズムですが)

Python - 素数判定!  (2018-01-07)

Python 3 で、 1 より大きい任意の自然数が素数であるか否かを判定する方法についての記録です。(あまりに簡単なアルゴリズムですが)

Fortran - 一様乱数(線形合同法)!  (2017-05-02)

以前、線形合同法を使用して一様乱数を生成する C++ コードや Ruby スクリプトを紹介しました。 C++ - 一様乱数(線形合同法)! Ruby - 一様乱数(線形合同法)! 今回は、同じアルゴリズムを Fortran90/95 で実装してみました。 アルゴリズムについては、上記 C++ の記...

Ruby - 3次スプライン補間!  (2016-01-12)

過去に「ラグランジュ補間」や「ニュートン補間」を C++ や Ruby で実装したことがありました。 C++ - ラグランジュ補間! - mk-mode BLOG Ruby - ラグランジュ補間! - mk-mode BLOG C++ - ニュートン補間! - mk-mode BLOG Rub...

Ruby - 円周率計算(BBP の公式使用)!  (2015-05-19)

こんにちは。 前回、 BBP(Bailey, Borwein, Plouffe) の公式を使用して任意の桁の円周率を16進で計算するアルゴリズムを C++ で実装しました。 C++ - 円周率計算(BBP の公式使用)! 今回は、同じアルゴリズムを Ruby で実装してみました。

C++ - 円周率計算(BBP の公式使用)!  (2015-05-17)

こんにちは。 円周率を計算する際、小数点以下1桁目から希望の桁までを全て計算する方法以外に、希望の桁だけを計算する方法もあります。 小数点以下1桁目から希望の桁までを全て計算した後、任意の桁の値が正しいかどうかを検証するために使用したりします。 今回は BBP(Bailey, Borwein, Plouff...

Ruby - べき剰余アルゴリズムの実装!  (2015-05-15)

こんにちは。 前回 C++ で「べき剰余」のアルゴリズムを実装しました。 C++ - べき剰余アルゴリズムの実装! 今回は Ruby で実装してみました。

Ruby - 円周率計算(Chudnovsky の公式使用)!  (2015-05-08)

こんにちは。 前回、C++ で Chudnovsky の公式を使用して円周率を1億桁まで計算しました。(任意精度算術ライブラリ GMP(The GNU Multi Precision Arithmetic Library) を使用) 今回は、同じことを Ruby で実装してみました。

C++ - 円周率計算(Chudnovsky の公式使用)!  (2015-05-06)

こんにちは。 今、円周率を計算するための公式で最も高速だと言われているのは、 Ramanujan(ラマヌジャン)系の「Chudnovsky(チャドノフスキー)の公式」です。 今回は、C++ で Chudnovsky の公式を使用して円周率を計算してみました。

Ruby - 素数判定!  (2014-12-31)

過去にも「素数判定」に関する記事を公開しましたが、再考してみました。

Ruby - Array クラス拡張で重回帰式計算!  (2014-11-23)

以前、2変量(説明(独立)変数1個、目的(従属)変数1個)の「単回帰直線」の計算を Ruby の Array クラスを拡張する方法で実装しました。 Ruby - Array クラス拡張で単回帰直線計算! 今回は、説明(独立)変数2個以上、目的(従属)変数1個の「重回帰式」の計算を Ruby の Arr...

Ruby - Array クラス拡張で単回帰直線計算!  (2014-11-05)

2変量の「単回帰直線」の「切片」と「傾き」を Ruby で簡単に計算するように試してみました。 Array クラスを拡張する方法です。 それほど難しい数学的アルゴリズムでも、それほど難しいプログラミングロジックでもありませんが、少し頻繁に使用することになりそうなので試してみた次第です。

Ruby - Array クラス拡張で相関係数計算!  (2014-11-04)

2変量の間にどれくらいの相関があるのかを調べる指標の「相関係数」を Ruby で簡単に計算するように試してみました。 Array クラスを拡張する方法です。 それほど難しい数学的アルゴリズムでも、それほど難しいプログラミングロジックでもありませんが、少し頻繁に使用することになりそうなので試してみた次第です。

Ruby - ソート処理各種テスト!  (2014-04-11)

前回は、各種ソート処理のアルゴリズムを C++ で実装することについて紹介しました。。 C++ - ソート処理各種テスト! 今回は、同じアルゴリズムを Ruby で実装してみました。 以下、Ruby スクリプトの紹介です。

C++ - ソート処理各種テスト!  (2014-04-10)

各種ソート処理について C++ で実装して速度を計測してみました。 以下、各種ソート処理の概要と C++ ソースです。

Ruby - ヒープ生成(上方・下方移動)!  (2014-04-07)

前々回、前回は「ヒープ(上方移動・下方移動)」のアルゴリズムを C++ で実装することについて紹介しました。。 C++ - ヒープ生成(上方移動)! C++ - ヒープ生成(下方移動)! 今回は、同じアルゴリズムを Ruby で実装してみました。(上方・下方移動) 以下、Ruby スクリプトの紹...

C++ - ヒープ生成(下方移動)!  (2014-04-06)

前回は「ヒープ」の生成を「上方移動」で行うアルゴリズム、C++ での実装について紹介しました。 C++ - ヒープ生成(上方移動)! 今回は「下方移動」によるヒープの生成についてです。 以下、簡単な説明と C++ ソースコードの紹介です。

C++ - ヒープ生成(上方移動)!  (2014-04-04)

今回は「ヒープ」という情報処理試験等でもよく登場する「木(二分木)」のアルゴリズムについてです。 以下、簡単な説明と C++ ソースコードの紹介です。

Java - 最小二乗法!  (2014-03-05)

これまで、C++, Ruby, Fortran による「最小二乗法」のアルゴリズムを紹介しました。 C++ - 最小二乗法! Ruby - 最小二乗法! Fortran - 最小二乗法! 今回は、同じアルゴリズムを Java で実現してみました。アルゴリズムについては、上記リンクの記事を参照し...

Fortran - 最小二乗法!  (2014-03-04)

前々回、前回は、C++, Ruby による「最小二乗法」のアルゴリズムを紹介しました。 C++ - 最小二乗法! Ruby - 最小二乗法! 今回は、同じアルゴリズムを Fortran 95 で実現してみました。アルゴリズムについては、上記リンクの記事を参照してください。

Ruby - 最小二乗法!  (2014-03-03)

前回は、C++ による「最小二乗法」のアルゴリズムを紹介しました。 C++ - 最小二乗法! 今回は、同じアルゴリズムを Ruby で実現してみました。アルゴリズムについては、上記リンクの記事を参照してください。

C++ - 最小二乗法!  (2014-03-02)

今回は、最小二乗法で近似方程式で解くアルゴリズムを C++ で実装してみました。 以下、簡単な説明と C++ ソースコードの紹介です。

Ruby - 線形計画法(シンプレックス法)!  (2014-02-22)

前回は、C++ による「線形計画法(シンプレックス法)」のアルゴリズムを紹介しました。 C++ - 線形計画法(シンプレックス法)! 今回は、同じアルゴリズムを Ruby で実現してみました。アルゴリズムについては、上記リンクの記事を参照してください。

R 言語 - マンデルブロ集合!  (2014-02-12)

統計解析向けのプログラミング言語 R で「マンデルブロ集合」を図形化してみました。 詳しいことは述べません。「こんなこともできるんだ」程度にとどめています。

Ruby - 連立方程式解法(ガウスの消去法)!  (2013-09-25)

ここ最近、連立方程式を「ガウス・ジョルダン法」や「ガウス・ジョルダン(ピボット選択)法」で解くアルゴリズムを Ruby で実装したことを紹介しました。 Ruby - 連立方程式解法(ガウス・ジョルダン法)! Ruby - 連立方程式解法(ガウス・ジョルダン(ピボット選択)法)! また、前回は連立方...

C++ - 連立方程式解法(ガウスの消去法)!  (2013-09-24)

ここ最近、連立方程式を「ガウス・ジョルダン法」や「ガウス・ジョルダン(ピボット選択)法」で解くアルゴリズムを C++ で実装したことを紹介しました。 C++ - 連立方程式解法(ガウス・ジョルダン法)! C++ - 連立方程式解法(ガウス・ジョルダン(ピボット選択)法)! 今回は、連立方程式を「ガ...

Ruby - 連立方程式解法(ガウス・ジョルダン(ピボット選択)法)!  (2013-09-23)

先日は、連立方程式を「ガウス・ジョルダン法」で解くアルゴリズムを Ruby で実装したことを紹介しました。 Ruby - 連立方程式解法(ガウス・ジョルダン法)! また、前回は連立方程式を「ガウス・ジョルダン法」を応用した「ガウス・ジョルダン(ピボット選択)法」で解くアルゴリズムを C++ で実装して...

C++ - 連立方程式解法(ガウス・ジョルダン(ピボット選択)法)!  (2013-09-22)

先日は、連立方程式を「ガウス・ジョルダン法」で解くアルゴリズムを C++ で実装したことを紹介しました。 C++ - 連立方程式解法(ガウス・ジョルダン法)! 今回は、連立方程式を「ガウス・ジョルダン法」を応用した「ガウス・ジョルダン(ピボット選択)法」で解くアルゴリズムを C++ で実装してみました...

Ruby - 連立方程式解法(ガウス・ジョルダン法)!  (2013-09-21)

前回は、C++ による「連立方程式の解法(ガウス・ジョルダン法)」のアルゴリズムを紹介しました。 C++ - 連立方程式解法(ガウス・ジョルダン法)! 今回は、同じアルゴリズムを Ruby で実現してみました。アルゴリズムについては、上記リンクの記事を参照してください。

特殊相対性理論における時間の遅れ!  (2013-07-08)

特殊相対性理論とは、「広辞苑 第五版」より引用すると、 1905年、アインシュタインが絶対静止の座標系を否定して、互いに等速運動をしている座標系に関してはすべての自然法則は同一の形式を保つということを主張した理論。質量とエネルギーの等価性が導かれた。 ある限定的な「特殊な」場合にだけに当てはめた理論で...

Ruby - (離散)フーリエ変換!  (2013-06-11)

前回、「離散フーリエ変換」の C++ での実装に関する記事を紹介しました。 C++ - (離散)フーリエ変換 今回は、同じアルゴリズムを Ruby で実装してみました。 実際、ほとんど同じです。

C++ - (離散)フーリエ変換!  (2013-06-10)

以前、「フーリエ級数展開」を C++ で実装したり、「複素フーリエ級数展開」についての記事を紹介しました。 C++ - フーリエ級数展開 複素フーリエ級数展開! 今回は、「フーリエ変換・離散フーリエ変換」、特に C++ での離散フーリエ変換の実装についてです。 それほど、深くは掘り下げていません。...

複素フーリエ級数展開!  (2013-05-19)

先日、実形式の「フーリエ級数展開」の C++, Ruby 実装を紹介しました。 C++ - フーリエ級数展開! Ruby - フーリエ級数展開! 今回は、複素形式の「フーリエ級数展開」についてです。 複素数を使用してより簡素な計算式にしようというものであって、展開結果が複素数になるというものではあ...

Ruby - フーリエ級数展開!  (2013-05-17)

前回は、「フーリエ級数展開」を C++ で実装してみました。 C++ - フーリエ級数展開! 今回は、同じことを Ruby で実装してみました。実際、ほとんど同じです。「フーリエ級数展開」についての詳細は上記の前回記事を参照ください。

C++ - フーリエ級数展開!  (2013-05-16)

今回は、「フーリエ級数展開」を C++ で実装してみました。 ちなみに、テイラー展開は以前紹介しています。 C++ - テイラー展開 ( exp(x) )! C++ - テイラー展開 ( cos(x) )!

Ruby - 多倍長浮動小数点数の加減算!  (2013-05-06)

前回は、C++ による多倍長浮動小数点数同士の加減算について紹介しました。 C++ - 多倍長浮動小数点数の加減算! 今回は、同じことを Ruby で試してみました。

Ruby - 多倍長整数の大小比較!  (2013-05-03)

前回は、C++ による多桁(多倍長)整数同士の大小の比較について紹介しました。 C++ - 多倍長整数の大小比較! 今回は、同じことを Ruby で試してみました。 Ruby では多倍長数はメモリの許す限り使用可能ですが、配列を使った考え方も必要になる局面もあると思います。

C++ - 多倍長整数の大小比較!  (2013-05-02)

多桁(多倍長)整数同士の大小の比較についてです。 もちろん、プログラミング言語の整数型に収まるような大きさの整数ではなく、整数型で扱えないような大きな整数での話です。 多桁(多倍長)演算する場合、大抵は配列を使用します。今回も配列を使用した(よくある)方法を試してみました。

Ruby - 多桁乗算(Toom-Cook 法 (3-way))!  (2013-04-30)

前回は、C++ による「多桁乗算(Toom-Cook 法 (3-way))」のアルゴリズムを紹介しました。 C++ - 多桁乗算(Toom-Cook 法 (3-way))! 今日は、同じアルゴリズムを Ruby で実現してみました。 Ruby では桁数(整数型の範囲)をあまり気にしなくても、メモリの許...

C++ - 多桁乗算(Toom-Cook 法 (3-way))!  (2013-04-29)

これまで、「標準(筆算)法」や「Karatsuba 法」による多桁同士の乗算アルゴリズムの C++ への実装を紹介しました。 C++ - 多桁乗算(標準(筆算)法)! C++ - 多桁乗算(Karatsuba 法)! 今回は、「Karatsuba 法」の上位にある「Toom-Cook 法」アルゴリ...

Ruby - 多桁乗算(Karatsuba 法)!  (2013-04-26)

前回は、C++ による「多桁乗算(Karatsuba 法)」のアルゴリズムを紹介しました。 C++ - 多桁乗算(Karatsuba 法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 Ruby では桁数(整数型の範囲)をあまり気にしなくても、メモリの許される限り計算できますが、それで...

C++ - 多桁乗算(Karatsuba 法)!  (2013-04-25)

先日、「標準(筆算)法」による多桁同士の乗算アルゴリズムを C++ に実装してみました。 C++ - 多桁乗算(標準(筆算)法)! 今回は、「標準(筆算)法」より高速に乗算が可能な「Karatsuba 法」アルゴリズムを C++ で実装してみました。

Ruby - 多桁乗算(標準(筆算)法)!  (2013-04-23)

前回は、C++ による「多桁同士の乗算(筆算法)」のアルゴリズムを紹介しました。 C++ - 多桁乗算(標準(筆算)法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 Ruby では桁数(整数型の範囲)をあまり気にしなくても、メモリの許される限り計算できますが、それでも多桁同士の乗算で...

C++ - 多桁乗算(標準(筆算)法)!  (2013-04-22)

以前、多桁(データ型を超える整数)の加減乗除アルゴリズムを C++ に実装してみました。 C++ - 多桁計算! C++ - 多桁計算(その2)! ただ、乗算は一方が多桁でもう一方が小さい桁数と限定していました。 今回は、「標準(筆算)方式」による多桁同士の乗算アルゴリズムを C++ で実装して...

Ruby - 多桁計算(その2)!  (2013-04-20)

前回は、C++ による「多桁計算」のアルゴリズム(筆算式)の改良版を紹介しました。 C++ - 多桁計算(その2)! 今日は、同じアルゴリズムを Ruby で実現してみました。 Ruby では桁数(整数型の範囲)をあまり気にしなくても、メモリの許される限り計算できますが、それでも都合が悪いこともあるで...

C++ - 多桁計算(その2)!  (2013-04-19)

以前、多桁(データ型を超える整数)の加減乗除アルゴリズムを C++ に実装してみました。 C++ - 多桁計算! 今回は、少し改良してみました。

Fortran - 円周率計算(Arctan 系公式)  (2013-04-17)

これまで、円周率を Arctan 系の公式で多桁計算する C++, Ruby アルゴリズムを紹介しました。 C++ - 円周率計算(Arctan 系公式(その2))! Ruby - 円周率計算(Arctan 系公式(その2))! (上記のリンクの記事より以前にも同様な記事を紹介していますが、改良前...

Ruby - 円周率計算(Arctan 系公式(その2))  (2013-04-15)

前回、円周率を Arctan 系の公式で多桁計算する C++ アルゴリズムで、各項の収束速度の速い項を無駄に計算していたのを改良したアルゴリズムを紹介しました。 C++ - 円周率計算(Arctan 系公式(その2))! 今回は、Ruby で同じアルゴリズムを実現してみました。 アルゴリズム等について...

C++ - 円周率計算(Arctan 系公式(その2))  (2013-04-14)

今まで、円周率を Arctan 系の公式で多桁計算する概念、C++ アルゴリズムを紹介してきました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! C++ - 円周率計算(オイラーの公式)! C++ - 円周率計算(オイラーの公式(...

Ruby - 円周率計算(Arctan 系公式)!  (2013-04-12)

前回は、C++ による「Arctan 系公式による円周率計算」の「汎用化」したアルゴリズムを紹介しました。 C++ - 円周率計算(Arctan 系公式)! 今日は、同じアルゴリズムを Ruby で実現してみました。 と言っても、「Ruby - 円周率計算(オイラーの公式(2))!」のアルゴリズムに追...

C++ - 円周率計算(Arctan 系公式)!  (2013-04-11)

今まで、円周率をマチンの公式や Klingensitierna の公式、オイラーの公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! C++ - 円周率計算(オイラーの公式)! ...

Ruby - 円周率計算(オイラーの公式(2))!  (2013-04-09)

前回は、C++ による「オイラーの公式(2)による円周率計算」のアルゴリズムを紹介しました。 C++ - 円周率計算(オイラーの公式(2))! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズム等については、上記リンクの記事を参照してください。 Arctan 系公式による計算は項...

C++ - 円周率計算(オイラーの公式(2))!  (2013-04-08)

今まで、円周率をマチンの公式や Klingensitierna の公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! C++ - 円周率計算(オイラーの公式)! 今回も、同様に...

Ruby - 円周率計算(オイラーの公式)!  (2013-04-06)

前回は、C++ による「オイラーの公式による円周率計算」のアルゴリズムを紹介しました。 C++ - 円周率計算(オイラーの公式)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズム等については、上記リンクの記事を参照してください。

C++ - 円周率計算(オイラーの公式)!  (2013-04-05)

今まで、円周率をマチンの公式や Klingensitierna の公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! C++ - 円周率計算(Klingenstierna の公式)! 今回も、同様に \(\arctan\)系の公式である「オイラー...

Ruby - 円周率計算(Klingenstierna の公式)!  (2013-04-03)

前回は、C++ による「Klingenstierna の公式による円周率計算」のアルゴリズムを紹介しました。 C++ - 円周率計算(Klingenstierna の公式)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズム等については、上記リンクの記事を参照してください。

C++ - 円周率計算(Klingenstierna の公式)!  (2013-04-02)

以前、円周率をマチンの公式で多桁計算する概念、C++ アルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! 今回は、マチンの公式同様 \(\arctan\)系の公式である「Klingenstierna の公式」を使用して、円周率 \(\pi\) を計算してみました。 当然、プログラ...

Ruby - 階乗の多桁計算!  (2013-03-28)

前回は、C++ による「階乗(n!)の多桁計算」のアルゴリズムを紹介しました。 C++ - 階乗の多桁計算! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。

C++ - 階乗の多桁計算!  (2013-03-27)

以前、コンピュータで大きな桁数を計算する概念・アルゴリズムを紹介しました。 C++ - 多桁計算! 今回は、階乗(n!)を多桁計算するアルゴリズムについてです。

Ruby - ネイピア数(自然対数の底)e 計算!  (2013-03-25)

前回は、C++ による「ネイピア数(自然対数の底) \(e\) 計算」のアルゴリズムを紹介しました。 C++ - ネイピア数(自然対数の底)e 計算! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。

C++ - ネイピア数(自然対数の底)e 計算!  (2013-03-24)

以前、コンピュータで大きな桁数を計算する概念・アルゴリズムを紹介しました。 C++ - 多桁計算! 今回は、ネイピア数(自然対数の底) \(e\) を多桁計算するアルゴリズムについてです。 当然、プログラミン言語そのものが保有している関数は使用しません。級数展開して計算します。

Ruby - 円周率計算(マチンの公式)!  (2013-03-22)

前回は、C++ による「マチンの公式による円周率計算」のアルゴリズムを紹介しました。 C++ - 円周率計算(マチンの公式)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズム等については、上記リンクの記事を参照してください。

C++ - 円周率計算(マチンの公式)!  (2013-03-21)

先日は、コンピュータで大きな桁数を計算する概念・アルゴリズムを紹介しました。 C++ - 多桁計算! 今回は、その概念を応用して円周率 \(\pi\) を計算してみました。 使用した公式は、マチン(Machin)の公式です。 当然、プログラミン言語そのものが保有している三角関数は使用しません。級数展...

Ruby - 多桁計算!  (2013-03-19)

前回は、C++ による「多桁計算」のアルゴリズムを紹介しました。 C++ - 多桁計算! 今日は、同じアルゴリズムを Ruby で実現してみました。 Ruby では桁数(整数型の範囲)をあまり気にしなくても、メモリの許される限り計算できますが、それでも都合が悪いこともあるでしょうし・・・・ アルゴリズ...

C++ - 多桁計算!  (2013-03-18)

通常、C言語等では整数型で扱える数値を超える値の加減乗除はそのままでは計算不可能です。 今回は、データ型を超える整数の加減乗除の方法についてです。

Ruby - ニュートン補間!  (2013-03-14)

前回は、C++ による「ニュートン補間」のアルゴリズムを紹介しました。 C++ - ニュートン補間! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。

C++ - ニュートン補間!  (2013-03-13)

何組かの x, y データが与えられ、これらの点全てを通る補間多項式を求める方法に「ニュートン補間」というものがあります。 先日は「ラグランジュ補間」について紹介しました。 C++ - ラグランジュ補間! 以下、一部 \(\TeX\) で記載。

Ruby - ラグランジュ補間!  (2013-03-11)

前回は、C++ による「ラグランジュ補間」のアルゴリズムを紹介しました。 C++ - ラグランジュ補間! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。

C++ - ラグランジュ補間!  (2013-03-10)

何組かの x, y データが与えられ、これらの点全てを通る補間多項式を求める方法に「ラグランジュ補間」というものがあります。 以下、一部 \(\TeX\) で記載。

Ruby - 非線形方程式の解法(ニュートン法)!  (2012-11-22)

先日は、\(f(x)=0\) の解をニュートン法により求める C++ によるアルゴリズムを紹介しました。 C++ - 非線型方程式の解法(ニュートン法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。

C++ - 非線形方程式の解法(ニュートン法)!  (2012-11-21)

少し前には、\(f(x)=0\) の解を2分法により求める C++ アルゴリズムについて紹介しました。 C++ - 非線形方程式の解法(2分法)! 今日は、方程式 \(f(x)=0\) の解をニュートン法により求める C++ アルゴリズム についてです。 ニュートン法の概念・アルゴリズムは以下の通り。

Ruby - 非線形方程式の解法(2分法)!  (2012-11-12)

先日は、\(f(x)=0\) の解を2分法により求める C++ によるアルゴリズムを紹介しました。 C++ - 非線型方程式の解法(2分法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。

C++ - 非線形方程式の解法(2分法)!  (2012-11-11)

方程式 \(f(x)=0\) の解を2分法により求める C++ アルゴリズム についてです。 まず、1次方程式(つまりグラフ上で直線)以外の方程式を非線形方程式と呼びます。 そして、このような方程式の根を求める方法に「2分法」というものがあります。

Ruby on Rails - Ruby+RSRuby のスクリプトを動かす!  (2012-11-02)

Ruby + RSRuby で正常に動作していたスクリプトを Ruby on Rails アプリからコールすると動作しません。 Fatal Error: R home directory is not defined などとなります。 R のホームディレクトリが定義されていないと言っています。 ちなみに、...

Ruby - RSRuby でグラフ描画!  (2012-10-26)

少し前に、統計解析向けプログラミング言語 R について記事にしました。 Scientific Linux - R 言語環境構築! Scientific Linux - RStudio インストール! R - ローソク足チャート描画! 今日は、Ruby で R のグラフを描画できる Gem パッ...

Ruby - テイラー展開 [ cos(x) ]!  (2012-10-22)

先日は、\(\cos x\) をテイラー展開で計算する C++ によるアルゴリズムを紹介しました。 C++ - テイラー展開 [ cos(x) ]! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。

C++ - テイラー展開 [ cos(x) ]!  (2012-10-21)

先日、\(e ^ {x}\)をテイラー展開を用いて計算する C++ アルゴリズム について紹介しました。 C++ - テイラー展開 [ exp(x) ]! 今日は、\(\cos x\)をテイラー展開を用いて計算してみました。 ※以下、一部 \(\TeX\) で記載

Ruby - テイラー展開 [ exp(x) ]!  (2012-10-20)

先日は、\(e ^ x\) をテイラー展開で計算する C++ によるアルゴリズムを紹介しました。 C++ - テイラー展開 [ exp(x) ]! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。

C++ - テイラー展開 [ exp(x) ]!  (2012-10-19)

今回は \(e ^ {x}\)をテイラー展開を用いて計算する C++ アルゴリズム についてです。 ※以下、一部 \(\TeX\) で記載 まず、

Scientific Linux - RStudio インストール!  (2012-10-13)

昨日は、Scientific Linux のデスクトップ環境に統計解析向けプログラミング言語 R をインストールしました。 Scientific Linux - R 言語環境構築! 今日は R の IDE ツールをインストールしてみました。 デスクトップ版とサーバ版がありますが、今回は個人使用なので...

Scientific Linux - R 言語環境構築!  (2012-10-12)

Scientific Lixun のデスクトップ環境に統計解析向けプログラミング言語 R の環境を構築してみました。 時々、緻密なグラフを作りたい状況があるからです。 以下、作業記録です。

Ruby - 数値積分(シンプソン則による定積分)!  (2012-10-09)

先日は、数値積分(シンプソン則による定積分)の C++ によるアルゴリズムを紹介しました。 C++ - 数値積分(シンプソン則による定積分)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。

C++ - 数値積分(シンプソン則による定積分)!  (2012-10-08)

関数 \(f(x)\) の定積分を微小区間に分割して近似値として求める方法を数値積分と言います。 そして、以前「台形則による定積分」についてお話ししました。 C++ - 数値積分(台形則による定積分)! Ruby - 数値積分(台形則による定積分)! 今回は、「シンプソン則による定積分」を C+...

Ruby - 数値積分(台形則による定積分)!  (2012-09-11)

先日は、数値積分(台形則による定積分)の C++ によるアルゴリズムを紹介しました。 C++ - 数値積分(台形則による定積分)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。 実際、ほとんど同じです。

C++ - 数値積分(台形則による定積分)!  (2012-09-10)

関数 \(f(x)\) の定積分を微小区間に分割して近似値として求める方法を数値積分と言います。 今回は、数値積分の中でも「台形則による定積分」を C++ で挑戦してみました。

Ruby - 正規乱数(ボックス=ミューラー法)!  (2012-09-02)

先日は、正規乱数をボックス=ミューラー法で生成して正規分布を検証する C++ によるアルゴリズムを紹介しました。 C++ - 正規乱数(ボックス=ミューラー法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、上記リンクの記事を参照してください。 実際、ほとんど...

C++ - 正規乱数(ボックス=ミューラー法)!  (2012-08-31)

少し前に、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについて紹介しました。 C++ - 一様乱数(線形合同法)! C++ - 一様乱数の一様性検定(カイ2乗検定)! 今回は、正規乱数を発生させて実際に正規分布になっているかを検証してみました。 まず、「正規乱数」とは「正規...

Ruby - 一様乱数の一様性検定(カイ2乗検定)!  (2012-08-19)

昨日は、一様乱数の一様性を「カイ2乗検定」で検定する C++ によるアルゴリズムを紹介しました。 C++ - 一様乱数の一様性検定(カイ2乗検定)! 今日は、同じアルゴリズムを Ruby で実現してみました。 カイ2乗検定の詳細については、昨日の記事等を参照してください。 実際、アルゴリズム的にはほと...

C++ - 一様乱数の一様性検定(カイ2乗検定)!  (2012-08-18)

少し前に、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについて紹介しました。 C++ - 一様乱数(線形合同法)! 今回は、それらの生成した一様乱数が本当に一様かどうかを「カイ2乗検定」で検証してみました。

Ruby - 一様乱数(線形合同法)!  (2012-08-14)

昨日は、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムを紹介しました。 C++ - 一様乱数(線形合同法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 (アルゴリズムについては、昨日の記事を参照してください) 実際、ほとんど同じです。

C++ - 一様乱数(線形合同法)!  (2012-08-13)

今日は、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについてです。 まず、 「一様乱数とは、ある有限の区間内で全ての実数が一様に(同じ濃度で)現れるような擬似乱数のことである。」 です。

Ruby - 素因数分解!  (2012-08-09)

昨日は、任意の自然数を素因数分解する C++ によるアルゴリズムを紹介しました。 C++ - 素因数分解! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、昨日の記事を参照してください。 実際、ほとんど同じです。

C++ - 素因数分解!  (2012-08-08)

今日は、任意の自然数を素因数分解する C++ によるアルゴリズムについてです。 まず、 自然数 p (> 1) が 1 と p の他に正の約数を持たない場合、p を素数という。 です。そして、 任意の自然数を素数の積で表すことを、素因数分解という。但し、1 の素因数分解は 1 と定義す...

Ruby - エラトステネスのふるい!  (2012-08-06)

昨日は、エラトステネスのふるいの C++ によるアルゴリズムを紹介しました。 C++ - エラトステネスのふるい! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズム等については、昨日の記事等を参照してください。

C++ - エラトステネスのふるい!  (2012-08-05)

今日は、2 以上 n 以下の自然数の中から素数を抽出(素数以外を排除)する C++ によるアルゴリズムについてです。 まず、 「自然数 p ( > 1 ) が 1 と p の他に正の約数を持たない場合、p を素数という。」 です。 そして、簡単に言うと、自然数の配列をふるいに見立てて素数以外を排除してい...

Ruby - 素数判定!  (2012-08-03)

昨日は、任意の自然数が素数か否かを判定する C++ によるアルゴリズムを紹介しました。 C++ で素数判定! 今日は、同じアルゴリズムを Ruby で実現してみました。 素数やアルゴリズムについては、昨日の記事を参照してください。 ただ、Ruby には Prime クラスというものが用意されているの...

C++ - 素数判定!  (2012-08-02)

今日は、任意の自然数が素数か否かを判定する C++ によるアルゴリズムについてです。 まず、 自然数 p ( > 1 ) が 1 と p の他に正の約数を持たない場合、p を素数という。 単純に考えると、 与えられた自然数 p が素数であるか否かを判定するには、2 から p まで順に割...

C++, Ruby - ユークリッドの互除法!  (2012-07-28)

C++ と Ruby で、ユークリッドの互除法を使って2つの自然数の最大公約数を求めるプログラムを作成してみました。 まず、ユークリッドの互除法について、 「自然数 a, b ( a > b ) について、a を b で割った剰余を r とすると、a と b の最大公約数は b と r の GCD に等し...

Ruby - 円周率計算(Spigotアルゴリズム)!  (2012-04-23)

Ruby で円周率を計算してみました。 通常、コンピュータで円周率を計算するには多倍長整数の概念を使用しますが、今回は上の桁から順々に計算していく “Spigot” というアルゴリズムを利用しました。 Spigot アルゴリズムについての詳しいことは、 Spigot アルゴリズム - 円周率.jp - ...

Cygwin - Scala を使う!  (2012-04-14)

Cygwin 上で、オブジェクト指向の機能と関数型言語の機能を統合した汎用プログラミング言語 Scala を使えるようにしてみました。 今後本格的に使用するかどうかは別として、ちょっと触れてみたいと思った程度です。 現在、Scala は 2.9.1-1 が最新のようです。

Ruby - 処理実行時間計測!  (2012-04-08)

ご存知の方も多いと思いますが、Ruby での処理の実行時間計測方法についてです。 Ruby に限らずよくある方法に、処理前と処理後の時間差を計算する方法があります。 Ruby ではこの方法以外に、ベンチマークを取るためのクラス Benchmark を使う方法もあります。 こちらを参照。 library...

Cygwin - Python を使う!  (2012-04-07)

Cygwin 上で Python を使えるようにしてみました。 現在、Python は 2.x 系では 2.7.2 が最新、3.x 系では 3.2.2 が最新のようです。 ソースからインストールする場合は、これらのバージョンにするでのしょうが、今回はちょっと試すだけなので、パッケージによるインストールとしました...

Cygwin - Fortran95 を使う!  (2012-03-27)

Cygwin 上で Fortran を使えるようにしてみました。 大学時代に FORTRAN77(パンチカード式)に少しだけ触れた程度でしたが、思い出す意味も含めてコンパイルできる環境を準備してみました。 Fortran は現在、オブジェクト指向プログラミングのできる Fortran2003 が最新のようですが...

Ruby - 地球上の2点間の距離をほぼ正確に計算!  (2011-10-28)

最近、 Ruby での UNIX MBOX メールヘッダの検証をやってきましたが、今回は気分転換に違った話題です。 それは「Rubyを使って地球上の2点間の距離を出来るだけ正確に計算してみよう」というものです。 ※きっかけは、地元の原子力発電所と自宅の距離を正確に知りたかったから。 ご存知のように地球は完全な...

Excel製の数学文書をLATEXで整形!  (2011-08-21)

以前、ロト6の当選データを分析するために、「単回帰曲線」の解法、「重回帰式」の解法を調べたときに今後のためにとExcelを使用してPDF化していました。 (「単回帰曲線」の解法、「重回帰式」の解法は、大学の数学科時代に使用していた統計関係の書籍を読みあさってまとめました。) しかし、Excelで作成したので、見た...

コマ大数学科DVD-BOX第2期!  (2009-06-24)

   今夜は、久々に「 数学 」関連の話題です。 といっても、DVDを買ったというだけですが。。。 フジテレビ系で深夜(?、うちの地元では深夜)に放送している 「 コマネチ大学数学科 」 のDVD第2弾です。 でも、確か今は第5弾(?)位まで発売されているはずですが。。。 ほぼ毎回、テレビは録画はしていま...

コマ大数学科DVDBOX1!  (2009-05-09)

   チョー、久々に数学関連の話題です。 小学校・中学校とそろばん習っていたし、 高校も数学が好きで理数科だったし、 大学も数学が好きで理学部数学科だった僕。 自慢じゃないけど、大学入試センター試験も200点満点中200点だったし。。。 なので今でも数学は好きで、毎月「 数学セミナー 」という数学専門誌...

回帰分析のお話!?  (2009-01-21)

いつも、ブログのデザイン関連の話ばかりなんで、この辺でちょっとギャンブルのお話でも。 といっても、ロト6を統計学的に解析しようという話です。 (以前は、書店で見かけた攻略本のマネゴトをしてましたが、サッパリなんで・・・) 実は、僕は大学生時代、数学科に籍を置いておりまして、いまでも数学はチョットばかし興味が...