VM 환경에 SciRuby 설치 및 터치
SciRuby
http://sciruby.com/
vagrant 및 ubuntu 설치
Mac OS X Lion 등에 SciRuby를 설치하려면 ATLAS와 LAPACK의 로컬 컴파일 주위에서 고생합니다.VM에 ubuntu를 설치하고 구축하는 것이 더 쉽습니다.
Vagrant 및 VirtualBox를 활용하여 사전 준비를 단순화합니다.사전에 하나하나 설치하세요.
Vagrant
http://vagrantup.com/
VirtualBox
https://www.virtualbox.org/
$ vagrant box add ubuntu4sciruby https://github.com/downloads/roderik/VagrantQuantal64Box/quantal64.box
$ vi Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant::Config.run do |config|
config.vm.define :ubuntu4sciruby do |ubuntu4sciruby_config|
ubuntu4sciruby_config.vm.box = "ubuntu4sciruby"
ubuntu4sciruby_config.ssh.forward_x11 = true
ubuntu4sciruby_config.vm.customize do |vm|
vm.memory_size = 2048
vm.name = "ubuntu4sciruby"
end
end
end
$ vagrant up ubuntu4sciruby
$ vagrant ssh ubuntu4sciruby
루비 설치
$ sudo apt-get update
$ sudo apt-get install curl
$ curl -L https://get.rvm.io | bash -s stable --ruby
$ rvm install ruby-1.9.3-p194
$ rvm use ruby-1.9.3-p194@SciRuby --create
$ mkdir workspace
$ echo rvm use ruby-1.9.3-p194@SciRuby > workspace/.rvmrc
$ cd workspace
설치 시나리오
$ sudo apt-get -y install libatlas-base-dev libgtk2.0-dev librsvg2-dev libcairo2-dev build-essential libgsl0-dev
$ gem install nmatrix
$ gem install sciruby
...
(インストール失敗)
Fetching: gsl-1.14.7.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing sciruby:
ERROR: Failed to build gem native extension.
...
matrix_complex.c:1523:12: error: conflicting types for 'gsl_matrix_complex_equal'
現状、名前がコンフリクトしてしまい、インストール出来ないので、少々アドホックですが、以下のようにソースを書き換えて別途gslをインストールします。
$ sudo apt-get install -y subversion
$ svn checkout http://rb-gsl.rubyforge.org/svn/trunk/rb-gsl
$ cd rb-gsl/
$ vi ext/vector_complex.c
-static int gsl_vector_complex_equal(const gsl_vector_complex *v1,
+static int xgsl_vector_complex_equal(const gsl_vector_complex *v1,
- ret = gsl_vector_complex_equal(v1, v2, eps);
+ ret = xgsl_vector_complex_equal(v1, v2, eps);
$ vi ext/matrix_complex.c
-static int gsl_matrix_complex_equal(const gsl_matrix_complex *m1,
+static int xgsl_matrix_complex_equal(const gsl_matrix_complex *m1,
- ret = gsl_matrix_complex_equal(m1, m2, eps);
+ ret = xgsl_matrix_complex_equal(m1, m2, eps);
$ vi Rakefile
-require 'rake/gempackagetask'
-require 'rake/rdoctask'
+require 'rubygems/package_task'
+require 'rdoc/task'
-Rake::GemPackageTask.new(spec) do |pkg|
+Gem::PackageTask.new(spec) do |pkg|
$ rake gem
$ gem install pkg/gsl-1.14.7.gem
$ gem install statsample-optimization
$ gem install sciruby
실행 예
$ git clone git://github.com/clbustos/statsample.git
$ cd statsample/examples/
$ ruby correlation_matrix.rb
Analysis 2012-11-18 10:53:24 +0000
= Statsample::Bivariate.correlation_matrix
Correlation Matrix
+---+-------+-------+-------+-------+
| | a | b | c | d |
+---+-------+-------+-------+-------+
| a | 1.000 | -.009 | .015 | .008 |
| b | -.009 | 1.000 | -.010 | -.047 |
| c | .015 | -.010 | 1.000 | .023 |
| d | .008 | -.047 | .023 | 1.000 |
+---+-------+-------+-------+-------+
드로잉 주위 설정
SVG를 사용하여 드로잉을 표시할 수 있습니다.
$ sudo apt-get -y install xdg-utils desktop-file-utils
$ sudo update-desktop-database
$ sudo apt-get -y install xorg gnome-core gdm gnome-applets gnome-system-tools gnome-utils ubuntu-artwork compiz-gnome sysv-rc-conf gconf-editor inkscape
$ sudo vi /usr/share/applications/defaults.list
image/svg+xml=inkview.desktop
$ sudo cp /usr/share/applications/{inkscape.desktop,inkview.desktop}
$ sudo vi /usr/share/applications/inkview.desktop
%s/inkscape/inkview/g
드로잉 예제 실행
$ ruby histogram.rb
여러분 수고하셨습니다.
SciPy와 matplotlib 등 라이브러리의 충실함에 따라 과학 분야의 사람들이python을 좋아하는 경향이 있고 라이브러리도 발전하는 생태계가 완성된 것 같지만 루비도 그렇게 기뻐한다.
루비 관련 2012년도 보조금 대상에도 선정됐다.
http://www.ruby.or.jp/ja/news/20121003_2.html
다음에 실제 사용법을 소개하고 싶습니다.
Reference
이 문제에 관하여(VM 환경에 SciRuby 설치 및 터치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hassaku/items/80d4b61448c6660602cc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)