ONLY DO WHAT ONLY YOU CAN DO

こけたら立ちなはれ 立ったら歩きなはれ

少年サッカー データ分析

1年ぶりの新刊です。 R言語を使って、こんなデータから こんなネットワーク図を作成する方法を紹介しています。

「固有値と固有ベトル」 明日発売

「さまざまな言語で数値計算 7. 固有値と固有ベトル」明日発売(たぶん) 既刊 さまざまな言語で数値計算 第1巻 級数展開・連分数展開作者: 山岡直樹出版社/メーカー: ForNext発売日: 2013/11/01メディア: Kindle版この商品を含むブログ (5件) を見るさまざ…

Swift で 99 Bottles of Beer

Paiza が Swift に対応したと聞いたので https://paiza.io/ for i in (1...99).reverse() { print("\(i) bottles of beer on the wall, \(i) bottles of beer.\n") let next = i == 1 ? "no" : i.description print("Take one down and pass it around, \(ne…

Go 言語で固有値を求める (ハウスホルダー法)

対称行列 を, 以下のように分割して考える. それに対応する, 以下のような対称行列 を考える. に、左右から行列 と転置行列 をかける. このとき となるように を設定して 処理を反復すると, 三重対角行列が得られる. 得られた三重対角行列から, QR分解によっ…

Go 言語で固有値を求める (ヤコビ法)

対称行列 の非対角成分のうち絶対値が最大の成分を とするとき, その他の対角成分を , その他の非対角成分を とした行列 を考える. に と, 転置行列 を左右からかけてできた行列 の固有値と固有ベクトルは元の行列 から変化しない. これを相似変換という. と…

Go 言語で固有値を求める (QR分解)

対称行列 を 正規直交行列 と 右三角行列 の 積に分解し, 逆順に掛けたものを新たな として 処理を反復すると, 元の行列の固有値が対角成分に並んだ右三角行列に収束する. package main import "fmt" import "math" const N = 4 // QR分解で固有値を求める f…

Go 言語で固有値を求める (LR分解)

対称行列 を 左三角行列 と 右三角行列 の 積に分解し, 逆順に掛けたものを新たな として 処理を反復すると, 元の行列の固有値が対角成分に並んだ右三角行列に収束する. package main import "fmt" import "math" const N = 4 // LR分解で固有値を求める fun…

Go 言語で固有値・固有ベクトルを求める (逆反復法)

