I managed to install GAlgebra, and after a bit of tweaking, I managed to 
get some lovely output on windows. Thank you for doing this!

You are correct, I also did the cylindrical form first, just because this 
is a cable geometry, and it is kind of obvious to do it that way. But the 
geometry of my measurement setup pushes me towards doing the actual 
implementation and math in cartesian coordinates. I do like that i get 
LaTeX output, which i can use for my paper. 

Thank you for your code; it gives me an example of how to deal with 
vectors. 

brombo schrieb am Sonntag, 24. Oktober 2021 um 03:33:38 UTC+2:

> Attached is the code and pdf output for all three cases.
> On 10/23/21 2:11 AM, Andreas Schuldei wrote:
>
> I am putting together the components of a vector field (a magnetic field, 
> caused by a current in several conductors) in cartesian coordinates. The 
> field is derived from calculating the rotation of its magnetic vector 
> potential, which can be expressed as 
>
> A_z  = -Const * dot(r,a)(dot(r,r)
> A =(0,0,A_z
> and then the rot(A):
> B = curl(A)
>
> gives me (after some simplifications)
> u = (2 * C * r2 * (a1 * r1 + a2 * r2)) / np.square(r1*r1 + r2*r2) - (C * 
> a2) / (r1*r1 + r2*r2)
> v = (C * a1) / (r1*r1 + r2*r2) - (2 * C * r1 * (a1 * r1 + a2 * r2)) / 
> np.square(r1*r1 + r2*r2) 
> w = 0
>
> with B(u,v,w) being the vector field I am interested in. 
>
> My initial question ("How to create a vector") is mostly a sympy 
> syntactical one. I look for a function like 
>
> Sys = CoordSys3D("Sys")
> O = Sys.origin
> u = (2 * C * r2 * (a1 * r1 + a2 * r2)) / np.square(r1*r1 + r2*r2) - (C * 
> a2) / (r1*r1 + r2*r2)
> v = (C * a1) / (r1*r1 + r2*r2) - (2 * C * r1 * (a1 * r1 + a2 * r2)) / 
> np.square(r1*r1 + r2*r2) 
> w = 0
> V = O.vector(u,v,w)
> ^^^^^^^^^^^^^^^^^^^
> where I can specify a vector, relative to a coordinate system, by its 
> components. The O.vector() function would return a vector that can then 
> safely be transformed into other (resting) coordinate systems.
>
> brombo schrieb am Freitag, 22. Oktober 2021 um 19:06:03 UTC+2:
>
>> You might want to look at this link -
>>
>> https://galgebra.readthedocs.io/en/latest/
>>
>> Also if you could show me symbolically (not code) what you are doing 
>> perhaps I could give you an example of how to do it in galgebra.
>> On 10/22/21 3:15 AM, Andreas Schuldei wrote:
>>
>> I saw this 
>> https://stackoverflow.com/questions/46993819/how-to-create-a-vector-function-in-sympy
>>  
>> which uses Matrix() as a workaround to create a vector. The author says, 
>> that it can not be transformed between coordinate systems, like real 
>> vectors, though.
>>
>> I need to transform my input and output vector from one coordinate system 
>> to another (and back). How are vector functions done in that case? My 
>> function is simple:
>>
>> def B_el(r_vec, I):
>> mu_0 = 4 * np.pi * 1e-7
>> a1 = -0.05
>> a2 = 0.0
>> C = mu_0 * I / np.pi
>> r1 = r_vec.i
>> r2 = r_vec.j
>> u = (2 * C * r2 * (a1 * r1 + a2 * r2)) / np.square(r1*r1 + r2*r2) - (C * 
>> a2) / (r1*r1 + r2*r2)
>> v = (C * a1) / (r1*r1 + r2*r2) - (2 * C * r1 * (a1 * r1 + a2 * r2)) / 
>> np.square(r1*r1 + r2*r2)
>> return Matrix([u, v, 0])
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "sympy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to sympy+un...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/sympy/8db840a8-20f9-47ac-a1c3-11b6658f00bfn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/sympy/8db840a8-20f9-47ac-a1c3-11b6658f00bfn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> -- 
> You received this message because you are subscribed to the Google Groups 
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sympy+un...@googlegroups.com.
>
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/9797a914-06a6-4f8e-a99f-5403504862bfn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/sympy/9797a914-06a6-4f8e-a99f-5403504862bfn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/057f2bdd-d98e-4dfd-a615-b3b51d232d00n%40googlegroups.com.

Reply via email to