Saturday, April 7, 2012

Exercises in Measure-Theoretic Probability and Statistics

Some exercises in measure-theoreticl probability theory and statistics are provided.

Uniform Integrability

Big O.P. and Little o.p.

Sunday, February 19, 2012

[Emacs] NTEmacsでデュアルモニタを使う方法

コードを書く最中はコードのあちこちを参照することが多い。

コードの行数が少なければこれは簡単にできるが、行数が大きいコードになると、どうしてもスクロールさせて参照する必要が出てくる。そしてこれが意外と面倒だったりする。

コードの各行の長さが短ければ、これはEmacsのフレーム分割で十分対応できる。
しかし、長い場合、フレーム分割では見づらい。

そんなときに効率よく作業するための方法がここに書いている方法で、それはEmacsと(ピボットさせた)ディスプレイを2つ並べたデュアルモニタを使うというもの。

手順は次の通り:
  1. デュアルディスプレイの設定をする。
  2. ソース・コードをNTEmacsで開く。
  3. [Alt]+xでミニバッファに次を入力:
    M-x make-frame-on-display [enter]
  4. するとミニバッファに
    Make frame on display:
    と表示されるので、適当な文字列を入力すればよい。
    • 正直、これが何なのか、どう使うのかは理解していない。
  5. 新しいウィンドウ(これはEmacsでいうウィンドウではなく、OSのウィンドウ)が立ち上がるので、それを選択し、"[Windowsボタン] + [Shift] + ←/→"でもう一方のモニタにウィンドウを移動させる。
  6. それぞれのモニタでウィンドウを最大化する。

Tuesday, February 14, 2012

[Firefox] 背景・文字色の変更

Emacsの背景色等を黒を基調とした落ち着いた色にカスタマイズしたため、webブラウザで表示される背景色の色(ほとんど白)がきつく感じる。Firefoxの設定を変更するだけでこれを回避できる。さらに、設定は非常に簡単。

「ツール」タブ->「オプション」->「コンテンツ」タグ->フォントと配色の「配色設定」ボタン->希望の色に設定->「Web ページが指定した配色を優先する」のチェックを外す。

これだけ。

Monday, February 13, 2012

[自作PC]PCを自作するときの個人的好み・注意事項

Last Update: Feb. 14, 2012.

CPU
  • ECCに対応しているか否か。
    • Intelの場合、コンシューマー向けのCore i7は非対応、サーバー向けのXeonは対応。

CPUファン
  • 廃熱方向がケースのファン(の位置)に整合的に設置できるか。
    • 特に、グラボのスペースと競合しないか。

メモリ
  • CPUに対応した周波数か否か。
  • ECC対応メモリか否か。
  • CPUのメモリーチャンネル数に対応した枚数の組み合わせで購入しているか。
    • 例: 4ch.の場合、4枚組みのメモリセットを購入することが重要。
    • メモリの出荷時期に仕様が依存するため。

マザーボード
  • CPUに対応したチップセットになっているか。
    • LGA2011とかいうもの。
  • SSD1枚(メイン)+HDD2枚(RAID1)といった組み合わせをサポートしているか。
    • ストレージの一部にあるRAIDを適用すると、他の全てのストレージに対して同じRAIDを適用するようなマザーボードがある。

グラボ
  • 好みのディスプレイ解像度とrefresh rateをサポートしているか。
  • NVIDIAの場合、CUDAに対応しているか。

ケース
  • SDD/HDD取り付け部分がスライド式になっているか。

電源
  • ケーブルは取り付け型になっているか。

ディスプレイ
  • ノングレアは前提。
  • 目に優しいのを最優先。2ch情報だと、お手ごろ価格帯ではNANAO FS2332かEV2335Wのどちらか。
    • 10bitガンマ補正&HDMIならFS2332、ビボット機能&高さ調整ならEV2335W。ちなみに、前者はエンターテイメント向けで、後者はビジネス向け。
    • 不具合問題のリコールが同時に発表されたことから、同じサムスンの液晶を使っていると思われる?⇒どちらを選んでも目への優しさは変わらない?
    • 70Hz以上だとちらつきが気にならないというのはCRT時代の話で、液晶では基本60Hz台らしい。
  • ディスプレイについてはこちらの解説が詳しい。
  • 2chのまとめサイトはこちら
    • ただし、更新が遅いみたい。