正方行列 の逆行列を求め として反復法で最大固有値を求めれば, その逆数が最小固有値になる. 逆行列を計算するより, を解いた方が簡単. 逆べき乗法ともいう. package main import "fmt" import "math" const N = 4 func main() { var a [N][N]float64 = [N]…

さまざまな言語で数値計算

表紙, 変えました. 級数展開・連分数展開 数値積分 関数の近似 常微分方程式 非線形方程式の解 連立一次方程式の解 固有値と固有ベクトル 偏微分方程式

Go 言語で固有値・固有ベクトルを求める (反復法)

の正方行列 と 次元のベクトル について (ただし ) が成り立つとき を固有値, を固有ベクトルという. 最初に適当なベクトル から始めて を反復すると は行列 の最大固有値に対応する固有ベクトルに収束する. 固有値はレイリー(Rayleigh)商 により求める. べ…

Rubyで固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

Pythonで固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

WindowsPowerShellで固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

Perlで固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

PHPで固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

D言語で固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

Groovyで固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

JavaScriptで固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

VBScriptで固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

VB.NETで固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

Javaで固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

Objective-Cで固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

C++で固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

C#で固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

kindle for PC

Kindle タブレットを持ってないからと言って諦めていたあなたに朗報です。 Kindle無料アプリにKindle for PCが仲間入り。いつものWindows PCでKindleの和書、コミック、雑誌、洋書が楽しめます。

Clojure で連立一次方程式を解く(ヤコビの反復法)

例として を考える. この方程式を上から順に対角線上の変数について解くと となる. に適当な値を入れて右辺を計算し、 得られた値を新たなとして、計算を繰り返す. 漸化式で書くと (def N 4) (def a [[9.0 2.0 1.0 1.0] [2.0 8.0 -2.0 1.0] [-1.0 -2.0 7.0 -…

Haskell で連立一次方程式を解く(ガウスの消去法)

連立一次方程式 が与えられた場合, まず(1)式を9で割って(1)'とする. (2)式から(1)'式に2を掛けたものを引くとの項が消える. (3)式に(1)'式を足すとの項が消える. (4)式から(1)'式を引くとの項が消える.同様にして, 2番目の式を利用して, 3番目以降の式のyを…

Haskell で連立一次方程式を解く(ヤコビの反復法)

例として を考える. この方程式を上から順に対角線上の変数について解くと となる. に適当な値を入れて右辺を計算し、 得られた値を新たなとして、計算を繰り返す. 漸化式で書くと import Text.Printf import Debug.Trace import Control.Monad n = 4::Int d…

VB で連立一次方程式を解く(ヤコビの反復法)

例として を考える. この方程式を上から順に対角線上の変数について解くと となる. に適当な値を入れて右辺を計算し、 得られた値を新たなとして、計算を繰り返す. 漸化式で書くと Option Explicit Module VB1001 Private Const N As Integer = 3 Public Sub…

Java で連立一次方程式を解く(ヤコビの反復法)

例として を考える. この方程式を上から順に対角線上の変数について解くと となる. に適当な値を入れて右辺を計算し、 得られた値を新たなとして、計算を繰り返す. 漸化式で書くと import java.lang.*; public class Java1001 { private static final int N …

Go言語 で連立一次方程式を解く(ヤコビの反復法)

例として を考える. この方程式を上から順に対角線上の変数について解くと となる. に適当な値を入れて右辺を計算し、 得られた値を新たなとして、計算を繰り返す. 漸化式で書くと package main import "fmt" import "math" const N = 4 func main() { var a…

D言語 で連立一次方程式を解く(ヤコビの反復法)

例として を考える. この方程式を上から順に対角線上の変数について解くと となる. に適当な値を入れて右辺を計算し、 得られた値を新たなとして、計算を繰り返す. 漸化式で書くと import std.stdio; import std.math; const int N = 4; void main(string[] …

ジュリアに傷心 Julia で 行列の積

たとえば, 3行5列の行列と, 5行4列の行列との積は, 以下のように 3行4列の行列になる. 上記の場合, C:\Windows\system32>julia _ _ _ _(_)_ | A fresh approach to technical computing (_) | (_) (_) | Documentation: http://docs.julialang.org _ _ _| |_…

C++ で連立一次方程式を解く(修正コレスキー法)

行と列とを入れ替えても(転置行列)一致する行列を対称行列と言う. 修正コレスキー法では, 対称行列 を下三角行列 , 対角行列 , の転置行列 の積に分解し( ), から を求め, から を求める. #include <iostream> #include <iomanip> #include <math.h> using namespace std; void decomp(d</math.h></iomanip></iostream>…

C++ で連立一次方程式を解く(コレスキー法)

行と列とを入れ替えても(転置行列)一致する行列を対称行列と言う. コレスキー法では, 対称行列 を下三角行列 と, の転置行列 との積に分解し( ), から を求め, から を求める. #include <iostream> #include <iomanip> #include <math.h> using namespace std; void decomp(double a[4][</math.h></iomanip></iostream>…

C++ で連立一次方程式を解く(LU分解法)

連立一次方程式 を行列で表すと, こんな感じ このとき とすると, 最初の連立方程式は と表すことができる. このとき となる 上三角行列 , 下三角行列 を考えると, であり, とおくと となる.LU分解法では, 係数行列 を上三角行列 , 下三角行列 に分解し, から…

C++ で連立一次方程式を解く(ガウス・ジョルダン法)

考え方は, ガウスの消去法とほぼ同じ.連立一次方程式 が与えられた場合, まず(1)式を9で割って(1)'とする. (2)式から(1)'式に2を掛けたものを引くとの項が消える. (3)式に(1)'式を足すとの項が消える. (4)式から(1)'式を引くとの項が消える.ここまでは, ガウ…

C++ で連立一次方程式を解く(ガウスの消去法)

連立一次方程式 が与えられた場合, まず(1)式を9で割って(1)'とする. (2)式から(1)'式に2を掛けたものを引くとの項が消える. (3)式に(1)'式を足すとの項が消える. (4)式から(1)'式を引くとの項が消える.同様にして, 2番目の式を利用して, 3番目以降の式のyを…

C++ で連立一次方程式を解く(ガウス・ザイデル法)

考え方は、ヤコビ法とほぼ同じ. ヤコビ法の場合、漸化式で書くと だったが、2番目以降の式のの代わりに, 1番目の式で計算して得られたを使う. 同様に、3番目以降の式のの代わりに, 2番目の式で計算して得られたを使う. まとめると、 #include <iostream> #include <iomanip> #in</iomanip></iostream>…

C++ で連立一次方程式を解く(ヤコビの反復法)

例として を考える. この方程式を上から順に対角線上の変数について解くと となる. に適当な値を入れて右辺を計算し、 得られた値を新たなとして、計算を繰り返す. 漸化式で書くと #include <iostream> #include <iomanip> #include <math.h> using namespace std; void jacobi(double a</math.h></iomanip></iostream>…

行列の積 (C++)

#include <iostream> #include <vector> using namespace std; void multiply(vector< vector<double> > a, vector< vector<double> > b, vector< vector<double> >& c); int main() { cout << 'A' << endl; vector< vector<double> > a; vector<double> temp; temp.push_back(11); temp.push_back(12); temp.push_back(</double></double></double></double></double></vector></iostream>…

行列の積 (C++)

たとえば, 3行5列の行列と, 5行4列の行列との積は, 以下のように 3行4列の行列になる. 上記の場合, #include <iostream> using namespace std; void multiply(double a[3][5], double b[5][4], double c[3][4]); int main() { cout << 'A' << endl; double a[3][5] = {</iostream>…

「非線形方程式の解」 本日発売

本日発売 さまざまな言語で数値計算 第5巻 非線形方程式の解作者: 山岡直樹出版社/メーカー: ForNext発売日: 2014/07/05メディア: Kindle版この商品を含むブログを見る 既刊 さまざまな言語で数値計算 第1巻 級数展開・連分数展開作者: 山岡直樹出版社/メ…

ジュリアに傷心 - Juliaで非線形方程式を解く (2分法)

非線形方程式の解法(2分法)を利用して2の平方根を求める 1. まず, 条件 を満たす点 を考えると, 関数 の解は, 区間 の中に存在する. 2. 次に, 区間 の中点 を考えると, であれば, 解は区間 の中に存在し, 同様に, であれば, 区間 の中に存在する. 3. この…

Groovyで非線形方程式を解く (2分法)

非線形方程式の解法(2分法)を利用して2の平方根を求める 1. まず, 条件 を満たす点 を考えると, 関数 の解は, 区間 の中に存在する. 2. 次に, 区間 の中点 を考えると, であれば, 解は区間 の中に存在し, 同様に, であれば, 区間 の中に存在する. 3. この…

Haskell で非線形方程式を解く (2分法)

非線形方程式の解法(2分法)を利用して2の平方根を求める 1. まず, 条件 を満たす点 を考えると, 関数 の解は, 区間 の中に存在する. 2. 次に, 区間 の中点 を考えると, であれば, 解は区間 の中に存在し, 同様に, であれば, 区間 の中に存在する. 3. この…

Clojure で非線形方程式を解く (2分法)

非線形方程式の解法(2分法)を利用して2の平方根を求める 1. まず, 条件 を満たす点 を考えると, 関数 の解は, 区間 の中に存在する. 2. 次に, 区間 の中点 を考えると, であれば, 解は区間 の中に存在し, 同様に, であれば, 区間 の中に存在する. 3. この…

F# で非線形方程式を解く (2分法)

非線形方程式の解法(2分法)を利用して2の平方根を求める 1. まず, 条件 を満たす点 を考えると, 関数 の解は, 区間 の中に存在する. 2. 次に, 区間 の中点 を考えると, であれば, 解は区間 の中に存在し, 同様に, であれば, 区間 の中に存在する. 3. この…

Scala で非線形方程式を解く (2分法)

非線形方程式の解法(2分法)を利用して2の平方根を求める 1. まず, 条件 を満たす点 を考えると, 関数 の解は, 区間 の中に存在する. 2. 次に, 区間 の中点 を考えると, であれば, 解は区間 の中に存在し, 同様に, であれば, 区間 の中に存在する. 3. この…

VB.NET で非線形方程式を解く (2分法)

非線形方程式の解法(2分法)を利用して2の平方根を求める 1. まず, 条件 を満たす点 を考えると, 関数 の解は, 区間 の中に存在する. 2. 次に, 区間 の中点 を考えると, であれば, 解は区間 の中に存在し, 同様に, であれば, 区間 の中に存在する. 3. この…