2020-07-01から1ヶ月間の記事一覧

foreachとoptpar でRプログロラムを並列化

R

foreachとoptpar でRプログロラムを並列化 16CPUを使う場合 エラーが出る場合はoutfile=""を消去するとうまくいく場合も library(parallel) library(foreach) library(doParallel) x<-1:100 y<-1:100 v<-list(x,y) slow_square = function(x) { Sys.slee…

Rcppとboostで微分方程式を解く

Rcppとboostで微分方程式を解く ををとく。 - cppファイル #include<Rcpp.h> #include <iostream> #include <array> #include <boost/numeric/odeint.hpp> using namespace Rcpp; namespace odeint = boost::numeric::odeint; using state_type = std::array< double, 1 >; //[[Rcpp::export]] NumericVector pow</boost/numeric/odeint.hpp></array></iostream></rcpp.h>…

最適化パッケージの並列化 DEoptim

最適化パッケージの並列化 DEoptim を使う場合。 Rcppを使う場合はコンパイルしておく必要がある. arupaka-arupaka.hatenadiary.org parallelType=1 とparVar=c("x","my_func")とデータをエクスポートする。 例えば、以下のコード ans2<-DEoptim(like1_web_…

Rcpp でインラインでC関数を利用

はじめに Rcpp では簡単にインラインでcpp の関数を利用できる。 便利そう。 cppFunction関数を利用する。 以下のサイトを参考にさせていただいた。 Chapter 27 Rのコード中にRcppのコードを埋め込む | みんなのRcpp 例 library("Rcpp") str<- "double sumsu…

Rcppで使ったファイルをコンパイル済みで利用する。パッケージ化

はじめに Rcppで作ったcppファイルをコンパイルしてから利用できるようにする。 パッケージ化が必要らしい。具体的には以下のように行う. パッケージを作る. skeleton 関数を利用する Rcpp::Rcpp.package.skeleton("myPackage",cpp_files="test.cpp") パッ…