[Rocks][CentOS] グラボの増設

新しいモニタ(LG Flatron W1946)を購入したが、ASUS Z8NA-D6のオンボードVGA(Aspeed AST2050)がモニタの解像度1360x768に対応していないので(or ちゃんと設定できなかったので)、以前購入したASUS EN8400GS (GeForce 8400GS搭載)を増設することにした。ちなみに、このグラボの最大解像度は2048x1536。

こちらを参考にしているが、手順は異なる。特に、ここではUSBフラッシュメモリーを利用したインストール方法を採用。もちろん、何らかの方法で増設前にシステム内にドライバインストールファイルをダウンロードしておいても構わない。

Last Update: Feb. 15, 2012.

  1. NVIDIAから必要なドライバ(NVIDIA-Linux-x86_64-290.10.run)をダウンロードし、USBフラッシュメモリに保存する。
  2. 電源がOFFの状態でグラボを増設する。
  3. モニタ・ケーブルを拡張グラボに指し、PCを起動する。
  4. 起動後、"[Ctrl]+[Alt]+[F1]"でCUIモードに切り替えてrootでログインする。
  5. ステップ1.で用意したUSBフラッシュメモリをPCに差込み、
    # dmesg
    と入力して、デバイス認識を確認する(自分の場合、"sdc1")。
  6. USBフラッシュメモリをマウントする:
    # mkdir /mnt/usbfm
    # mount -t vfat /dev/sda1 /mnt/usbfm/
    • フォルダ名は何でも構わない(ここではusbfm)。
  7. USBから"tmp"フォルダにドライバのファイルを移動させる:
    # mv /mnt/usbfm/NVIDIA-Linux-x86_64-290.10.run /tmp
    ファイルの移動後、USBをアンマウントする:
    # umount /mnt/usbfm/
  8. ドライバをインストールする:
    # /tmp/NVIDIA-Linux-x86_64-290.10.run
    インストール後、"tmp"フォルダからインストール用ファイルを削除する:
    # rm /tmp/NVIDIA-Linux-x86_64-290.10.run
  9. PCを再起動させ、
    # shutdown -r now
    GUIモードで起動することを確認する。
    • この段階ではまだ解像度が最適じゃない。
  10. rootでログインし、Xの設定ファイルに希望の解像度を追加する:
    # emacs /etc/X11/xorg.conf
    で"xorg.conf"を開き、SubSectionのModesのところに、左から希望の解像度(e.g. "1360x768")を追加する。
    • ここでは自分の好みのエディタ(emacs)を利用している。
  11. ログインし直し、希望の解像度になっていることを確認する。


追記
モニタのLG Flatron W1946があまりにも低品質なため、新しいモニタの購入を検討中。低品質とは、解像度が1360x768に対して、refresh rateが50Hzであること。上記のように解像度調整を行なったが、目が疲れる。ギラツキもする。

追記2(解決)
グラボを増設しドライバをインストールしてから以前の設定でネット接続ができなくなってしまった。ぐぐってみると同じような症状が報告されているみたいだ。今後修復する。
  • ドライバのインストール後、なぜだかはわからないが、2つのNICが入れ替わっていた(eth0とeth1)。

Thursday, February 9, 2012

[CentOS]ディスプレイ設定間違いで表示がおかしくなってしまったら

CentOS5.4のディスプレイ設定(ビデオカード)をいじっていたら、表示がおかしくなってしまった。設定を元に戻したいが、画面がぐちゃぐちゃでどこに何があるかわからない。そんなときの対処法。

  1. CUIモードからrootでログイン: Ctrl + Alt + F1
  2. system-config-display と入力

