C

cygwinのlapackで連立方程式をとく。

C

cygwinのlapackで連立方程式をとく。 まず、準備として、setup.exeからlapackっぽいのをいれておく。 とりあえずのプログラム: http://auewe.hatenablog.com/entry/2013/05/04/075717を参考にさせていただきました。 http://www.jsces.org/Issue/Journal/pd…

windows上でのRとCの連携2。 RからC言語のgslのライブラリを関数(プログラム)を使用する。 cygwin環境編。

R C R C

RとCの連携の基本は、 Windows上でのRとCの連携 http://d.hatena.ne.jp/arupaka-_-arupaka/20131020/1382252302 を参考に。 具体的な手順 (1)まず、準備。mingwを利用して、cygwin上でcygwinに依存しないgslを作る。 (Rはcygwinのライブラリを参照できないの…

cygwinからWindows64bit上で動くgslライブラリを作る。 mingwとcygwinの連携

R C C

(1)まず、gslのソースをもってくる http://ftp.jaist.ac.jp/pub/GNU/gsl/ (2)次にコンパイル ./configure --host=x86_64-w64-mingw32 --prefix=/cygdrive/c/gsl CC=x86_64-w64-mingw32-gcc.exe CXX=i686-pc-mingw32-g++.exe make make install configure の…

CをRから使う。

R C

http://www.okada.jp.org/RWiki/?R%A4%AB%A4%E9%C2%BE%B8%C0%B8%EC%CD%F8%CD%D1を参考に (1)Mingw を導入 (2) PATHを通す. システム→システムの詳細設定→環境変数 PATH ... (3)Rtoolsを導入 http://essrc.hyogo-u.ac.jp/cran/ をダウンロード (4)ダウンロー…

gslでBスプラインでデータの平滑化

c

gslでBスプラインでデータの平滑化. Bスプイラインは自然スプラインより計算が安定。 Bスプライン(拡張スプライン)同じところにノットを重ねることで 不連続を表現できる、3次だと、1回重ねると2回微分、2回重ねると1回微分、 3回重ねると関数そのも…

gslで最適化

c gsl

例:GSLで最適化 http://www.gnu.org/software/gsl/manual/html_node/Multimin-Examples.html#Multimin-Examples と http://www.gnu.org/software/gsl/manual/html_node/Providing-a-function-to-minimize.html#Providing-a-function-to-minimize を参考に。…

gslで線形方程式、連立一次方程式をとく。

c c++

gslで線形方程式、連立一次方程式をとく。 #include<stdio.h> #include<gsl/gsl_linalg.h> void solve(double** m,double* v,int len){ using namespace std; int s; double *mb; int k=0; mb=(double*)malloc(sizeof(double)*len*len); for(int i=0;i</gsl/gsl_linalg.h></stdio.h>

メルセンヌツイスタ64bit版の導入

c

メルセンヌツイスタ64bit版の導入ソースの入手 wget http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt19937-64.tgz gzip -d mt19937-64.tgz tar -xvf mt19937-64.tar コピー cd /mt19937-64 cp mt64.h /usr/include コンパイル gcc -c -O3 mt19937-64.c …

scalaとC言語で配列の値の1をたす,ポインタ渡しの例

