Mac(OS X EI Capitan)にLatexを入れる?(OS X EI Capitan,Latex,tlmgr)
今回はTexをMacに入れることにしました.なぜかと言いますと,MacのソフトウェアアップデートをしてOS X EI Capitanになった際に,Latexが使えなくなったためです.なので,入れるというよりはLatexの更新?が正しい表現だと思います.とりあえず,下のようにやったらできたので参考にできる人はしてください!!!
tlmgrのインストール
私はtlmgrが入っていなかったため入れることにしました. まず,ここから「 install-tl-unx.tar.gz」をダウンロードしてください. そして,以下のコマンドを打ってください!!$ tar xvf install-tl-unx.tar.gz $ cd install-tl* # 解凍したディレクトリに移動 $ sudo ./install-tl --repository http://www.ring.gr.jp/pub/text/CTAN/systems/texlive/tlnet/ # 途中で以下の出力が出る Actions: start installation to hard diskhelp quit Enter command: I # "I"で続行する $ sudo /usr/local/texlive/????/bin/*/tlmgr path add
Texのインストール?更新?
$ sudo tlmgr update --self --all $ tlmgr info jfontmaps # jfontamapsのrevisionが38527以降であることをを確認 package: jfontmaps category: Package (中略) installed: Yes revision: 38527 # ここに注目!!! (中略) cat-version: 20151002.0 $ cd /usr/local/texlive/2015/texmf-dist/scripts/cjk-gs-integrate $ sudo perl cjk-gs-integrate.pl --link-texmf --force $ sudo mktexlsr # ヒラギノフォント関連 $ sudo updmap-sys --setoption kanjiEmbed hiragino-elcapitan (ヒラギノの N シリーズでない方を埋め込む場合) $ sudo updmap-sys --setoption kanjiEmbed hiragino-elcapitan-pron (ヒラギノの N シリーズを埋め込む場合)私はこれを行ってできました.と言っても参考WEBページをなぞっただけですけど...
参考サイト
疎行列計算(UJMP,疎行列,Java8,ラムダ式)
今回は私的な行列計算のコードをアップします.なので,説明を書こうとは思っていないのですいません.
後にもしかしたら入れるかもしれません.
後にもしかしたら入れるかもしれません.
ラムダ式を用いた行列計算
long start = System.currentTimeMillis();// 開始時間取得 long rowline=0;// 行列の行番号の変数初期化 ListrowValue = new ArrayList ();// 任意の行にある非ゼロ要素の列番号リスト // 行列計算 for(long[] m : m1.availableCoordinates()){ if(rowline == m[0]){ rowValue.add(BigDecimal.valueOf(m1.getAsDouble(m[0], m[1]) * a.getAsDouble(m[1], 0))); } else { // リストrowValueの値を合算し,行列にセット a_tmp.setAsDouble(rowValue.parallelStream().reduce((value1, value2) -> value1.add(value2)).get().doubleValue(), rowline, 0); rowline = m[0];// 行番号を更新 rowValue.clear();// リストを初期化 rowValue.add(BigDecimal.valueOf(m1.getAsDouble(m[0], m[1]) * a.getAsDouble(m[1], 0))); } } a_tmp.setAsDouble(rowValue.parallelStream().reduce((value1, value2) -> value1.add(value2)).get().doubleValue(), rowline, 0); long end = System.currentTimeMillis();// 終了時間取得 System.out.println("time:" + (end-start) + "ms");// 実行時間表示
非ゼロ要素のみ対象にした行列計算
long start = System.currentTimeMillis();// 開始時間取得 long rowline = 0L;// 行列の行番号の変数初期化 Double sum =0.0; for(long[] m : m1.availableCoordinates()){ if(rowline == m[0]){ sum += m1.getAsDouble(m[0], m[1]) * a.getAsDouble(m[1], 0); } else { a_tmp.setAsDouble(sum, rowline, 0); rowline = m[0]; sum = m1.getAsDouble(m[0], m[1]) * a.getAsDouble(m[1], 0); } } a_tmp.setAsDouble(sum, rowline, 0); long end = System.currentTimeMillis();// 終了時間取得 System.out.println("time:" + (end-start) + "ms"); System.out.print("a: \n" + a_tmp );
行のリストからの行列計算
long start = System.currentTimeMillis();// 開始時間取得 ListrowList = m1.getColumnList();// 行のリスト取得 for(int i=0; i < rowList.size(); i++){ Matrix row = rowList.get(i); double listSum =0.0; for(int j=0; j< row.getColumnCount(); j++){ listSum += rowList.get(i).getAsDouble(0, j) * a.getAsDouble(j, 0); } a_tmp.setAsDouble(listSum, i, 0); } long end = System.currentTimeMillis();// 終了時間取得 System.out.println("time:" + (end-start) + "ms");// 実行時間表示
ラムダ式を用いた並列行列計算
public class Parallel { public static void main(String[] args) { long start = System.currentTimeMillis(); m1.getRowList().parallelStream() .map(matrix -> Parallel.getTimesValue(matrix, a)); .forEachOrdered(value -> Parallel.aList.add(value)); long end = System.currentTimeMillis(); System.out.println("time:" + (end-start) + "ms"); } static double getTimesValue(Matrix matrix, Matrix a){ double listSum =0.0; for(int i=0; i< matrix.getColumnCount(); i++){ listSum += matrix.getAsDouble(0, i) * a.getAsDouble(i, 0); } return listSum; }
参考サイト
HITSアルゴリズム
JUMANをUbuntuにインストールしてみる
今回は,Mecabなどと同じ形態素解析器であるJUMANを入れてみたいと思います.
といっても,ただ単にどのようにコマンドを書くだけなんですけど笑 JUMANのファイルは,ここからお願いいたします.
といっても,ただ単にどのようにコマンドを書くだけなんですけど笑 JUMANのファイルは,ここからお願いいたします.
$ tar -xf juman-7.01.tar.bz2 $ cd juman-?.?? $ ./configure $ make $ sudo make install $ sudo apt-get install libjuman4 $ juman 適当に文を打ってみる 適当に てきとうに 適当だ 形容詞 3 * 0 ナ形容詞 21 ダ列基本連用形 7 "代表表記:適当だ/てきとうだ" 文 ぶん 文 名詞 6 普通名詞 1 * 0 * 0 "代表表記:文/ぶん 漢字読み:音 カテゴリ:抽象物" を を を 助詞 9 格助詞 1 * 0 * 0 NIL 打って うって 打つ 動詞 2 * 0 子音動詞タ行 6 タ系連用テ形 14 "代表表記:打つ/うつ" みる みる みる 接尾辞 14 動詞性接尾辞 7 母音動詞 1 基本形 2 "代表表記:みる/みる"
参考サイト
シェルスクリプトでプログレスバーを作成
今回は,シェルスクリプトでプログレスバーを作成したいと思います.
作成したいと思った理由としては,なんかシステムの進捗具合を知りたい時にわかりやすいと思ったからです.
とりあえず,簡易的に作ったコードを下に載せておきます.
作成したいと思った理由としては,なんかシステムの進捗具合を知りたい時にわかりやすいと思ったからです.
とりあえず,簡易的に作ったコードを下に載せておきます.
#!/bin/bash var=("[ ]" "[- ]" "[-- ]" "[--- ]" "[---- ]" "[----- ]" "[------ ]" "[------- ]" "[-------- ]" "[--------- ]" "[----------]") for i in 0 1 2 3 4 5 6 7 8 9 10 do echo -e "${var[$i]}"$i"%\r\c" sleep 1 doneいろいろ引っかかった部分があるのですが,それは後で書きます.すいません.
参考サイト
シェルスクリプトで変数に代入した際のミス(シェルスクリプト)
今回は,だいぶ小一時間くらいハマっていたことを書いときます.
シェルスクリプトを書いていたら,変数が「not found」という感じで全然代入できなかった.
いろいろ調べていたら,次のこと原因だったことがわかった.
# エラーになったコード x = $1 # エラーにならなかったコード x=$1つまり,「=」の前後に空白を入れると代入してくれない状況になってました.原因がわかった瞬間,すごい脱力しました.
参考サイト
シェルスクリプトからRでグラフ作成(Ubuntu,R,シェルスクリプト)
今回はシェルスクリプトでRを呼び出し,グラフを作成することにします.
データをグラフ化するシステムを作るとすごく便利になんじゃないかと思って調べ見ました!!
シェルスクリプトからRを呼び出すためには,以下の二つが必要らしいです. それぞれのファイルは以下のように書きました.
なんとかできました.よかったよかった(⌒-⌒; )
データをグラフ化するシステムを作るとすごく便利になんじゃないかと思って調べ見ました!!
シェルスクリプトからRを呼び出すためには,以下の二つが必要らしいです. それぞれのファイルは以下のように書きました.
・plot.sh
#!/bin/sh # $1:入力ファイル名,$2:出力ファイル名 R --vanilla --slave --args $1 $2 < plot.R
・plot.R
args <- commandArgs(trailingOnly = T) x=read.csv(args[1],header=FALSE) png(args[2]) plot(x,type="l") dev.off()入力ファイルのデータは,以下のようなn行2列と想定しています(それ以外でやっていない).
入力データ例
0,71
1,46
2,38
3,42
4,35
5,42
6,44
7,63
8,424
9,871
10,893
11,86
12,160
13,172
14,593
15,104
16,114
17,113
18,89
19,175
20,146
21,142
22,310
23,587
1,46
2,38
3,42
4,35
5,42
6,44
7,63
8,424
9,871
10,893
11,86
12,160
13,172
14,593
15,104
16,114
17,113
18,89
19,175
20,146
21,142
22,310
23,587
実行例
実行例として,以下のコマンドを打ってみる.$ ./plot.sh 入力ファイル名 出力ファイル名これで作成されたグラフは,以下のようになります.
なんとかできました.よかったよかった(⌒-⌒; )