%% qtn examples e = qtn(1) i = qtn(0, [1 0 0]) j = qtn(0, [0 1 0]) k = qtn(0, [0 0 1]) %% properties isq = i*i jsq = j*j ksq = k*k ij = i*j jk = j*k ki = k*i ji = j*i kj = k*j ik = i*k %% two random qtn's p = randq q = randq %% overloaded ops p_plus_q = p + q p_minus_q = p - q pq = p*q p_slash_q = p/q p_backslash_q = p\q %% methods inv_p = inv(p) p_m1 = p^(-1) norm_p = norm(p) p_sq = p^2 pp = p*p %% tests r = pq/p test1 = norm(p\r*p - q) v = randn(1,3) r = rot(36,v) test2 = norm(r^10 - e)