math.cross_product([1, 2], [3, 1]) .. -5
math.cross_product([3, 1], [1, 2]) .. 5
math.cross_product([1, 2, 3], [-1, 1, 2]) .. [1, -5, 3]
math.cross_product([-1, 1, 2], [1, 2, 3]) .. [-1, 5, -3]
expected error occurs: ValueError: different length of lists
expected error occurs: ValueError: only support two or three dimension vector for cross product
math.dot_product([-1, -3], [2, 2]) .. -8
math.dot_product([-1, -3, 3], [2, 2, -1]) .. -11
expected error occurs: ValueError: different length of lists
f2_x(t:number):map = { a + b * t + c * t * t + d * t * t * t }
f2_y(t:number):map = { a + b * t + c * t * t + d * t * t * t }
         f_x,        f1_x,        f2_x,          f_y,        f1_y,        f2_y
    6.000000,    6.000000,    6.000000,    12.000000,   12.000000,   12.000000
    7.401920,    7.401920,    7.401920,     9.692730,    9.692730,    9.692730
    8.919067,    8.919067,    8.919067,     8.060357,    8.060357,    8.060357
   10.518519,   10.518519,   10.518519,     7.037037,    7.037037,    7.037037
   12.167353,   12.167353,   12.167353,     6.556927,    6.556927,    6.556927
   13.832647,   13.832647,   13.832647,     6.554184,    6.554184,    6.554184
   15.481481,   15.481481,   15.481481,     6.962963,    6.962963,    6.962963
   17.080933,   17.080933,   17.080933,     7.717421,    7.717421,    7.717421
   18.598080,   18.598080,   18.598080,     8.751715,    8.751715,    8.751715
   20.000000,   20.000000,   20.000000,    10.000000,   10.000000,   10.000000
f(x:number):map = 3.55 + 0.35 * x
g(temp:number):map = 2.94286 + 0.707143 * temp + (-0.0357143) * temp ** 2
h(hoge:number):map = (-0.619643) + 4.54464 * hoge + (-0.973214) * hoge ** 2 + 0.0625 * hoge ** 3
f(x:number):map = 1.00714 + 5.10714 * x
