R

パーシステントホモロジーのパッケージ

パーシステントホモロジーのRパッケージTDAのVignetteをなぞってみる

Rでお手軽パラレル・コンピューティング

ある処理をする関数 FUN( ) があるとする 処理 FUN( ) に渡したい入力データセットがいくつもあって、その一つ一つがlistオブジェクト X になっているとする コンピュータがLINUX(またはMac)のとき parallel パッケージを使って library(parallel) out <- mc…

球面→球面の多価関数の図示

昨日の記事で球面の色塗りをした 球面から球面への多価関数があったとき、球面の点の半径に多価関数の緯度分の上乗せをして、色相・色調によって経度情報も盛り込むことにすれば

球面に色を塗る

複素平面に無限遠点を加えたリーマン球面での多価関数の視覚化の準備として、球面に色を塗ってみる 経度を色相に、緯度を明度に

リーマン面の視覚化

昨日は円環上の多価関数の視覚化をしてみた 今日は複素平面上の多価複素関数の視覚化をしてみる 台である複素平面を第1・第2軸の平面に取り、複素関数の値の実部を第3軸にとることとし、複素関数値の虚部を色相で表し、複素関数値の虚部の絶対値を明度の…

多価関数

多価関数、複素解析での多価関数について理解を深めたい 特に複素平面に無限遠点を加えたリーマン球面を台とした複素多価関数について解りたい その助走として、実1次元数直線とそれの正負の無限遠点を同一視してできる円環を台とした多価関数をいじってみ…

球面三角形の内部にある?

球面上の点が与えられたときに、球面の3点が張る三角形の内部にあるかどうかを判定しよう

平面グラフを球面に貼り付ける

平面グラフは球面と同相 平面グラフのグラフ距離を球面の測地距離に合わせる(合わない残差は潔く捨てる)、という作戦で貼り付けてみる

Rでh-index

h-indexという研究者評価指標があります(九州大学の説明サイト) どうやって計算しているかというと、簡単に言うと、論文を引用件数の多い順に並べます。そうすると、引用数がだんだん減って来て、第 k 番目に引用件数が多い論文の引用数がkのあたりに来ます…

グラスマン多様体とプリュッカー埋め込み

9/15の記事でシューベルト計算についてメモした その背景となるグラスマン多様体、そのプリュッカー埋め込み、射影空間とかについて、Rを使いながら理解を確認してみる 複素ベクトル空間で考える。複素数を使うのは、複素数が代数的閉体であることから都合が…

メビウス関数・メビウス反転

メビウス反転公式 自然数を台とする関数があったときに、という関数gを定める。ただし、とは、dがnを割り切る自然数という意味である このとき、ある関数が存在して、となるという Rでこの(メビウス関数)を算出してみる は0,+1,-1のいずれかの値を取る 以下…

完全グラフのゼータ関数

