2016-02-01から1ヶ月間の記事一覧

京大2次試験数学問題をRで表現する

昨日、二次試験前期の第一日目があり、数学の試験問題がウェブ上に出ました(こちら) Rでなぞってみます (1) n >= 2 自然数。のにおける最大値をとする。を求めよ。を求めよ #n <- 2^(seq(from=1,to=10,length=100)) n <- seq(from=2,to=1000,length=10000) t…

Sphere inversionという3次元変形

こちらに3次元に広がる曲面の変形の話がある。曲面の変形にあたって、Willmore energyを変えない変形をする話がある 「うまい感じ」の変形のために、制約を加える話があり、そのうちの一つの制約が"sphere inversion"をさせない、というものである ここでい…

Gram Schmidtによる線形制約

今、ある値のベクトルがあるとする その値のベクトルに、『総和が0でなくてはならない』、という制約が入ったとする 値の平均値をそれぞれの値から引いてやれば、元の値の大小を保ったまま、総和が0という制約を守らせることができる これを、複数の制約に拡…

ラッパーを借用して手軽にcholmod UbuntuでSuitesparse Suitesparse の cholmodを使ってみる

cholmod_solve, cholmode_l_solveは結構大変 どう大変か、というと こちらからもわかるように cholmod_dense * cholmod_solve (int sys, cholmod_factor *L, cholmod_dense *B, cholmod_common *Common) solveする式のパターンを決めるint sys (たとえばAx =…

疎行列クラスの基礎 Suitesparse の cholmodを使ってみる

前の記事の疎行列用クラスのラッパークラス(spinxform)のヘッダー定義と関数コードを眺めて、疎行列クラスがどのようになっているかを見てみる 疎行列クラスの基本 nxm行列の要素を全部並べると大きすぎる。疎であることを利用して、「番地」と「値」の組だ…

最初のプログラム UbuntuでSuitesparse Suitesparse の cholmodを使ってみる

疎行列情報ファイル 例から見よう。3x3行列に5つの非ゼロ要素がある複素数を要素とする行列。./Matrix/c.matというファイルだとする %%MatrixMarket matrix coordinate complex hermitian 3 3 5 1 1 1. 0. 3 1 2. -1. 2 2 1. 0. 3 2 3. 0. 3 3 42. 0. 以…

cholmodプログラムのコンパイルの準備 UbuntuでSuitesparse Suitesparse の cholmodを使ってみる

疎行列情報を記録したファイルを読み込んで、それをハンドリングする、というスタイルを基本にしたい ディレクトリ hogeDirを作り、その下に 以下に示す Makefileを置く。このMakefileは以下に示すディレクトリ構造・ファイル配置で動くように作ってある デ…

UbuntuでSuitesparse Suitesparse の cholmodを使ってみる

Ubuntuのパッケージサイトはこちら Ubuntuのパッケージ管理システムについてはこちら コマンドラインのそれはapt-get Ubuntuのバージョンごとに提供ライブラリをわけて置いてある(こちらのパッケージ一覧に目を通す) trustyを使ったので、trustyのリンクに行…

Suitesparse の cholmodを使ってみる

Suitesparseは疎行列を扱う色々なアルゴリズムの集合体で、テキサス大の先生のサイトが提供元(こちら) cholmodはその一部 疎行列の扱いにあたって、グラフ理論を用いた疎行列の密化をし、そのうえと行列計算を組み合わせる仕組み グラフ理論・グラフの密化の…

CHOLMODとか

CHOLMODなどのヘッダーファイル、コードファイルの検索ができるAmesos packageのDoxgenサイト ぽんのブログさんの記事 そもそもコレスキー分解経由でのAx=bの解法とはどうなっているか→こちら

installr package

R

Rの最新版をインストールしたり Rのバージョン更新をしたりするパッケージ いわゆるRのGUI画面から、 library(installr) updateR() # installr() として、あとは、プロンプトに(基本はデフォルトで)返事をするだけ パッケージの自動移行もしてくれるようだ

Vagrantを使ってUbuntuを利用する

Virtual BoxをWindowsマシンに入れる(こちら) Vagrantを入れる(こちら) Vagrantで動かすUbuntuを手に入れる ここに色々なOSがあるが、今回は、この中のUbuntuの一つを選ぶ Ubuntu 14.04 (based on amd64 server iso file) コマンドプロンプトでとして、しば…

c++クラスが衝突しているとき

今、Aさんが作成したC++の諸関数群がある Bさんが作成したC++の諸関数群がある どちらも似たような目的で作られており、クラス名などが大幅に同名となっている。それぞれのクラスを定義した名前も同名になっている 両方を使ったプログラムが書きたい。どう…

Willmore flow関係メモ

http://www.eng.biu.ac.il/weberof/publications/ http://www.cs.cmu.edu/~kmcrane/Projects/SpinTransformations/paper.pdf http://www.uu.nl/en/research/virtual-worlds http://www.staff.science.uu.nl/~vaxma001/Conformal_Mesh_Deformations_with_Mobi…