cpp_test.scala import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.NativeLibrary; object cpp_test{ def main(args: Array[String]): Unit={ var a=Array(1.0,2.0,3.0); println("Input"); a.foreach{println} val lib=NativeLib…

scalaとcで内積

scalaからcの関数をよび内積を計算loop.c #include<stdio.h> #include<stdlib.h> #include<math.h> #include"loop.h" int loop2(double* v1, double* v2,int n){ double tmp=0; int i; for(i=0;i</math.h></stdlib.h></stdio.h>

cのヘッダーファイルの意味

c

はじめてC言語 .hファイルの意味を理解した! cのヘッダーファイルの意味 http://www.geocities.jp/ky_webid/ProgrammingPlacePlus/c/023.html ポイントは, 各ファイルで関数宣言をしないと関数を使用できない →これが.hファイル実態は,.cファイルで定義す…

ネットワークのランダム化

ネットワークのランダム化1 #include<stdio.h> #include<math.h> #include<set> #include<map> #include<vector> #include<sstream> #include<fstream> #include<iostream> #include<string.h> #include<stdlib.h> #include<mt.h> int f_label(int i){ return (int)log2((double)i); } int main(){ using namespace std; FILE *fp; std:…</mt.h></stdlib.h></string.h></iostream></fstream></sstream></vector></map></set></math.h></stdio.h>

gslで離散一様分布乱数発生。

C gsl

gslで離散一様分布乱数発生。 http://www.gnu.org/software/gsl/manual/html_node/Sampling-from-a-random-number-generator.html

gslを用いたC言語のランダムシャッフル

gslを用いたC言語のランダムシャッフル。 http://www.gnu.org/software/gsl/manual/html_node/Shuffling-and-Sampling.html #include<stdio.h> #include<gsl/gsl_rng.h> #include<gsl/gsl_randist.h> int main(){ const gsl_rng_type *T; int a[42]; int i; gsl_rng *r; T=gsl_rng_default; r=gsl_rng_al</gsl/gsl_randist.h></gsl/gsl_rng.h></stdio.h>…

gslを使った一般の確率分布に従う離散分布の発生

c

GSLを使った一般の確率分布に離散分布の乱数発生(一般離散分布)。これで片付けないとメモリーがいっぱいになる void gsl_ran_discrete_free (gsl_ran_discrete_t * t); #include<stdio.h> #include<gsl/gsl_rng.h> #include<gsl/gsl_randist.h> int main(void){ double p[3]; int i; const gsl_rng_typ</gsl/gsl_randist.h></gsl/gsl_rng.h></stdio.h>…

gsl で乱数発生

C

http://mine-weblog.blogspot.com/2009/05/gsl.html http://www.gnu.org/software/gsl/manual/html_node/Random-Number-Distribution-Examples.html #include <stdio.h> #include <gsl/gsl_rng.h> #include <gsl/gsl_randist.h> int main(){ const gsl_rng_type *T; //乱数生成器のタイプ gsl_rng *r; gs</gsl/gsl_randist.h></gsl/gsl_rng.h></stdio.h>…

boostでネットワーク解析

boostの導入は前の記事。 adjacency_list クラスは隣接行列をグラフ。Graph型として名付け直す。 色々なコンストラクタがある。 http://boost.cppll.jp/HEAD/libs/graph/doc/adjacency_list.html#sec:iterator-constructor 参考: パラメータは5つ。 EdgeLis…

boost

C

boost はC言語のライブラリ。インストール: cygwinで使う場合は、setup.exe (cygwinのインストール時に 使うソフト)からインストールできる。 テストプログラム (test.cpp) #include <iostream> #include <boost/format.hpp> using namespace std; int main(){ cout << boost::format(</boost/format.hpp></iostream>…

gsl のコンパイル

gcc -O2 test.c -lgsl -lgslcbla s -lm

octaveで疎行列の連立一次方程式を解く。

octaveで疎行列の連立一次方程式を解く。 octaveは無料で使える行列計算システム。 疎行列のセットデータ: 行列A (matA.mat) (7×7) 3列目は行列の値。それ以外は0. 1 2 4 1 3 3 5 2 5 7 5 2 2 4 2 1 4 10 3 1 1 4 6 8 6 7 1 ベクトルb (vecb.mat) (7×1)…

フリーライブラリgslをC言語で楽にベクトル計算や数値積分(gnu scientific library)。

C

gslを使うとC言語などでベクトル計算、積分計算、行列計算、特殊計算、最適化などができる。 フリーのライブラリ。 cygwinでgccとgslをインストールしているとして、 の状況を書く。 参考1: http://www.db.is.kyushu-u.ac.jp/rinkou/cygwin/gslfuncs.html …

awka :awkをC言語に翻訳して早く実行

awkをC言語に翻訳して早く実行 コンパイルとインストール $wget http://awka.sourceforge.net/awka-0.7.5.tar.gz $gzip -d awka-0.7.5.tar.gz $tar -xvf awka-0.7.5.tar $cd awka-0.7.5 $./configure $make $make test 使い方 まずこれを作る awk2c.sh #!/bi…

GSLをC言語から利用する。

GSLはフリーの科学技術ライブラリ。 数値計算で必要なものはほとんどある。 以前はrubyで使用したが今度はC言語で利用する。サンプルプログラム #include <stdio.h> #include <gsl/gsl_sf_bessel.h> int main(void){ double x=5.0; double y=gsl_sf_bessel_J0(x); printf("J0(%g)=%e",x,y);</gsl/gsl_sf_bessel.h></stdio.h>…

GSLのインストール。

C

GSLはフリーの科学技術ライブラリ。 数値計算で必要なものはほとんどある。 以前はrubyで使用したが今度はC言語で利用する。http://www.econ.umn.edu/~steve/gsl/ダウンロード $ wget ftp://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz 解凍と展開 tar -zxvf gsl-1.…

 並列化入門

openmpiで並列化。 一番最初に書くべきプログラム。 自分のランクを出力する プログラム。> 1)コンパイル mpicc test.c -o test.out2)実行 3ノード並列で実行 mpirun -np 3 test.out5ノード並列で実行 mpirun -np 5 test.outNノード並列で実行 mpirun -np N…

Makefileの勉強

C

makeはファイルを作成するコマンド。 第一歩 http://www.c.csce.kyushu-u.ac.jp/~seiichirou/wiki/index.php?Makefile%A4%CE%BD%F1%A4%AD%CA%FD make -pで暗黙のルールを 確認できて非常にわかりやすくなる。http://d.hatena.ne.jp/cou929_la/20090929/12542…