From 549b367a7e3623a6fac0e2bd970667071a7be6d3 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 15 Nov 2017 18:31:46 +0000 Subject: [PATCH] symbolic.py: prettier, introduce debug Signed-off-by: Ian Jackson --- symbolic.py | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/symbolic.py b/symbolic.py index 251859a..aa42d07 100755 --- a/symbolic.py +++ b/symbolic.py @@ -10,7 +10,7 @@ if sys.stdout.encoding is None: init_printing(use_unicode=True) -r, theta, s, la, mu = symbols('r theta s la mu') +r, theta, s, la, mu = symbols('r theta s lambda mu') # start original formulation # rightvars replaces @@ -23,13 +23,16 @@ p_start = Matrix([ p_rightvars = p_start.subs( theta, s/r ).subs( r, 1/la ) -print -pprint(p_rightvars) +def dbg(*args): + for vn in args: + print('\n' + vn + '\n') + pprint(eval(vn)) + +dbg('p_rightvars') p_dirn_rightvars = diff(p_rightvars, s) -print -pprint(p_dirn_rightvars) +dbg('p_dirn_rightvars') zeta = Wild('zeta') @@ -41,8 +44,7 @@ p_nosing[1] = (p_nosing[1] .replace( sin(zeta) , zeta * sinc(zeta) ) ) -print -pprint(p_nosing,) +dbg('p_nosing') t = symbols('t') @@ -51,12 +53,7 @@ q_dirn_owncoords = p_dirn_rightvars.replace(s,t).replace(la,-la) q_dirn_owncoords_0 = q_dirn_owncoords.replace(t,0) -print -pprint(q_owncoords) -print -pprint(q_dirn_owncoords) -print -pprint(q_dirn_owncoords_0) +dbg('q_owncoords','q_dirn_owncoords','q_dirn_owncoords_0') p2q_translate = p_nosing #p2q_rotate_2d = Matrix([ p_dirn_rightvars[0:2], @@ -67,18 +64,16 @@ p2q_rotate[0:2, 1] = p_dirn_rightvars[0:2] #p2q_rotate.add_col([0,0]) #p2q_rotate.add_row([0,0,1]) -print('\n p2q_rotate\n') -pprint(p2q_rotate) +dbg('p2q_rotate') assert(Eq(p2q_rotate * Matrix([0,1,mu]), p_dirn_rightvars)) print('\n eye3 subs etc.\n') -pprint(Eq(eye(3) * Matrix([1,0,mu]), - p_dirn_rightvars .cross(Matrix([0,0,1]) .subs(s,0)))) +dbg('''Eq(eye(3) * Matrix([1,0,mu]), + p_dirn_rightvars .cross(Matrix([0,0,1]) .subs(s,0)))''') -print('\n eye3 etc.\n') -pprint(Eq(p2q_rotate * Matrix([1,0,mu]), - p_dirn_rightvars .cross(Matrix([0,0,1])))) +dbg('''Eq(p2q_rotate * Matrix([1,0,mu]), + p_dirn_rightvars .cross(Matrix([0,0,1])))''') #eq = Eq(qmat * q_dirn_owncoords_0, p_dirn_rightvars) #print -- 2.30.2