algebrite
Version:
Computer Algebra System in Coffeescript
164 lines (109 loc) • 1.97 kB
text/coffeescript
test_abs = ->
run_test [
"abs(a+i*b)",
"(a^2+b^2)^(1/2)",
"abs(a+b+i*c)",
"(2*a*b+a^2+b^2+c^2)^(1/2)",
"abs(exp(a+i*b))",
"exp(a)",
"abs(((-1)^(1/3)+1)^(1/2))",
"3^(1/4)",
"abs((-2*(-1)^(1/6)/(3^(1/2)))^(1/4))",
"(2/(3^(1/2)))^(1/4)",
"abs((-2*(-1)^(1/6)/(3^(1/2))+1)^(1/4))",
"1/3^(1/8)",
"abs((2*(-1)^(5/6)/(3^(1/2)))^(1/4))",
"(2/(3^(1/2)))^(1/4)",
"abs(1)",
"1",
"abs(x)",
"abs(x)",
# true only if x is real,
# counterexample: i, which makes 1 and -1
"abs(x)^2",
"x^2",
"abs(-x)",
"abs(x)",
"abs(abs(-x))",
"abs(x)",
"abs(abs(abs(-x)))",
"abs(x)",
"abs(a+b)",
"abs(a+b)",
"abs(a*b)",
"abs(a)*abs(b)",
"abs(-1)",
"1",
"abs(1+exp(i*pi/3))",
"3^(1/2)",
"abs((a+i*b)/(c+i*d))",
"(a^2+b^2)^(1/2)/((c^2+d^2)^(1/2))",
"abs(((-1)^(1/2) / (3^(1/2)))^(1/2))",
"1/3^(1/4)",
"abs(exp(i theta))",
"1",
"abs(exp(-i theta))",
"1",
"abs((-1)^theta)",
"1",
"abs((-1)^(-theta))",
"1",
"abs(3*(-1)^theta)",
"3",
"abs(3*(-1)^(-theta))",
"3",
"abs(-3*(-1)^theta)",
"3",
"abs(-3*(-1)^(-theta))",
"3",
"abs(-5 i pi / a)",
"5*pi/abs(a)",
"abs(1 / a)",
"1/(abs(a))",
# ---------- old abs tests
"abs(2)",
"2",
"abs(2.0)",
"2.0",
"abs(-2)",
"2",
"abs(-2.0)",
"2.0",
"abs(a)",
"abs(a)",
"abs(-a)",
"abs(a)",
"abs(2*a)",
"2*abs(a)",
"abs(-2*a)",
"2*abs(a)",
"abs(2.0*a)",
"2.0*abs(a)",
"abs(-2.0*a)",
"2.0*abs(a)",
"abs(a-b)+abs(b-a)",
"2*abs(a-b)",
"abs(3 + 4 i)",
"5",
"abs([2,3,4])",
"29^(1/2)",
"abs(a*b)",
"abs(a)*abs(b)",
"abs(a/b)",
"abs(a)/abs(b)",
"abs(1/a^b)",
"1/(abs(a^b))",
# Check that vector length is simplified
"P=[u*cos(v),u*sin(v),v]",
"",
"abs(cross(d(P,u),d(P,v)))",
"(1+u^2)^(1/2)",
"abs((-1)^(-0.666667+0.0291367/pi))",
"1.0",
"abs((-1)^(9/3))",
"1",
"abs((1)^(9/3))",
"1",
"abs((-1.0)^(9/3))",
"1.0",
]