完全グラフはp個のノードを持つグラフで、すべてのノードペアにエッジがある(無向)グラフ これのゼータ関数は ただし、 ちなみににも定義された式になっている。の場合は項がキャンセルアウトして、結果としては、すべてとなる my.ihara.n <- function(p){ s…

グラフのゼータ関数

資料 伊原のゼータ関数を非正則グラフにまで拡張したのが橋本のゼータ関数で ただし、uは複素数、mとnはグラフGのエッジ数とノード数、はMの行列式で、Iはノード数xノード数の単位行列、AはGの隣接行列、DはGのノードの次数を対角成分とする対角行列 ちなみ…

my circos

要素を円周上に並べ、関連のある要素を円の内側に弧を描くデータ視覚化手法がある。circos きれいだけれど、簡易に描きたい 特に、データ構造のみの情報で描きたい このようなデータ構造は色々考えられるが、自分の用途は次のようなもの 木グラフがある。木…

部分集合要素のソート

# ある集合に順序があり # その部分集合を全体集合に定まった順序でソートしたい my.sort.subset <- function(subset,setorder){ loc <- rep(0,length(subset)) for(i in 1:length(loc)){ loc[i] <- which(setorder==subset[i]) } ord <- order(loc) return(…

重複なし行のみの抽出

R

データレコードが行列状になっているときに、重複行を見つけて、ダブっている分を除いて、1行分にして出すのがunique() 今、ダブっているレコードは1行残らず、破棄したい unique()関数は、上からスキャンして、初出はTRUE、既出分とダブったらFALSEを返す…

pyperを使ってみる

pythonからRを動かしてその結果をpython内に取り戻すことができる 参考 pyperパッケージをインストールして使えるようにしたうえで numpyオブジェクトを使ってRのオブジェクトを取り出すようなRの動かし方を指定する from pyper import * r = R(use_numpy=Tr…

フラクタル メモ

# 4/25の講義内容の順序に沿って、いくつかの対象をRにて実行することを以下に示す # 順に実行せよ # 5/9のセミナー時間はその実行に成功していることを前提に始める # コッホ曲線を描くRコードが以下のURLから得られる(以下にそれを示している) # https://b…

マンデルブロ集合のお絵かき

Rをインストールする(Rさえインストールされればよくて、その他のパッケージは(ひとまず)不要です) Windows Mac 以下のコードをコピーペーストする # Rに2つのパッケージを追加します # "fields"と言う名前のパッケージと # "caTools"という名前のパッケー…

Rでいじる京大入試問題(数学)

R

ちゃんと解答しないと入試ではだめですが、入試問題をお絵かきの練習などに使うことができます。 問題・解答例はこちらとか --- title: "入試20180225" author: "ryamada" date: "2018年2月26日" output: html_document: toc: true toc_depth: 6 number_sect…

ペアワイズ距離

R

d次元空間に2つの点集合があるとする 2つの点集合の要素ワイズペアの距離を求めたい d <- 3 X1 <- matrix(rnorm(2*d),ncol=d) X2 <- matrix(rnorm(4*d),ncol=d) my.dist.pair <- function(X1,X2){ L1 <- apply(X1^2,1,sum) L2 <- apply(X2^2,1,sum) IP <- …

JupyterでR

参考 python notebookという仕組みがある pythonのコードと説明をマークダウンできれいに書ける。数式もうまく表示できる。hoge.ipynbという拡張子のファイルを配れば、相手もローカルでpython notebookとして見られるし、github上で開いても見られる(こちら…

Rmdとpython notebookをgit公開する

Rを使った資料を作って供覧したい Python notebookで作った資料も供覧したい githubで供覧したい Rの場合 RstudioでRmdファイルとして作るのに慣れているので、Rstudioを開く ひとしきりRmdファイルとして作成する ヘッダーに出力ファイル形式を、github用の…

グラフのペアワイズ最短距離と最短経路

グラフのペアワイズ最短距離が出したいことがある 密グラフならWarshall-Floyd、疎グラフならJonhsonが効率的という(参考) RのigraphパッケージもRGBLパッケージも最短距離は計算してくれるのだが、Warshall-Floydの行列が欲しい(どうしてほしくなるかはここ…

R R

同一平面上にある4点が、一般的な位置関係にあるとき、4点を2点ずつのペアに分けて、ペアを通る直線を2本引いたときの交点を出したい 散らし書きコード my.2d.intersect <- function(v1,v2,v3,v4){ M <- matrix(c(v2[1]-v1[1],v3[1]-v4[1],v2[2]-v1[2],v…

Brownian excursionとBrownian contunuum random tree

0からスタートして0に戻るブラウン運動はBrownian bridge 正の値だけをとるBrownian bridgeはBrownian excursion(ブラウン散歩) Rでシミュレーションするには、e1071パッケージに実装されたBrownian bridgeを何度も回して、excursion条件を満足するのができ…

地図、等高線

R

メモコード # 二次元地図を描こう x.min <- 0 x.max <- 10 y.min <- 0 y.max <- 10 n.kizami <- 50 x.val <- seq(from = x.min, to = x.max, length = n.kizami) y.val <- seq(from = y.min, to = y.max, length = n.kizami) head(x.val) # 格子を作る xy <-…

行列で差分方程式

--- title: "行列はありがたい" author: "ryamada" date: "2017年6月12日" output: html_document: toc: true toc_depth: 6 number_section: true --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` # 行列はありがたい ## 行列の演…

黄金角で葉序

# 黄金比 psi <- (1+sqrt(5))/2 # 黄金角 psi.angle <- (2*pi)/(1+psi) # シリアルナンバー t <- 0:5 # シリアル角 angles <- psi.angle * t # 角は y = ax 的に増える plot(t,angles) # 角に対応する単位円周上の座標 x <- cos(angles) y <- sin(angles) # …

私のためのQR分解

縦長の行列 A (n x p (n > p)) は、QR分解により と分解できる ただし、Qは n x p 行列、R は p x p 行列で Qのp本の列ベクトルは、正規直行基底の一部(ノルムが1で相互に直交) Rのp本の座標は、そのペアワイズ距離がAのp本のペアワイズ距離と同じになって…