R

Rcppを使ってパッケージを作る

Rcppパッケージには、Rcppを介してcppを使ったパッケージの見本を作成する関数 Rcpp.package.skeleton() がある Rstudioで新たにcppファイルを作成して、然るべきフォルダに保存して Rcppパッケージの compileAttributes() 関数を実行して、出来上がり あと…

グラフスペクトル:隣接行列・ラプラシアン・Normal行列

グラフが持つ3つの正方行列(隣接行列・ラプラシアン・Normal行列)の固有値分解・スペクトル解析に関する短い文書をRで確かめる作業をしてみた

京都大学(一般入試)数学の問題を計算機で解く(2019)

第一問 第二問 第三問 第四問 第五問 第六問 問題と解答例はこちらなどで 第一問 問1 が無理数でととが有理数となるような この手の計算の桁落ちなどの影響が出るタイプの問題は、整数割る整数などを、整数を用いたまま計算するタイプのパッケージなどを使…

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

パーシステントホモロジーの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 <-…