def Test_Reciprocal_Frame(): Print_Function() Format() coords = symbols('x y z') (ex, ey, ez, grad) = MV.setup('e_x e_y e_z', metric='[1,1,1]', coords=coords) mfvar = (u, v) = symbols('u v') eu = ex + ey ev = ex - ey (eu_r, ev_r) = ReciprocalFrame([eu, ev]) oprint('\\mbox{Frame}', (eu, ev), '\\mbox{Reciprocal Frame}', (eu_r, ev_r)) print(r'%\bm{e}_{u}\cdot\bm{e}^{u} =', (eu | eu_r)) print(r'%\bm{e}_{u}\cdot\bm{e}^{v} =', eu | ev_r) print(r'%\bm{e}_{v}\cdot\bm{e}^{u} =', ev | eu_r) print(r'%\bm{e}_{v}\cdot\bm{e}^{v} =', ev | ev_r) eu = ex + ey + ez ev = ex - ey (eu_r, ev_r) = ReciprocalFrame([eu, ev]) oprint('\\mbox{Frame}', (eu, ev), '\\mbox{Reciprocal Frame}', (eu_r, ev_r)) print(r'%\bm{e}_{u}\cdot\bm{e}^{u} =', eu | eu_r) print(r'%\bm{e}_{u}\cdot\bm{e}^{v} =', eu | ev_r) print(r'%\bm{e}_{v}\cdot\bm{e}^{u} =', ev | eu_r) print(r'%\bm{e}_{v}\cdot\bm{e}^{v} =', ev | ev_r) return
def main(): enhance_print() coords = symbols('x y z') (ex, ey, ez, grad) = MV.setup('ex ey ez', metric='[1,1,1]', coords=coords) mfvar = (u, v) = symbols('u v') eu = ex + ey ev = ex - ey (eu_r, ev_r) = ReciprocalFrame([eu, ev]) oprint('Frame', (eu, ev), 'Reciprocal Frame', (eu_r, ev_r)) print('eu.eu_r =', eu | eu_r) print('eu.ev_r =', eu | ev_r) print('ev.eu_r =', ev | eu_r) print('ev.ev_r =', ev | ev_r) eu = ex + ey + ez ev = ex - ey (eu_r, ev_r) = ReciprocalFrame([eu, ev]) oprint('Frame', (eu, ev), 'Reciprocal Frame', (eu_r, ev_r)) print('eu.eu_r =', eu | eu_r) print('eu.ev_r =', eu | ev_r) print('ev.eu_r =', ev | eu_r) print('ev.ev_r =', ev | ev_r) print('eu =', eu) print('ev =', ev) define_precedence(locals()) print(GAeval('eu^ev|ex', True)) print(GAeval('eu^ev|ex*eu', True)) return