In [1]:
%cd -q ../Terminal
In [2]:
%run terminal_check.py
A + A__x*e_x + A__y*e_y + A__z*e_z + A__xy*e_x^e_y + A__xz*e_x^e_z + A__yz*e_y^e_z + A__xyz*e_x^e_y^e_z
A
+ A__x*e_x + A__y*e_y + A__z*e_z
+ A__xy*e_x^e_y + A__xz*e_x^e_z + A__yz*e_y^e_z
+ A__xyz*e_x^e_y^e_z
A
+ A__x*e_x
+ A__y*e_y
+ A__z*e_z
+ A__xy*e_x^e_y
+ A__xz*e_x^e_z
+ A__yz*e_y^e_z
+ A__xyz*e_x^e_y^e_z
g_{ij} =
Matrix([
[(e_x.e_x), (e_x.e_y), (e_x.e_z)],
[(e_x.e_y), (e_y.e_y), (e_y.e_z)],
[(e_x.e_z), (e_y.e_z), (e_z.e_z)]])
X__x*e_x + X__y*e_y + X__z*e_z
Y__x*e_x + Y__y*e_y + Y__z*e_z
(e_x.e_x)*X__x*Y__x + (e_x.e_y)*X__x*Y__y + (e_x.e_y)*X__y*Y__x + (e_x.e_z)*X__x*Y__z + (e_x.e_z)*X__z*Y__x + (e_y.e_y)*X__y*Y__y + (e_y.e_z)*X__y*Y__z + (e_y.e_z)*X__z*Y__y + (e_z.e_z)*X__z*Y__z
+ (X__x*Y__y - X__y*Y__x)*e_x^e_y + (X__x*Y__z - X__z*Y__x)*e_x^e_z + (X__y*Y__z - X__z*Y__y)*e_y^e_z
(X__x*Y__y - X__y*Y__x)*e_x^e_y + (X__x*Y__z - X__z*Y__x)*e_x^e_z + (X__y*Y__z - X__z*Y__y)*e_y^e_z
(e_x.e_x)*X__x*Y__x + (e_x.e_y)*X__x*Y__y + (e_x.e_y)*X__y*Y__x + (e_x.e_z)*X__x*Y__z + (e_x.e_z)*X__z*Y__x + (e_y.e_y)*X__y*Y__y + (e_y.e_z)*X__y*Y__z + (e_y.e_z)*X__z*Y__y + (e_z.e_z)*X__z*Y__z
g_{ij} =
Matrix([
[(e_x.e_x), (e_x.e_y)],
[(e_x.e_y), (e_y.e_y)]])
X__x*e_x + X__y*e_y
A + A__xy*e_x^e_y
-A__xy*((e_x.e_y)*X__x + (e_y.e_y)*X__y)*e_x + A__xy*((e_x.e_x)*X__x + (e_x.e_y)*X__y)*e_y
-A__xy*((e_x.e_y)*X__x + (e_y.e_y)*X__y)*e_x + A__xy*((e_x.e_x)*X__x + (e_x.e_y)*X__y)*e_y
A__xy*((e_x.e_y)*X__x + (e_y.e_y)*X__y)*e_x - A__xy*((e_x.e_x)*X__x + (e_x.e_y)*X__y)*e_y
g_{ii} =
Matrix([
[1, 0],
[0, 1]])
X__x*e_x + X__y*e_y
A + A__xy*e_x^e_y
(A*X__x - A__xy*X__y)*e_x + (A*X__y + A__xy*X__x)*e_y
-A__xy*X__y*e_x + A__xy*X__x*e_y
-A__xy*X__y*e_x + A__xy*X__x*e_y
A*X__x*e_x + A*X__y*e_y
(A*X__x + A__xy*X__y)*e_x + (A*X__y - A__xy*X__x)*e_y
A__xy*X__y*e_x - A__xy*X__x*e_y
A*X__x*e_x + A*X__y*e_y
A__xy*X__y*e_x - A__xy*X__x*e_y
g_{ij} =
Matrix([
[(a.a), (a.b), (a.c), (a.d), (a.e)],
[(a.b), (b.b), (b.c), (b.d), (b.e)],
[(a.c), (b.c), (c.c), (c.d), (c.e)],
[(a.d), (b.d), (c.d), (d.d), (d.e)],
[(a.e), (b.e), (c.e), (d.e), (e.e)]])
a|(b*c) = -(a.c)*b + (a.b)*c
a|(b^c) = -(a.c)*b + (a.b)*c
a|(b^c^d) = (a.d)*b^c - (a.c)*b^d + (a.b)*c^d
a|(b^c)+c|(a^b)+b|(c^a) = (a.b)*c - (b.c)*a - ((a.b)*c - (b.c)*a)
a*(b^c)-b*(a^c)+c*(a^b) = 3*a^b^c
a*(b^c^d)-b*(a^c^d)+c*(a^b^d)-d*(a^b^c) = 4*a^b^c^d
(a^b)|(c^d) = -(a.c)*(b.d) + (a.d)*(b.c)
((a^b)|c)|d = -(a.c)*(b.d) + (a.d)*(b.c)
(a^b)x(c^d) = -(b.d)*a^c + (b.c)*a^d + (a.d)*b^c - (a.c)*b^d
(a|(b^c))|(d^e) = (-(a.b)*(c.e) + (a.c)*(b.e))*d + ((a.b)*(c.d) - (a.c)*(b.d))*e
f = f
A = A__x*e_x + A__y*e_y + A__z*e_z
B = B__xy*e_x^e_y + B__xz*e_x^e_z + B__yz*e_y^e_z
C = C
+ C__x*e_x + C__y*e_y + C__z*e_z
+ C__xy*e_x^e_y + C__xz*e_x^e_z + C__yz*e_y^e_z
+ C__xyz*e_x^e_y^e_z
grad*f = D{x}f*e_x + D{y}f*e_y + D{z}f*e_z
grad|A = D{x}A__x + D{y}A__y + D{z}A__z
grad*A = D{x}A__x + D{y}A__y + D{z}A__z
+ (-D{y}A__x + D{x}A__y)*e_x^e_y + (-D{z}A__x + D{x}A__z)*e_x^e_z + (-D{z}A__y + D{y}A__z)*e_y^e_z
-I*(grad^A) = (-D{z}A__y + D{y}A__z)*e_x + (D{z}A__x - D{x}A__z)*e_y + (-D{y}A__x + D{x}A__y)*e_z
grad*B = (-D{y}B__xy - D{z}B__xz)*e_x + (D{x}B__xy - D{z}B__yz)*e_y + (D{x}B__xz + D{y}B__yz)*e_z
+ (D{z}B__xy - D{y}B__xz + D{x}B__yz)*e_x^e_y^e_z
grad^B = (D{z}B__xy - D{y}B__xz + D{x}B__yz)*e_x^e_y^e_z
grad|B = (-D{y}B__xy - D{z}B__xz)*e_x + (D{x}B__xy - D{z}B__yz)*e_y + (D{x}B__xz + D{y}B__yz)*e_z
grad<A = D{x}A__x + D{y}A__y + D{z}A__z
grad>A = D{x}A__x + D{y}A__y + D{z}A__z
grad<B = (-D{y}B__xy - D{z}B__xz)*e_x + (D{x}B__xy - D{z}B__yz)*e_y + (D{x}B__xz + D{y}B__yz)*e_z
grad>B = 0
grad<C = D{x}C__x + D{y}C__y + D{z}C__z
+ (-D{y}C__xy - D{z}C__xz)*e_x + (D{x}C__xy - D{z}C__yz)*e_y + (D{x}C__xz + D{y}C__yz)*e_z
+ D{z}C__xyz*e_x^e_y - D{y}C__xyz*e_x^e_z + D{x}C__xyz*e_y^e_z
grad>C = D{x}C__x + D{y}C__y + D{z}C__z
+ D{x}C*e_x + D{y}C*e_y + D{z}C*e_z
f = f
A = A__r*e_r + A__theta*e_theta + A__phi*e_phi
B = B__rtheta*e_r^e_theta + B__rphi*e_r^e_phi + B__thetaphi*e_theta^e_phi
grad*f = D{r}f*e_r + D{theta}f*e_theta/r + D{phi}f*e_phi/(r*sin(theta))
grad|A = D{r}A__r + (A__r + D{theta}A__theta)/r + (A__r*sin(theta) + A__theta*cos(theta) + D{phi}A__phi)/(r*sin(theta))
-I*(grad^A) = (A__phi/tan(theta) + D{theta}A__phi - D{phi}A__theta/sin(theta))*e_r/r + (-r*D{r}A__phi - A__phi + D{phi}A__r/sin(theta))*e_theta/r + (r*D{r}A__theta + A__theta - D{theta}A__r)*e_phi/r
grad^B = (r*D{r}B__thetaphi - B__rphi/tan(theta) + 2*B__thetaphi - D{theta}B__rphi + D{phi}B__rtheta/sin(theta))*e_r^e_theta^e_phi/r
X = 1.2*e_x + 2.34*e_y + 0.555*e_z
Nga(X,2) = 1.2*e_x + 2.3*e_y + 0.55*e_z
X*Y = 12.7011000000000
+ 4.02078*e_x^e_y + 6.175185*e_x^e_z + 10.182*e_y^e_z
Nga(X*Y,2) = 13.
+ 4.0*e_x^e_y + 6.2*e_x^e_z + 10.0*e_y^e_z
g_{ij} = Matrix([
[ 0, (X.Y), (X.e)],
[(X.Y), 0, (Y.e)],
[(X.e), (Y.e), 1]])
(X^Y)**2 = (X.Y)**2
B = X^Y - (Y.e)*X^e + (X.e)*Y^e
B**2 = (X.Y)**2 - 2*(X.Y)*(X.e)*(Y.e)
#L = X^Y^e is a non-euclidian line
B = L*e = X^Y - (Y.e)*X^e + (X.e)*Y^e
B*e*B.rev() = (X.Y)*(-(X.Y) + 2*(X.e)*(Y.e))*e
B**2 = (X.Y)**2 - 2*(X.Y)*(X.e)*(Y.e)
L**2 = (X.Y)**2 - 2*(X.Y)*(X.e)*(Y.e)
s = sinh(alpha/2) and c = cosh(alpha/2)
exp(alpha*B/(2*|B|)) = c
+ (1/B)*s*X^Y - (Y.e)*(1/B)*s*X^e + (X.e)*(1/B)*s*Y^e
((X.Y)**2*(1/B)**2*s**2 - 2*(X.Y)*(X.e)*(Y.e)*(1/B)**2*s**2 + 2*(X.Y)*(1/B)*c*s - 2*(X.e)*(Y.e)*(1/B)*c*s + c**2)*X
+ 2*(X.e)**2*(1/B)*c*s*Y
+ 2*(X.Y)*(X.e)*(1/B)*s*(-(X.Y)*(1/B)*s + 2*(X.e)*(Y.e)*(1/B)*s - c)*e
Objective is to determine value of C = cosh(alpha) such that W = 0
Z|Y = (X.Y)**3*(1/B)**2*s**2 - 4*(X.Y)**2*(X.e)*(Y.e)*(1/B)**2*s**2 + 2*(X.Y)**2*(1/B)*c*s + 4*(X.Y)*(X.e)**2*(Y.e)**2*(1/B)**2*s**2 - 4*(X.Y)*(X.e)*(Y.e)*(1/B)*c*s + (X.Y)*c**2
S = sinh(alpha) and C = cosh(alpha)
W = (X.Y)*C - (X.e)*(Y.e)*C + (X.e)*(Y.e) + S*sqrt((X.Y)**2 - 2*(X.Y)*(X.e)*(Y.e))
Scalar Coefficient = (X.e)*(Y.e)
Cosh Coefficient = (X.Y) - (X.e)*(Y.e)
Sinh Coefficient = sqrt((X.Y)**2 - 2*(X.Y)*(X.e)*(Y.e))
|B| = sqrt((X.Y)**2 - 2*(X.Y)*(X.e)*(Y.e))
Require a*C**2+b*C+c = 0
a = (X.e)**2*(Y.e)**2
b = 2*(X.e)*(Y.e)*((X.Y) - (X.e)*(Y.e))
c = (X.Y)**2 - 2*(X.Y)*(X.e)*(Y.e) + (X.e)**2*(Y.e)**2
cosh(alpha) = C = -b/(2*a) = -(X.Y)/((X.e)*(Y.e)) + 1
g_{ij} =
Matrix([
[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 0, 2],
[0, 0, 0, 2, 0]])
F(a) = e_1
+ n/2
- nbar/2
F(b) = e_2
+ n/2
- nbar/2
F(c) = -e_1
+ n/2
- nbar/2
F(d) = e_3
+ n/2
- nbar/2
F(x) = x1*e_1
+ x2*e_2
+ x3*e_3
+ (x1**2/2 + x2**2/2 + x3**2/2)*n
- nbar/2
a = e1, b = e2, c = -e1, and d = e3
A = F(a) = 1/2*(a*a*n+2*a-nbar), etc.
Circle through a, b, and c
Circle: A^B^C^X = 0 = -x3*e_1^e_2^e_3^n
+ x3*e_1^e_2^e_3^nbar
+ (x1**2/2 + x2**2/2 + x3**2/2 - 1/2)*e_1^e_2^n^nbar
Line through a and b
Line : A^B^n^X = 0 = -x3*e_1^e_2^e_3^n
+ (x1/2 + x2/2 - 1/2)*e_1^e_2^n^nbar
+ x3*e_1^e_3^n^nbar/2
- x3*e_2^e_3^n^nbar/2
Sphere through a, b, c, and d
Sphere: A^B^C^D^X = 0 = (-x1**2/2 - x2**2/2 - x3**2/2 + 1/2)*e_1^e_2^e_3^n^nbar
Plane through a, b, and d
Plane : A^B^n^D^X = 0 = (-x1/2 - x2/2 - x3/2 + 1/2)*e_1^e_2^e_3^n^nbar
-x3*e_1^e_2^e_3^n
- x3*e_1^e_2^e_3^nbar
+ (-x1**2/2 + x1 - x2**2/2 + x2 - x3**2/2 - 1/2)*e_1^e_2^n^nbar
+ x3*e_1^e_3^n^nbar
- x3*e_2^e_3^n^nbar
g_{ij} =
Matrix([
[(p1.p1), (p1.p2), (p1.p3), 0, 0],
[(p1.p2), (p2.p2), (p2.p3), 0, 0],
[(p1.p3), (p2.p3), (p3.p3), 0, 0],
[ 0, 0, 0, 0, 2],
[ 0, 0, 0, 2, 0]])
Extracting direction of line from L = P1^P2^n
(L|n)|nbar = 2*p1
- 2*p2
Extracting plane of circle from C = P1^P2^P3
((C^n)|n)|nbar = 2*p1^p2
- 2*p1^p3
+ 2*p2^p3
(p2-p1)^(p3-p1) = p1^p2
- p1^p3
+ p2^p3
g_{ij} =
Matrix([
[ 0, -1, (P1.a)],
[ -1, 0, (P2.a)],
[(P1.a), (P2.a), (a.a)]])
B**2 = 1
a' = a-(a^B)*B = -(P2.a)*P1
- (P1.a)*P2
A+ = a'+a'*B = -2*(P2.a)*P1
A- = a'-a'*B = -2*(P1.a)*P2
(A+)^2 = 0
(A-)^2 = 0
a|B = -(P2.a)*P1
+ (P1.a)*P2
g_{ij} =
Matrix([
[ 1, (e1.e2), (e1.e3)],
[(e1.e2), 1, (e2.e3)],
[(e1.e3), (e2.e3), 1]])
E = e1^e2^e3
E**2 = (e1.e2)**2 - 2*(e1.e2)*(e1.e3)*(e2.e3) + (e1.e3)**2 + (e2.e3)**2 - 1
E1 = (e2^e3)*E = ((e2.e3)**2 - 1)*e1
+ ((e1.e2) - (e1.e3)*(e2.e3))*e2
+ (-(e1.e2)*(e2.e3) + (e1.e3))*e3
E2 =-(e1^e3)*E = ((e1.e2) - (e1.e3)*(e2.e3))*e1
+ ((e1.e3)**2 - 1)*e2
+ (-(e1.e2)*(e1.e3) + (e2.e3))*e3
E3 = (e1^e2)*E = (-(e1.e2)*(e2.e3) + (e1.e3))*e1
+ (-(e1.e2)*(e1.e3) + (e2.e3))*e2
+ ((e1.e2)**2 - 1)*e3
E1|e2 = 0
E1|e3 = 0
E2|e1 = 0
E2|e3 = 0
E3|e1 = 0
E3|e2 = 0
(E1|e1)/E**2 = 1
(E2|e2)/E**2 = 1
(E3|e3)/E**2 = 1
e3d.g = Matrix([
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]])
Signature = (3,0) I = e1^e2^e3 I**2 = -1
e3d.g = Matrix([
[2, 0, 0],
[0, 2, 0],
[0, 0, 2]])
Signature = (3,0) I = sqrt(2)*e1^e2^e3/4 I**2 = -1
e3d.g = Matrix([
[1, 0, 0, 0],
[0, -1, 0, 0],
[0, 0, -1, 0],
[0, 0, 0, -1]])
Signature = (1,3) I = e1^e2^e3^e4 I**2 = -1
e3d.g = Matrix([
[2, 0, 0, 0],
[0, -2, 0, 0],
[0, 0, -2, 0],
[0, 0, 0, -2]])
Signature = (1,3) I = e1^e2^e3^e4/4 I**2 = -1
e4d.g = Matrix([
[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1]])
Signature = (4,0) I = e1^e2^e3^e4 I**2 = 1
cf4d.g = Matrix([
[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 1, 0],
[0, 0, 0, 0, -1]])
Signature = (4,1) I = e1^e2^e3^e4^e5 I**2 = -1
cf4d.g = Matrix([
[2, 0, 0, 0, 0],
[0, 2, 0, 0, 0],
[0, 0, 2, 0, 0],
[0, 0, 0, 2, 0],
[0, 0, 0, 0, -2]])
Signature = (4,1) I = sqrt(2)*e1^e2^e3^e4^e5/8 I**2 = -1
In [3]:
%run 1d_grad.py
s**2
f
D{s}f
\frac{d}{d s} f{\left(s^{2} \right)}
In [4]:
%run coefs_test.py
********************************************************************************
def coefs_test():
Print_Function()
(o3d,e1,e2,e3) = Ga.build('e_1 e_2 e_3',g=[1,1,1])
print(o3d.blades_lst)
print(o3d.mv_blades_lst)
v = o3d.mv('v', 'vector')
print(v)
print(v.blade_coefs([e3,e1]))
A = o3d.mv('A', 'mv')
print(A)
print(A.blade_coefs([e1^e3,e3,e1^e2,e1^e2^e3]))
print(A.blade_coefs())
return
Code output:
[e_1, e_2, e_3, e_1^e_2, e_1^e_3, e_2^e_3, e_1^e_2^e_3]
[e_1, e_2, e_3, e_1^e_2, e_1^e_3, e_2^e_3, e_1^e_2^e_3]
v__1*e_1
+ v__2*e_2
+ v__3*e_3
[v__3, v__1]
A
+ A__1*e_1
+ A__2*e_2
+ A__3*e_3
+ A__12*e_1^e_2
+ A__13*e_1^e_3
+ A__23*e_2^e_3
+ A__123*e_1^e_2^e_3
[A__13, A__3, A__12, A__123]
[A, A__1, A__2, A__3, A__12, A__13, A__23, A__123]
In [5]:
%run ConformalConsole.py
A = e_1/2
+ n/8
- \bar{n}/2
B = 2*e_1
+ 2*n
- \bar{n}/2
C = 4*e_1/5
+ 3*e_2/5
+ n/2
- \bar{n}/2
D = 4*e_1/5
- 3*e_2/5
+ n/2
- \bar{n}/2
T = -9*e_1^e_2^n/20
- 9*e_1^e_2^\bar{n}/20
+ 9*e_2^n^\bar{n}/16
U = e_1^e_2^n
- e_1^e_2^\bar{n}
inter = -9*e_1^e_2/5
+ 9*e_2^n/8
- 9*e_2^\bar{n}/8
B = -9*e_1^e_2/5
+ 9*e_2^n/8
- 9*e_2^\bar{n}/8
B**2 = 729/400
NB = 27/20
20*e_1/9
+ 5*e_2/3
20*e_1/9
- 5*e_2/3
One intersection point x = 20*e_1/9
+ 5*e_2/3
+ 25*n/18
- 25*\bar{n}/18
The other intersection point y = 20*e_1/9
- 5*e_2/3
+ 25*n/18
- 25*\bar{n}/18
x**2 = 0
y**2 = 0
T^x = 0
T^y = 0
U^x = 0
U^y = 0
In [6]:
%run exp_check.py
u__x*e_x
+ u__y*e_y
+ u__z*e_z
v__x*e_x
+ v__y*e_y
+ v__z*e_z
(u__x*v__y - u__y*v__x)*e_x^e_y
+ (u__x*v__z - u__z*v__x)*e_x^e_z
+ (u__y*v__z - u__z*v__y)*e_y^e_z
True
exp(uv) = cos(sqrt(u__x**2*v__y**2 + u__x**2*v__z**2 - 2*u__x*u__y*v__x*v__y - 2*u__x*u__z*v__x*v__z + u__y**2*v__x**2 + u__y**2*v__z**2 - 2*u__y*u__z*v__y*v__z + u__z**2*v__x**2 + u__z**2*v__y**2))
+ (u__x*v__y - u__y*v__x)*sin(sqrt(u__x**2*v__y**2 + u__x**2*v__z**2 - 2*u__x*u__y*v__x*v__y - 2*u__x*u__z*v__x*v__z + u__y**2*v__x**2 + u__y**2*v__z**2 - 2*u__y*u__z*v__y*v__z + u__z**2*v__x**2 + u__z**2*v__y**2))*e_x^e_y/sqrt(u__x**2*v__y**2 + u__x**2*v__z**2 - 2*u__x*u__y*v__x*v__y - 2*u__x*u__z*v__x*v__z + u__y**2*v__x**2 + u__y**2*v__z**2 - 2*u__y*u__z*v__y*v__z + u__z**2*v__x**2 + u__z**2*v__y**2)
+ (u__x*v__z - u__z*v__x)*sin(sqrt(u__x**2*v__y**2 + u__x**2*v__z**2 - 2*u__x*u__y*v__x*v__y - 2*u__x*u__z*v__x*v__z + u__y**2*v__x**2 + u__y**2*v__z**2 - 2*u__y*u__z*v__y*v__z + u__z**2*v__x**2 + u__z**2*v__y**2))*e_x^e_z/sqrt(u__x**2*v__y**2 + u__x**2*v__z**2 - 2*u__x*u__y*v__x*v__y - 2*u__x*u__z*v__x*v__z + u__y**2*v__x**2 + u__y**2*v__z**2 - 2*u__y*u__z*v__y*v__z + u__z**2*v__x**2 + u__z**2*v__y**2)
+ (u__y*v__z - u__z*v__y)*sin(sqrt(u__x**2*v__y**2 + u__x**2*v__z**2 - 2*u__x*u__y*v__x*v__y - 2*u__x*u__z*v__x*v__z + u__y**2*v__x**2 + u__y**2*v__z**2 - 2*u__y*u__z*v__y*v__z + u__z**2*v__x**2 + u__z**2*v__y**2))*e_y^e_z/sqrt(u__x**2*v__y**2 + u__x**2*v__z**2 - 2*u__x*u__y*v__x*v__y - 2*u__x*u__z*v__x*v__z + u__y**2*v__x**2 + u__y**2*v__z**2 - 2*u__y*u__z*v__y*v__z + u__z**2*v__x**2 + u__z**2*v__y**2)
In [7]:
%run lt_check.py
Lt(e0) = e0
+ 2*e1
Lt(e1) = 3*e0
+ 4*e1
Lt(e0) = e0
+ 2*e1
Lt(e1) = 3*e0
+ 4*e1
Matrix([
[1, 2],
[3, 4]])
In [8]:
%run lt_test.py
Lt(e0) = e0
+ 2*e1
+ 3*e2
Lt(e1) = 4*e0
+ 5*e1
+ 6*e2
Lt(e2) = 7*e0
+ 8*e1
+ 9*e2
A.lt_dict[e0]= e0 + 2*e1 + 3*e2
A.lt_dict[e1]= 4*e0 + 5*e1 + 6*e2
A.lt_dict[e2]= 7*e0 + 8*e1 + 9*e2
Matrix([[1, 4, 7], [2, 5, 8], [3, 6, 9]])
v__x*e0
+ v__y*e1
+ v__z*e2
(v__x + 4*v__y + 7*v__z)*e0
+ (2*v__x + 5*v__y + 8*v__z)*e1
+ (3*v__x + 6*v__y + 9*v__z)*e2
In [9]:
%run mv_setup_options.py
********************************************************************************
def Mv_setup_options():
Print_Function()
(o3d,e1,e2,e3) = Ga.build('e_1 e_2 e_3',g=[1,1,1])
v = o3d.mv('v', 'vector')
print(v)
(o3d,e1,e2,e3) = Ga.build('e*1|2|3',g=[1,1,1])
v = o3d.mv('v', 'vector')
print(v)
(o3d,e1,e2,e3) = Ga.build('e*x|y|z',g=[1,1,1])
v = o3d.mv('v', 'vector')
print(v)
coords = symbols('x y z',real=True)
(o3d,e1,e2,e3) = Ga.build('e',g=[1,1,1],coords=coords)
v = o3d.mv('v', 'vector')
print(v)
print(v.grade(2))
print(v.i_grade)
return
Code output:
v__1*e_1
+ v__2*e_2
+ v__3*e_3
v__1*e_1
+ v__2*e_2
+ v__3*e_3
v__x*e_x
+ v__y*e_y
+ v__z*e_z
v__x*e_x
+ v__y*e_y
+ v__z*e_z
0
1
In [10]:
%run prob_not_solenoidal.py
A = z*e_x^e_y
- y*e_x^e_z
+ x*e_y^e_z
grad^A = 3*e_x^e_y^e_z
f = 1/sqrt(x**2 + y**2 + z**2)
grad*f = -x*e_x/(x**2 + y**2 + z**2)**(3/2)
- y*e_y/(x**2 + y**2 + z**2)**(3/2)
- z*e_z/(x**2 + y**2 + z**2)**(3/2)
B = z*e_x^e_y/sqrt(x**2 + y**2 + z**2)
- y*e_x^e_z/sqrt(x**2 + y**2 + z**2)
+ x*e_y^e_z/sqrt(x**2 + y**2 + z**2)
grad^B = 2*e_x^e_y^e_z/sqrt(x**2 + y**2 + z**2)
In [11]:
%run reciprocal.py
Matrix([
[ D{u}x**2 + D{u}y**2 + D{u}z**2, D{u}x*D{v}x + D{u}y*D{v}y + D{u}z*D{v}z],
[D{u}x*D{v}x + D{u}y*D{v}y + D{u}z*D{v}z, D{v}x**2 + D{v}y**2 + D{v}z**2]])
1
0
0
1
In [12]:
%run rotations.py
a = a__x*e_x
+ a__y*e_y
+ a__z*e_z
b = b__x*e_x
+ b__y*e_y
+ b__z*e_z
c = c__x*e_x
+ c__y*e_y
+ c__z*e_z
ab = (a__x - b__x)*e_x
+ (a__y - b__y)*e_y
+ (a__z - b__z)*e_z
ab/|ab| = (a__x - b__x)*e_x/ab_mag
+ (a__y - b__y)*e_y/ab_mag
+ (a__z - b__z)*e_z/ab_mag
R_ab = cos(theta_ab/2)
+ (a__z - b__z)*cos(theta_ab/2)*e_x^e_y/ab_mag
+ (-a__y + b__y)*cos(theta_ab/2)*e_x^e_z/ab_mag
+ (a__x - b__x)*cos(theta_ab/2)*e_y^e_z/ab_mag
R_ab_rev = cos(theta_ab/2)
+ (-a__z + b__z)*cos(theta_ab/2)*e_x^e_y/ab_mag
+ (a__y - b__y)*cos(theta_ab/2)*e_x^e_z/ab_mag
+ (-a__x + b__x)*cos(theta_ab/2)*e_y^e_z/ab_mag
e_ab_x = (a__x**2 - 2*a__x*b__x - a__y**2 + 2*a__y*b__y - a__z**2 + 2*a__z*b__z + ab_mag**2 + b__x**2 - b__y**2 - b__z**2)*cos(theta_ab/2)**2*e_x/ab_mag**2
+ 2*(a__x*a__y - a__x*b__y - a__y*b__x + ab_mag*(-a__z + b__z) + b__x*b__y)*cos(theta_ab/2)**2*e_y/ab_mag**2
+ 2*(a__x*a__z - a__x*b__z - a__z*b__x + ab_mag*(a__y - b__y) + b__x*b__z)*cos(theta_ab/2)**2*e_z/ab_mag**2
e_ab_y = 2*(a__x*a__y - a__x*b__y - a__y*b__x + ab_mag*(a__z - b__z) + b__x*b__y)*cos(theta_ab/2)**2*e_x/ab_mag**2
+ (-a__x**2 + 2*a__x*b__x + a__y**2 - 2*a__y*b__y - a__z**2 + 2*a__z*b__z + ab_mag**2 - b__x**2 + b__y**2 - b__z**2)*cos(theta_ab/2)**2*e_y/ab_mag**2
+ 2*(a__y*a__z - a__y*b__z - a__z*b__y + ab_mag*(-a__x + b__x) + b__y*b__z)*cos(theta_ab/2)**2*e_z/ab_mag**2
e_ab_z = 2*(a__x*a__z - a__x*b__z - a__z*b__x + ab_mag*(-a__y + b__y) + b__x*b__z)*cos(theta_ab/2)**2*e_x/ab_mag**2
+ 2*(a__y*a__z - a__y*b__z - a__z*b__y + ab_mag*(a__x - b__x) + b__y*b__z)*cos(theta_ab/2)**2*e_y/ab_mag**2
+ (-a__x**2 + 2*a__x*b__x - a__y**2 + 2*a__y*b__y + a__z**2 - 2*a__z*b__z + ab_mag**2 - b__x**2 - b__y**2 + b__z**2)*cos(theta_ab/2)**2*e_z/ab_mag**2
cos(phi/2)
- sin(phi/2)*e_x^e_y
cos(phi/2)
+ sin(phi/2)*e_x^e_y
-sin(phi)*e_x
+ cos(phi)*e_y
cos(theta/2)
- sin(theta/2)*cos(phi)*e_x^e_z
- sin(phi)*sin(theta/2)*e_y^e_z
cos(theta/2)
+ sin(theta/2)*cos(phi)*e_x^e_z
+ sin(phi)*sin(theta/2)*e_y^e_z
e_r = cos(phi)*cos(theta)*e_x
+ sin(phi)*cos(theta)*e_y
+ sin(theta)*e_z
e_th = -sin(theta)*cos(phi)*e_x
- sin(phi)*sin(theta)*e_y
+ cos(theta)*e_z
e_phi = -sin(phi)*e_x
+ cos(phi)*e_y
In [ ]:
Content source: arsenovic/galgebra
Similar notebooks: