2011年11月2日水曜日

Mac LionにHomebrewでgnuplotをインストール

Homebrewでgnuplotをインストールしたときにちょっと詰まったので、インストール方法を書いておく。

$ brew install gnuplot

とすると、エラーが起きてインストールできない。


「ld: lto: could not merge in .libs/cairo-analysis-surface.o because Unknown instruction for architecture x86_64」

という部分が原因みたいなので、調べると同じような人がいた。
とりあえず、

$ brew install gnuplot --use-clang

とすればインストールできる。

参考サイト

2011年10月26日水曜日

Mac Lionの開発環境を整える

Mac Lionでの開発環境のインストールログ

Xcode

  • gccとかの開発に必要なものがいくつか一緒にインストールされる
  • インストール方法
    1. App Storeよりインストーラをダウンロード
    2. Applicationsにあるインストーラよりインストール
Java
  1. ターミナルで「$ javac」
  2. 自動的にソフトウェアアップデートが立ち上がり、Javaランタイムをインストールするかを聞かれるのではいを選択
Homebrew
Homebrewを利用していれたもの
  • Cocoa Emacs
    1. ターミナルで「$ brew install --cocoa emacs」
    2. ターミナルで「$ /usr/local/Cellar/emacs/23.3a/Emacs.app/Contents/MacOS/Emacs -nw」と入力し、起動チェック
    3. 「$ sudo mv /usr/local/Cellar/emacs/23.3a/Emacs.app/ /Applications/」と入力して、Applicationsに移動。すでにある場合は事前に削除。
  • Python
    • デフォルトではPython 2.7.1が入っているが、2.7.2に変更
    • インストール方法
      1. ターミナルで「$ brew install python」
      2. ~/.bash_profileに「export PATH=/usr/local/Cellar/python/2.7.2/bin/:$PATH」を追加。ファイルがない場合は作成
R関連
  • 本体のインストール
    1. 公式サイトよりパッケージをダウンロード
    2. ダウンロードしたパッケージよりインストール
  • 開発環境RStudioのインストール
    1. 公式サイトよりダウンロード
    2. ダウンロードしたファイルを開き、appファイルをApplicationsにコピー
その他



2011年10月20日木曜日

Mac lionでNumPy/SciPy/matplotlibをインストール

機械学習関連のプログラムを書くときに利用してみようと思ったのでインストールしてみる

事前準備
インストールしたときの状況を覚えていないもの
  • Python
    • 最初から入っているやつではなく、公式サイトからダウンロードしたもの
    • SciPyとかのサイトに入れ直した方がいいみたいなことが書いてあった
    • ダウンロードはここから
  • gccとか
    • XcodeをApp Storeからインストールしておく
    • gccとかいろいろ開発関連のものがインストールされるはず
  • fortran
  • その他
    • 必要なものが他にもあるかもしれない・・・
export
  1. $ export CC=gcc-4.2
  2. $ export CXX=g++-4.2
  3. $ export FFLAGS=-ff2c
以下、実行ディレクトリは適切な場所で
NumPy
  1. $ git clone https://github.com/numpy/numpy.git
  2. $ cd numpy
  3. $ python setup.py build
  4. $ sudo python setup.py install
SciPy
  1. $ git clone https://github.com/scipy/scipy.git
  2. $ cd scipy
  3. $ python setup.py build
  4. $ sudo python setup.py install
matplotlib
  1. $ git clone https://github.com/matplotlib/matplotlib.git
  2. $ cd matplotlib
  3. $ python setup.py build
  4. $ sudo python setup.py install
テスト
このページの使用例より

>>> from pylab import *
>>> x = range(10)
>>> y = [y1**2 for y1 in x]
>>> plot(x, y, 'ro')
[<matplotlib.lines.Line2D object at 0x104118590>]
>>> savefig('test.png')
>>> show()





参考URL



2011年8月7日日曜日

JAMAの固有値分解の実行時間

Javaで簡単に行列計算を行うことができるJAMAライブラリの実行速度を調べてみた。
対象行列の固有値分解がやりたいので、その実行時間を図った。


実行環境

  • OS    : Windows7 Professional(64bit)
  • メモリ: 4GB
  • CPU  : Intel(R) Core(TM) i5 CPU  M460 @ 2.53GHz 2.54GHz

実験方法
乱数を使って対象行列を作成し、固有値分解のみの実行時間をSystem.currentTimeMillis()を使って、


  1. long start = System.currentTimeMillis();
  2. matrix.eig();
  3. long end = System.currentTimeMillis();
  4. long time = end - start;
で測定。
対象行列のサイズを変更したときの、処理時間の変化をみる。

下が実行結果(両対数グラフ)



サイズが5000(グラフの右端)のとき、約2.8時間処理にかかった。
これが遅いのかはわからないので、時間があるときに他のライブラリもためす


2011年7月31日日曜日

Eclipse 3.7をインストール

Eclipse 3.7をインストール。
本体のインストールと日本語化は3.6のときと同じ。

WindowBuilder」や「EGit」あたりを入れようと思う。
ただ、Gitは使ったことがないのでSubversiveにするかも。

インストールしたら設定などをメモしておく。

2011年6月4日土曜日

Eclipse3.6をWindowsにインストール

Eclipseを使用した開発環境を再度構築することになったのでメモしておく.

導入するのは``Eclipse IDE for Java Developers(Eclipse Helios (3.6.2))''と``Pleiades(1.3.2(現時点での安定版))

  • Eclipseのダウンロードとインストール
    1. Eclipseの公式サイトから
      「Eclipse IDE for Java Developers」をダウンロード
    2. ダウンロードしたファイルを解凍し,適当な場所(C:\など)に解凍したフォルダを配置.
      これでEclipseのインストールは完了.
  • Eclipseの日本語化
    1. Pleiades」を配布サイトから安定版の本体のみをダウンロード.
    2. ダウンロードしたファイルを解凍し,``plugins''と``features''のディレクトリをEclipseを配置したディレクトリにある同名のものと統合する.
    3. Eclipseのディレクトリ内にある``eclipse.ini''の最後の行に「-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar」を追加

2011年5月7日土曜日

Javaで行列計算(JAMA)

Javaで簡単に行列計算を行う方法を探した結果,JAMAライブラリを使うことに決めた.

JAMAは行列計算の他にCholesky分解,LU分解,QR分解,Eigenvalue分解,Singular Value分解,rankや行列式の計算ができる.

計算精度や計算速度はよく分からないが,使いやすくプログラムに組み込みやすい .

参考URL

2011年4月6日水曜日

デバイスごとに違うCSSを読み込む

外部のCSSを読み込む際,デバイス毎に違うCSSを読み込む方法.

cssを読み込むlinkタグにmediaを追加
例.

<link rel="stylesheet" type="text/css" href="mobile.css" 
media="screen and (max-device-width: 320px)">
 
min-device-width,max-device-widthによってデバイスの幅で指定や,
orientation:portrait(端末が縦向き),orientation:landscape(端末が横向き) 
などで指定する.
 
 
参考URL

2011年4月5日火曜日

viewportによるスマートフォンなどに合わせたHTMLの記述

自分向けにスマートフォンなどで見る文書の形式は何が最適か分からないが,
今のところPDFとHTMLで悩んでいるので,とりあえずHTMLの勉強.

Webページの表示する領域を指定するのにviewportを利用.
例.
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes">


width=device-width : 幅をデバイスの幅に合わせる
initial-scale=1 : 倍率の初期値を1にする
user-scalable=yes : 拡大縮小を許可する

その他のプロパティにはheight,minimum-scale,maximum-scaleがある.

参考URL