2016年8月30日火曜日

学習環境/開発環境

線型代数入門 (松坂 和夫(著)、岩波書店)の第4章(複素数、複素ベクトル空間)、2(複素平面)、問4.を取り組んでみる。

問4.

α=0 | 0+β |=| β | | 0 |+| β |=| β | β=cαc0 | α+cα |=( c+1 )| α | | α |+| cα |=| α |+c| α |=( 1+c )| α | ( | α |+| β | ) 2 = | α | 2 +2| α || β |+ | β | 2 =α α ¯ +2| α || β |+β β ¯ 2| α || β |=2Re( α β ¯ ) | α || β |=Re( α β ¯ ) α=0 | α || β |=0 Re( α β ¯ )=0 α0 α=a+bi,β=c+di, a 2 + b 2 0 β ¯ =cdi α β ¯ =( a+bi )( cdi ) =( ac+bd )( ad+bd )i Re( α β ¯ )=ac+bd | α || β |= a 2 + b 2 c 2 + d 2 a 2 c 2 + a 2 d 2 + b 2 c 2 + b 2 d 2 a 2 c 2 b 2 d 2 2abcd = a 2 d 2 + b 2 c 2 2abcd = ( adbc ) 2 ad=bc

number.js で確認。

JavaScript

コード(Emacs)

(function () {
    'use strict';
    var div_output = document.querySelector('#output0'),
        button_calc = document.querySelector('#calc0'),        
        nl = '<br>',
        display;

    display = function () {
        var a,
            b,
            a,
            b,
            c = Math.floor(Math.random() * 100) + 1,
            left,
            right,
            output = '';
        
        a = 0;
        b = new Complex(Math.floor(Math.random() * 100) + 1,
                        Math.floor(Math.random() * 100) + 1);
        left = a.add(b).abs();
        right = a.abs().add(b.abs());
        output += 
            'a = <math><mn>' + a + '</mn></math>, b = <math>' + b + nl +
            '左辺: <math><mn>' + left + '</mn></math>' + nl +
            '右辺: <math><mn>' + right + '</mn></math>' + nl +
            left.isEqual(right) + nl + 
            '差: ' + left.sub(right).abs() + nl;
        
        a = new Complex(Math.floor(Math.random() * 100),
                        Math.floor(Math.random() * 100));
        b = c.mul(a);
        output += 
            'a = <math>' + a + '</math>, b = <math>' + b + nl +
            '左辺: <math><mn>' + left + '</mn></math>' + nl +
            '右辺: <math><mn>' + right + '</mn></math>' + nl +
            left.isEqual(right) + nl + 
            '差: ' + left.sub(right).abs() + nl;
        div_output.innerHTML = output;
    };
    
    button_calc.onclick = display;
    
    display();
}());

0 コメント:

コメントを投稿