x1, y1, z1 = sp.symbols("x1 y1 z1") x2, y2, z2 = sp.symbols("x2 y2 z2") x3, y3, z3 = sp.symbols("x3 y3 z3") xs, ys, zs = sp.symbols("xs ys zs") maz.check( "Denormalized", "Without D, Gain %i", [ (sp.Matrix([ [xs,ys], ]) * sp.Matrix([ [x1,y1], [x2,y2], ]).inv())[0], (sp.Matrix([ [xs,ys], ]) * sp.Matrix([ [x1,y1], [x2,y2], ]).inv())[1], ]) maz.check( "Denormalized", "Without D, Gain %i", [ + xs*y2/(x1*y2 - x2*y1) - ys*x2/(x1*y2 - x2*y1) , + ys*x1/(x1*y2 - x2*y1)
M = sp.Matrix( [ [x1, y1, z1], [x2, y2, z2], [x3, y3, z3], ] ) P = sp.Matrix( [ [xs, ys, zs], ] ) G = P.multiply(M.inv()) maz.check("InverseDeterminant", "original", M.det() ) maz.check("InverseDeterminant", "expanded", x1*y2*z3 - x1*y3*z2 - x2*y1*z3 + x2*y3*z1 + x3*y1*z2 - x3*y2*z1 ) maz.check("InverseDeterminant", "divided by x1", ( + (x1*z3 - x3*z1)*(x1*y2 - x2*y1) - (x1*z2 - x2*z1)*(x1*y3 - x3*y1) ) / x1 ) maz.check("InverseDeterminant", "divided by y1", ( + (y1*x3 - y3*x1)*(y1*z2 - y2*z1) - (y1*x2 - y2*x1)*(y1*z3 - y3*z1) ) / y1
t0=R/c sympy.var("w t x", real=True) N=sympy.Integer def sum(v) : return reduce(operator.add, v, N(0)) def prod(v) : return reduce(operator.mul, v, N(1)) def f(n) : return reduce(operator.mul, xrange(n,0,-1), N(1)) def ff(n) : return reduce(operator.mul, xrange(n,0,-2), N(1)) """ """ maz.check("Polynomial", "initial (%i)", [ sum([ ff(2*n-2*m-1)/ff(2*m-1)*x**(2*m-n-1) for m in xrange(1,n//2+1) ]) for n in xrange(10) ]) maz.check("Polynomial", "m'=m+1 (%i)", [ sum([ ff(2*n-2*m-3)/ff(2*m+1)*x**(2*m-n+1) for m in xrange(n//2) ]) for n in xrange(10) ]) maz.check("Polynomial", "m'=2*m (%i)", [ sum([ ff(2*n-m-3)/ff(m+1)*x**(m-n+1) for m in xrange(0,2*(n//2),2) ]) for n in xrange(10) ]) maz.check("Polynomial", "removing the // (%i)", [ sum([ ff(2*n-m-3)/ff(m+1)*x**(m-n+1)