$q_a+n*q_b=q_{abn}$

q_graph -dir vp -out addition -loop 0 -box 2 -command 'q_add_n -2 2 -2 .5 .004 -.003 .0035 -.001 1000'

$norm(q) = q^* q$

q_graph -box 6 -loop 0 -dir vp -out norm -command 'q_add_n -2 -3 1 2 .004 .003 -.0005 -.003 1000' -color yellow -command 'q_add_n -2 -3 1 2 .004 .003 -.0005 -.003 1000 | q_conj' -color blue -command 'q_add_n -2 -3 1 2 .004 .003 -.0005 -.003 1000 | q_norm' -color green

$(q + q^*)/2 = (t, 0, 0, 0)$

q_graph -dir vp -out real -loop 0 -box 4 -command 'echo -1 0 0 0' -color blue-command 'echo 3 0 0 0' -color yellow -command 'q_add -1 0 0 0 3 0 0 0' -color green

$(2 q + q^* + (i q i)^*) / 2 = (t, x, 0, 0)$
$(2 q + q^* + (j q j)^*) / 2 = (t, 0, y, 0)$
$(2 q + q^* + (k q k)^*) / 2 = (t, 0, 0, z)$

q_graph -out complex -dir vp -loop 0 -box 5 -command 'q_add_n -3 4 0 0 .002 -0.008 0 0 1000' -color yellow -command 'q_add_n 4 0 4 0 -.006 0 -0.008 0 1000' -color blue -command 'q_add_n -6 0 0 -6 .012 0 0 .012 1000' -color green

As q goes from (-3, -3, -,3 -3) to (2, 2, 2, 2):
$q^3 + 3 q - 2$

q_graph -out poly_2_origin -dir poly -box 6 -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000 | q_poly -n 2 -c 1 -n 1 -c 3 -n 0 -c -2' -color red -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000' -color yellow

Input: q ranges from (-3, -3, -,3 -,3) to (2, 2, 2, 2)
Output: $q^3 + 3 q -2$

q_graph -out poly_3_origin -dir poly -box 5 -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000 | q_poly -n 3 -c 1 -n 1 -c 3 -n 0 -c -2' -color red -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000' -color yellow

Input: (-3, -3, -3, -3) to (2, 2, 2, 2)
Output: $q^5 + 3 q - 2$

q_graph -out poly_5_origin -dir poly -box 5 -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000 | q_poly -n 5 -c 1 -n 1 -c 3 -n 0 -c -2' -color red -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000' -color yellow

Input: (-3, -3, -3, -3) to (2, 2, 2, 2)
Ouput: $(1, 0.1, 0, 0) q^2 + (3, 0, .2, 0) q - (-2, .01, .01, .01)$

q_graph -out poly_2_q_coeffients -dir poly -box 6 -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000 | q_poly -n 2 -c "1 0.1 0 0" -n 1 -c "3 0 .2 0" -n 0 -c "-2 .01 .01 .01"' -color green -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000 | q_poly -n 2 -c 1 -n 1 -c 3 -n 0 -c -2' -color red -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000' -color yellow

Input: (-3, -3, -3, -3) to (2, 2, 2, 2)
Output in red: $q^3 + 3 q - 2$
Output in green: $(1, .1, 0, 0) q^3 + (3, 0, .2, 0) q - (2, .1, .1, .1)$

q_graph -out poly_3_q_coeffients -dir poly -box 5 -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000 | q_poly -n 3 -c "1 0.1 0 0" -n 1 -c "3 0 .2 0" -n 0 -c "-2 .01 .01 .01"' -color green -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000 | q_poly -n 3 -c 1 -n 1 -c 3 -n 0 -c -2' -color red -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000' -color yellow

Input for red: (-3, -3, -3, -3) to (2, 2, 2, 2)
Input for orange: (-3, -3, -3, -3) to (3, 2, 1, 0)
Output for red and orange: $q^3 + 3 q - 2$

q_graph -out poly_3_off_diagonal -dir poly -box 5 -command 'q_add_n -3 -3 -3 -3 .006 .005 .004 .003 1000 | q_poly -n 3 -c 1 -n 1 -c 3 -n 0 -c -2' -color orange -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000 | q_poly -n 3 -c 1 -n 1 -c 3 -n 0 -c -2' -color red -command 'q_add_n -3 -3 -3 -3 .005 .005 .005 .005 1000' -color yellow