diff --git a/theory/Multipoles/vector_powers.py b/theory/Multipoles/vector_powers.py index 4b1cbd4436f00ff5a1720badd1e8c22bd1762511..7e14d9717424fda5af5f1454b11126d6c546a8ac 100644 --- a/theory/Multipoles/vector_powers.py +++ b/theory/Multipoles/vector_powers.py @@ -15,9 +15,9 @@ def ordinal(num): # Get the order order = int(sys.argv[1]) -print "-------------------------------------------------" +print "----------------------------------------------------" print "Generating code for vector powers of order", order, "(only)." -print "-------------------------------------------------\n" +print "----------------------------------------------------\n" print "/***************************/" print "/* %s order vector powers */"%ordinal(order) @@ -30,9 +30,14 @@ for i in range(order+1): if i + j + k == order: fact = factorial(i) * factorial(j) * factorial(k) print "/**" - print "* @brief \\f$ \\frac{1}{(%d,%d,%d)!}\\vec{v}^{(%d,%d,%d)} \\f$."%(i,j,k,i,j,k) + print "* @brief Compute \\f$ \\frac{1}{(%d,%d,%d)!}\\vec{v}^{(%d,%d,%d)} \\f$."%(i,j,k,i,j,k) print "*" - print "* Note \\f$ \\frac{1}{(%d,%d,%d)!} = 1/(%d!*%d!*%d!) = 1/%d! = %e"%(i,j,k,i,j,k, fact, 1./fact) + print "* Note \\f$ \\vec{v}^{(%d,%d,%d)} ="%(i,j,k), + if i > 0: print "v_x^%d"%i, + if j > 0: print "v_y^%d"%j, + if k > 0: print "v_z^%d"%k, + print "\\f$" + print "* and \\f$ \\frac{1}{(%d,%d,%d)!} = 1/(%d!*%d!*%d!) = 1/%d = %e \\f$"%(i,j,k,i,j,k, fact, 1./fact) print "*" print "* @param v vector (\\f$ v \\f$)." print "*/" @@ -40,7 +45,7 @@ for i in range(order+1): print "" print " return", if fact != 1: - print "%12.15e"%(1./fact), + print "%14.18e"%(1./fact), else: print "1.", for ii in range(i): @@ -50,6 +55,6 @@ for i in range(order+1): for kk in range(k): print "* v[2]", print ";" - print "}" + print "}\n"