Sunday, January 22, 2012

[Windows7] 新しく追加するHDD2台をRAID1で運用する方法

最初はSSDだけでWindows7を動かしていたが、ディスク容量を増設するため、1TBのHDDを2台購入し、それらをRAID1(ミラーリング)で運用するための手順についてのメモ(かなりいい加減)。
  1. 電源を切った状態で、HDDを取り付ける。
  2. 電源を入れて、Windowsを起動する。
  3. スタートアップボタン→「コンピュータ」を右クリック→「管理」と進み、「ディスクの管理」を選択する。
  4. 中央下段で「未割当て」と表示されているのが新しく追加したHDDで、これらの上で右クリックし、まずは初期化。
  5. 「ミラー・・・」を選択する。

Saturday, January 7, 2012

[LaTeX] 表中に脚注を入れる

threeparttableというスタイルファイルをインストールする。

url: http://tug.ctan.org/tex-archive/macros/latex/contrib/threeparttable/

Friday, January 6, 2012

[Fortran][ifort] 引数で出力ファイルの名前を指定する

ソース・コードのコンパイル時に出力ファイルの名前を引数として与える方法についてのメモ。

  1. (出力ファイル名を1番目の引数として与えると仮定して、)ソース・コードを用意:
  2. program main
    implicit none
    character(100) filename

    call getarg(1,filename)
    open (12, file=trim(filename), status='replace')
    write (12,*) "Hello!"
    close (12)

    end program main
    • "getarg(1,filename)"はfilenameに引数の1番目を書き込む組み込み型サブルーチン。
  3. 端末で次のようにコンパイル・実行する:
    $ ifort -o main.out main.f90
    $ ./main.out ./filename_output
このとき、実行ファイルと同じディレクトリにfilename_outputの名前で出力ファイルが作成される。

Thursday, January 5, 2012

[CentOS] 日本語版キーボードに設定する方法

日本語版キーボード(配置)を利用するためには2つのファイル(/etc/sysconfig/keyboard + /etc/X11/xorg.conf)を書き換える必要がある。

それぞれ、次のように設定する:
  1. /etc/sysconfig/keyboard
    KEYTABLE="jp106"
  2. /etc/X11/xorg.conf
    Option "XkbModel" "jp106"
    Option "XkbLayout" "jp"

Wednesday, January 4, 2012

[R][Rocks][CentOS] Rocks 5.3にRをインストール

Rocks 5.3には初めから統計ソフトRがインストールされていないため、自らインストールする必要がある。
(注)compute nodeでRを使う予定はないので、インストールする場所はデフォルトに従う。
ちなみに、OSのバージョンなどの確認出力は次の通り:
# cat /etc/redhat-release
CentOS release 5.4 (Final)
# uname -r
2.6.18-164.6.1.el5
# uname -m
x86_64

  1. rootでログインする。
  2. Rのrpmパッケージをダウンロードする。
    • Rのサイトからリンクを辿る。ここではredhat/el5/x86_64/と進む。
    • 次の5つのパッケージを/tmpにダウンロードした:
      R-core-2.10.0-2.el5.x86_64.rpm
      R-devel-2.10.0-2.el5.x86_64.rpm
      libRmath-2.10.0-2.el5.x86_64.rpm
      libRmath-devel-2.10.0-2.el5.x86_64.rpm
      R-2.10.0-2.el5.x86_64.rpm
  3. 上記のパッケージをインストールするために必要な他のパッケージをダウンロード・インストールする。
  4. R-coreパッケージをインストール:
    # rpm -ivh R-core-2.10.0-2.el5.x86_64.rpm
  5. R-develパッケージをインストール:
    # rpm -ivh R-devel-2.10.0-2.el5.x86_64.rpm
  6. libRmathパッケージをインストール:
    # rpm -ivh libRmath-2.10.0-2.el5.x86_64.rpm
  7. libRmath-develパッケージをインストール:
    # rpm -ivh libRmath-devel-2.10.0-2.el5.x86_64.rpm
  8. Rパッケージをインストール:
    # rpm -ivh R-2.10.0-2.el5.x86_64.rpm

