余り
問1.3 aを5で割ると3余り、bを5で割ると4余る。a+b、abを5で割るといくつ余るか。
a、bを5で割った時の余りがわかってると、a+b、abを5で割った時の余りがわかるらしい。ふーん。
a÷5=A+3
b÷5=B+4
だから、
両辺それぞれ加算して、
a÷5+b÷5=A+3+B+4
(a+b)÷5=A+B+3+4=A+B+5+2
だから、a+bを5で割った時の余りは2、
両辺それぞれ乗算すると、
a÷5×b÷5=(A+3)×(B+4)
ab÷25=AB+3B+4A+12
???どうまとめていけばいいのかわからん。。。
答えは12を5で割った余りの、2らしい。
a+bとabの5で割った時の余りが、どちらも2になるところがミソらしい。
このあと証明されるんだろうけど、ひとまず今日は終わり。
osxでext4のマウント
% brew install ext4fuse
って感じでインストールした。Homebrewって便利だなあ。
% sudo ext4fuse /dev/disk1s1 ~/hoge
fuse4x kernel extension was not loaded. Please check /var/log/{system|kernel|debug}.log for more information.
あれ?って思ってさかのぼったら、ちゃんと書いてあった。。。
In order for FUSE-based filesystems to work, the fuse4x kernel extension
must be installed by the root user:
sudo /bin/cp -rfX /usr/local/Cellar/fuse4x-kext/0.9.2/Library/Extensions/fuse4x.kext /Library/Extensions
sudo chmod +s /Library/Extensions/fuse4x.kext/Support/load_fuse4x
もう一度試したらマウントできた。読み込み専用だけど。
WHR-G301Nを子機にして、ソフトバンクの光BBユニットに繋ぐ -> 無理っぽい
ここ数日格闘してたけど、どうやら無理っぽい。
別の部屋にNASを置いて、無線でインターネットに繋ぎたくて、
インターネット→光BBユニット→(無線)→WHR-G301N→NAS
を目指していた。
WHR-G301Nから「エアステーション間接続」で繋がったぽかったけど、
どうしても光BBユニットが反応してくれない。。。
そろそろ諦めたくて検索してみたら、こんなのがあった。
価格.com - 『アドホックパーティーをやりたいのですがご享受ください!』 クチコミ掲示板
やっぱダメなんだろう。あきらめました。
BUFFALO 11n/g/b対応 無線LANルーター 【Wii U動作確認済み、iPhone5・Android端末対応】 WHR-G301N/N(FFP)
- 出版社/メーカー: バッファロー
- 発売日: 2011/12/26
- メディア: Personal Computers
- 購入: 59人 クリック: 248回
- この商品を含むブログ (19件) を見る
AUTOINSERTLISP
仕事でVerilogを書くとき、verilog-modeを使わせてもらっている。AUTO_TEMPLATEやAUTOINSTを使って、インスタンス呼び出しをいい感じにしてた。
シミュレータの問題で、2次元配列をいい感じにダンプできなかった。仕方が無いので、1次元配列(というかバス)にassignすることで無理矢理ダンプしてた。
こんな感じ。
reg [7:0] ARRAY [10:0];
wire [7:0] BUS_0 = BUS[0];
wire [7:0] BUS_1 = BUS[1];
....
面倒くさ過ぎてなんとかならんもんかと思って、最近暇だったので調べてみたらなんとかなった。AUTOINSERTLISPなる関数で、lispで生成した文字列を挿入できた。
こんな感じ。
reg [7:0] BUS [10:0];
/*AUTOINSERTLISP(insert (mapconcat '(lambda (i) (concat " wire [7:0] BUS_" (number-to-string i) " = BUS[" (number-to-string i) "];")) (number-sequence 0 10) "\n") "\n")*/
// Beginning of automatic insert lisp
wire [7:0] BUS_0 = BUS[0];
wire [7:0] BUS_1 = BUS[1];
wire [7:0] BUS_2 = BUS[2];
wire [7:0] BUS_3 = BUS[3];
wire [7:0] BUS_4 = BUS[4];
wire [7:0] BUS_5 = BUS[5];
wire [7:0] BUS_6 = BUS[6];
wire [7:0] BUS_7 = BUS[7];
wire [7:0] BUS_8 = BUS[8];
wire [7:0] BUS_9 = BUS[9];
wire [7:0] BUS_10 = BUS[10];
// End of automatics
EmacsLispがよくわかってないんで、ここまで来るのにひと苦労。
でもうまく応用すれば、検証で使えそう。これまではRubyとかで条件ぶりしてたけど、Verilogで書いたベンチと別ファイルになるんで管理がめんどかった。lispで書けるんで、ベンチの中に直接埋め込めるようになるから、一つのファイルにまとめられる。
いいかも。
一次不等式を互除法で
問1.2 次のそれぞれの式を満たす整数x, yを一組求めよ。
(1) 17x+5y=1
(2) 15x+6y=9
(3) 15x+6y=5
一次不定方程式の解を、例の互除法で求めるっぽい。
(1)の解き方は、17を5*3+2に置き換えて式変形。
17x+5y=(5*3+2)x+5y=5(3x+y)+2x=5z+2x
z=3x+yと置いてる。さらに
5z+2=(2*2+1)z+2x=2(2z+x)+z=2w+z
w=2z+xとまたもや置く。
2w+z=1から、w=0, z=1が求められる。でもってさかのぼって計算すると、
x=-2, y=7という答えが導きだされるんだって。
計算過程が互除法と同じになってる。ふむ。
ユークリッド互除法かあ
なんとか2日目。
ユークリッド互除法なんて、初めて知ってもうた。噂には聞いていたけど。
問1.1 851と185の最大公約数を求めよ。
851÷185=4 余り 111
185÷111=1 余り 74
111÷74=1 余り 37
74÷37=2 余り 0
んで、37が答えって感じで求めるアルゴリズムのことらしい。ふーん。
今日買った本
今日帰りに2冊の本を買ってしまった。数学の本と回路設計の本。
ガロア理論なるもので、
方程式f(x)=0の解が根号で表せる <=> 方程式f(x)=0のガロア群が可解群である
という定理を証明することで、5次方程式が根号で解けないこと示せるそうな。出だしから分けわからんが、この本の特徴として、
- 証明がこの本に全部書いてある
- 初めから終わりまで同じ丁寧さ
- 例から説明している
- 高校数学を履修した人であれば読める
- 一番易しいルートを選択
ということが挙げられてたので、しばらく付き合ってみる。。。
ディジタル数値演算回路の実用設計―四則演算、初等超越関数、浮動小数点演算の作りかた (Design Wave Advanceシリーズ)
- 作者: 鈴木昌治
- 出版社/メーカー: CQ出版
- 発売日: 2006/11
- メディア: 単行本
- 購入: 2人 クリック: 26回
- この商品を含むブログ (9件) を見る
RTLで掛け算を*で書いて、論理合成に任せっぱなしだ。他の実装方法もあることは知ってたけど、知らずにきた。遅いような気もするが、ここでちょっと勉強しとことうと思った。サンプルコードが載っていてわかりやすそうだったし、いいかなと思って。
どちらも本棚の肥やしになるかもしれないが、しばらく読み続けてみよう。。。