Dang, didn't mean to misspell your name!

On Mon, Aug 8, 2022 at 3:01 PM Kevin Pauba <klpa...@gmail.com> wrote:

> Hello Alen, so nice of you to reply.
>
> I have already worked out the solution using sin, cos and tangent.  I also
> used sympy to help solve the simultaneous equations and the solution was
> succinct.  I used rational trig as it seemed interesting and I had thought
> that sympy might help to solve the problem in an even simpler form.  As we
> have seen, that's not the case.
>
> I'm now investigating the use of the parametric circle equation
> https://mathnow.wordpress.com/2009/11/06/a-rational-parameterization-of-the-unit-circle/.
> It seems that this model fits the problem space more closely.
>
> Again, thanks for the feedback and feel free to share anything else that
> comes to mind.
>
> On Mon, Aug 8, 2022 at 12:53 PM Alan Bromborsky <abrombo...@gmail.com>
> wrote:
>
>> It is not hard to write a closed form solution in terms of sine, cosine
>> and the lengths of Q1, Q2, and the distance of the pivot point from the
>> origin assuming the initial rotation angle is zero (makes it simpler).  Is
>> there any reason to object to that solution letting sympy do the messy
>> algebra.  I just takes a little vector algebra to set up the problem.
>> On 8/6/22 10:37 PM, Kevin Pauba wrote:
>>
>> Also, oscar, none of the radicals in the formulas are due to my getting
>> the lengths.  All q* terms are quadrances ... no lengths are used in the
>> formulas.  I should have said quadrance of DP (the square of the length of
>> the segment DP) instead of just segment DP.  Once I have the values for q1,
>> q2, q_dp and s, I'll convert them to length and angles for human
>> consumption.
>>
>> On Saturday, August 6, 2022 at 2:26:36 PM UTC-7 Kevin Pauba wrote:
>>
>>> Oscar, I think I misstated something about rational trig that reinforces
>>> your statement that it avoids square roots.  Maybe there is some
>>> manipulation of the equations (similar in spirit to using sympy.unrad())
>>> that would keep them in a form that doesn't require the square roots.  It
>>> would seem that sqrt would only be needed in the very last step when
>>> evaluating the quadrances when I want a final distance measure once solved
>>> ( d = sqrt(q1), for instance).
>>>
>>> On Saturday, August 6, 2022 at 10:35:38 AM UTC-7 Kevin Pauba wrote:
>>>
>>>> Rational trigonometry totally eschews the use of transcendental
>>>> functions like sine and cosine.  The "Triple Spread Formula" relating the
>>>> speads to the quadrances, for example, is quadratic (as is the "Triple Quad
>>>> Formula") -- the use of square roots is unavoidable.
>>>>
>>>> After working the same problem using traditional circular functions
>>>> (sine & cosine), I was pleased to see a much simpler solution (that took
>>>> relatively little processing time).  I am intrigued with rational
>>>> trigonometry but a bit disappointed that a solution is more elusive.
>>>>
>>>> On Saturday, August 6, 2022 at 9:14:19 AM UTC-7 Oscar wrote:
>>>>
>>>>> The equations you are attempting to solve lead to a very complicated
>>>>> Groebner basis that is slow to compute (I'm not sure how long it
>>>>> takes) and probably gives quite a complicated expression for the
>>>>> solution.
>>>>>
>>>>> It might be better if you can derive the equations without introducing
>>>>> radicals i.e. to work with the quadrances rather than square rooting
>>>>> them to get lengths. I'm not sure how you derived this but I imagine
>>>>> the intention of rational geometry is to avoid things like square
>>>>> roots.
>>>>>
>>>>> On Sat, 6 Aug 2022 at 16:22, Kevin Pauba <klp...@gmail.com> wrote:
>>>>> >
>>>>> > That might be another approach but this represents an applied
>>>>> geometry problem (mechanics). The segment DP (along with s) is an input
>>>>> measure that is easy to determine/specify.
>>>>> >
>>>>> > On Saturday, August 6, 2022 at 4:45:13 AM UTC-7 smi...@gmail.com
>>>>> wrote:
>>>>> >>
>>>>> >>
>>>>> >> Kevin, I took a look at some of the rational geometry links -- it
>>>>> makes me wonder if you might approach the relationship between Q1 and Q2
>>>>> and the area of the triangle extending past the line instead of simply the
>>>>> length DP.
>>>>> >>
>>>>> >> /c
>>>>> >> On Friday, August 5, 2022 at 9:11:39 PM UTC-5 klp...@gmail.com
>>>>> wrote:
>>>>> >>>
>>>>> >>> Hi Oscar,
>>>>> >>>
>>>>> >>> That very well may be (as you've noticed, I'm not well versed in
>>>>> math as I once was). This is an applied geometry problem (see attached
>>>>> diagram) where the triangle rotates about point A. I am solving for the
>>>>> relationships between q1 and q2, the perpendicular distance from P to the
>>>>> base of the triangle (segment DP) and the angular measure s using rational
>>>>> trigonometry (see
>>>>> https://stijnoomes.com/laws-of-rational-trigonometry/). I have a
>>>>> solution using sin, cos but I'm interested in this alternative method.
>>>>> >>>
>>>>> >>> equ1 in my working example solves for the segment DP given q1, q2
>>>>> and s (and angular measure). The problem presented here is to determine q1
>>>>> and q2 given two known segments and angular measures (q_dp1, s1) and
>>>>> (q_dp2, s2).
>>>>> >>>
>>>>> >>> I hope this makes sense and that the information might help you
>>>>> help me.
>>>>> >>>
>>>>> >>> Thanks for taking the time looking into it!
>>>>> >>>
>>>>> >>> On Friday, August 5, 2022 at 4:50:09 PM UTC-7 Oscar wrote:
>>>>> >>>>
>>>>> >>>> I just had a quick look and I think that maybe this has a
>>>>> positive
>>>>> >>>> dimensional solution set.
>>>>> >>>>
>>>>> >>>> On Fri, 5 Aug 2022 at 16:08, Kevin Pauba <klp...@gmail.com>
>>>>> wrote:
>>>>> >>>> >
>>>>> >>>> > Here's the minimal working example (except for it hanging on
>>>>> solve()):
>>>>> >>>> >
>>>>> >>>> > import sympy as sym
>>>>> >>>> > from sympy import sqrt
>>>>> >>>> >
>>>>> >>>> > q1, q2, s, s1, s2, q_dp1, q_dp2 = sym.symbols('Q_1, Q_2, s,
>>>>> s_1, s_2, Q_dp_1, Q_dp_2')
>>>>> >>>> >
>>>>> >>>> > equ1 = q1*s - q2*s + 2*q2 - 2*sqrt(q2*(q1*s - q2*s + q2 +
>>>>> 2*sqrt(q1*q2*s*(1 - s)))) + 2*sqrt(q1*q2*s*(1 - s))
>>>>> >>>> >
>>>>> >>>> > eq1 = equ1.subs({ s: s1 }) - q_dp1
>>>>> >>>> > print(f"{eq1} = 0")
>>>>> >>>> >
>>>>> >>>> > eq2 = equ1.subs({ s: s2 }) - q_dp2
>>>>> >>>> > print(f"{eq2} = 0")
>>>>> >>>> >
>>>>> >>>> > soln = sym.solve([eq1, eq2], (q1, q2), simplify=False)
>>>>> >>>> > print(f"soln = {soln}")
>>>>> >>>> >
>>>>> >>>> > On Friday, August 5, 2022 at 7:47:07 AM UTC-7 Oscar wrote:
>>>>> >>>> >>
>>>>> >>>> >> You should be able to obtain a parametric Groebner basis to
>>>>> represent
>>>>> >>>> >> the solutions of this system. Whether that leads to an
>>>>> explicit
>>>>> >>>> >> solution in radicals is hard to say without trying.
>>>>> >>>> >>
>>>>> >>>> >> I would demonstrate how to do this but the code for putting
>>>>> together
>>>>> >>>> >> the equations is incomplete.
>>>>> >>>> >>
>>>>> >>>> >> On Fri, 5 Aug 2022 at 14:01, Chris Smith <smi...@gmail.com>
>>>>> wrote:
>>>>> >>>> >> >
>>>>> >>>> >> > If you remove the radicals
>>>>> (`sympy.solvers.solvers.unrad(eq1)`) and replace `Q1` and `Q2` with `x` 
>>>>> and
>>>>> `y` and `Q_dp_1` with a and `s1` with `b` you will get an expression that
>>>>> is of degree 4 in every variable and can be split into a term with `a` and
>>>>> `b` and a term with only `b` -- both with `x` and `y`.
>>>>> >>>> >> >
>>>>> >>>> >> > u1 = a*(a**3 - 4*a**2*y*(2 - b) - 2*a*y**2*(-3*b**2 + 8*b -
>>>>> 8) - 4*b**3*x**3 + 2*b**2*(-x**2*(-3*a + 2*y*(b - 2)) + 2*y**3*(b - 2)) -
>>>>> 4*b*x*(a**2 + a*y*(b - 2) + y**2*(-b**2 - 8*b + 8))) + \
>>>>> >>>> >> > b**2*(b*(x**2 + y**2) + 2*x*y*(b - 2))**2
>>>>> >>>> >> >
>>>>> >>>> >> > Replace a,b with c,d (for `q_dp_2` and `s2`) to get `u2`. I
>>>>> can't imagine that solving a pair of quartics is going to give a nice
>>>>> solution. But solving this system with known values for `a` and `b` would
>>>>> be straightforward with `nsolve`.
>>>>> >>>> >> >
>>>>> >>>> >> > /c
>>>>> >>>> >> >
>>>>> >>>> >> > On Thursday, August 4, 2022 at 11:54:24 PM UTC-5
>>>>> klp...@gmail.com wrote:
>>>>> >>>> >> >>
>>>>> >>>> >> >> And eq1=Q_1*s_1 - Q_2*s_1 + 2*Q_2 - Q_dp_1 -
>>>>> 2*sqrt(Q_2*(Q_1*s_1 - Q_2*s_1 + Q_2 + 2*sqrt(Q_1*Q_2*s_1*(1 - s_1)))) +
>>>>> 2*sqrt(Q_1*Q_2*s_1*(1 - s_1)) ... sorry, long day!
>>>>> >>>> >> >>
>>>>> >>>> >> >> On Thursday, August 4, 2022 at 9:39:53 PM UTC-7 Kevin Pauba
>>>>> wrote:
>>>>> >>>> >> >>>
>>>>> >>>> >> >>> Sorry, Jeremy. Good suggestion!
>>>>> >>>> >> >>>
>>>>> >>>> >> >>> s1, s2, q_dp1, q_dp2 = sym.symbols('s_1, s_2, Q_dp_1,
>>>>> Q_dp_2')
>>>>> >>>> >> >>> eq1 = equ1.subs({ s: s1 }) - q_dp1
>>>>> >>>> >> >>> md( "$" + sym.latex(eq1) + " = 0$\n" )
>>>>> >>>> >> >>>
>>>>> >>>> >> >>> eq2 = equ1.subs({ s: s2 }) - q_dp2
>>>>> >>>> >> >>> md( "$" + sym.latex(eq2) + " = 0$\n" )
>>>>> >>>> >> >>>
>>>>> >>>> >> >>> soln = sym.solve([eq1, eq2], q1, q2)
>>>>> >>>> >> >>> print(f"soln = {soln}")
>>>>> >>>> >> >>>
>>>>> >>>> >> >>> I'll set simplify to False and see how it goes ...
>>>>> >>>> >> >>> On Thursday, August 4, 2022 at 8:18:00 PM UTC-7 Kevin
>>>>> Pauba wrote:
>>>>> >>>> >> >>>>
>>>>> >>>> >> >>>> I've attached a portion of a jupyter notebook. I'm
>>>>> attempting to solve a simultaneous equation using sympy. The sym.solve() 
>>>>> in
>>>>> the green input box doesn't return (well, I waited over night on my 
>>>>> macbook
>>>>> pro). Might the solution be intractable? Is there another way to get a
>>>>> solution? Any help is greatly appreciated.
>>>>> >>>> >> >
>>>>> >>>> >> > --
>>>>> >>>> >> > 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/72f1b075-dbe2-41c0-bba6-9305c5960443n%40googlegroups.com.
>>>>>
>>>>> >>>> >
>>>>> >>>> > --
>>>>> >>>> > 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/54eddcdc-a42e-4ebc-87b8-b6aaea1e2d0an%40googlegroups.com.
>>>>>
>>>>> >
>>>>> > --
>>>>> > 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/357f1ceb-d50f-484f-ae1e-0c82a1414a62n%40googlegroups.com.
>>>>>
>>>>>
>>>> --
>> 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/da2d4dba-9b7a-478c-9454-755cf0b9f2cbn%40googlegroups.com
>> <https://groups.google.com/d/msgid/sympy/da2d4dba-9b7a-478c-9454-755cf0b9f2cbn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "sympy" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/sympy/vPE0dlZTqVM/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> sympy+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/sympy/489ed715-994d-f2c7-3e87-bcf6307ab061%40gmail.com
>> <https://groups.google.com/d/msgid/sympy/489ed715-994d-f2c7-3e87-bcf6307ab061%40gmail.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/CAEODcKwxg0Qa4V46s8jj%3DuxZnAaRpTMyP2szOVUXnk%3DuVjZ0rQ%40mail.gmail.com.

Reply via email to