Tuesday, January 3, 2012

[ifort][RSS] 作業効率アップ

コーディング
  • [Fortran] NTEmacs上でコーディング、コンパイル、実行を行なう。
    1. Intel Visual Fortranを購入・インストールし、batファイル(ここでは名前を"make.bat"とする)をソース・コードと同じフォルダ内に作成する。
      (64bitマシン用サンプル、最適化オプション付き)
      @echo off
      call "C:\Program Files (x86)\Intel\Compiler\11.1\048\bin\ifortvars.bat" intel64
      call "C:\Program Files (x86)\Intel\Compiler\11.1\048\mkl\tools\environment\mklvarsem64t.bat"
      ifort /O3 /QxSSE4.2 %1.f90 /exe:%1.exe mkl_intel_lp64.lib mkl_sequential.lib mkl_core.lib
      %1.exe
      (32bitマシン用サンプル)
      @echo off
      call "C:\Program Files\Intel\Compiler\11.1\048\bin\ifortvars.bat" ia32
      call "C:\Program Files\Intel\Compiler\11.1\048\mkl\tools\environment\mklvars32.bat"
      ifort %1.f90 /exe:%1.exe mkl_intel_c.lib mkl_sequential.lib mkl_core.lib
      %1.exe
      • もちろん、ファイルの場所やコンパイル・オプションはマシン環境やユーザーの希望に依存する。
    2. NTEmacs上で次の操作を行い、コンパイル用コマンドラインを表示させる:
      [Alt]-x compile
    3. ソース・コード名(finename)を引数として与え、makeする:
      make finename

雑誌チェック
  • クルポアラートを使って雑誌の新着RSSをメール通知させる。
  • JavaScriptを使ってボタン一つでFirefoxに雑誌website別にタグ表示を可能にする("http://oshiete.goo.ne.jp/qa/3927430.html"からの引用):
    <!--DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"--><html lang="ja"><head><meta http-equiv="Content-Type" content="text/html"><meta name="GENERATOR" content=""><title></title><style type="text/css"><!-- --></style><script type="text/javascript"> <!-- function WinOpen(){ window.open("http://...","sub1"); window.open("http://...","sub2"); } // --></script></head><body bgcolor="#ffffff" text="#000000"><form><input type="button" value="name of the button" onclick="WinOpen()"></form></body></html>

Sunday, January 1, 2012

[Intel MKL] Windowsコマンドプロンプト上でIntel MKLの乱数発生を含むコードをコンパイルする方法

コンパイルしようとしてるコードがIntel MKLの乱数発生を利用している場合のWindowsコマンドプロンプトでのコンパイルの方法についてのメモ(長い!)ただし、Intel Visual Fortranをインストールしていることが前提である。コンパイル・オプションの指定方法はアーキテクチャに依存する。以下ではインテル64アーキテクチャを前提として書くが、その他のアーキテクチャについてはNoteを参照。

手順は以下の通り:
  1. ショートカット・アイコンを利用した、自動の環境設定を行うと同時にコマンド・プロンプトを立ち上げる。
  2. コマンド・ラインに以下を入力し、ENTERキーを押す:
    "C:\...\mkl\tools\environment\mklvarsem64t.bat"
  3. ソース・コードfilename.f90を次のようなオプションを付けてコンパイルする:
    ifort filename.f90 mkl_intel_lp64.lib/mkl_intel_ilp64.lib mkl_sequential.lib mkl_core.lib
    ※static link + sequentialの例。スレッド化レイヤーに逐次(mkl_sequential.lib)を選択する場合、ランタイム・ライブラリーはしていしなくてよい。

Note: サポートされているアーキテクチャー
IA-32/IA-32 互換 mklのディレクトリ\ia32
インテル64/インテル64 互換 mklのディレクトリ\em64t
IA-64 mklのディレクトリ\ia64