Can Complex Equations Break the Bounds of the Unit Circle?

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
24 replies · 3K views
ADDA
Messages
67
Reaction score
2
Is doing the same thing repeatedly... Can I spin out of the unit circle with the solution to this equation:

(a^2 + b^2) / (a * b - a / b) = (a / b + b / a)

Extra Credit for a refutation.

Hint: signal processing.
 
  • Like
Likes   Reactions: datafiend
Physics news on Phys.org
Please choose a more helpful title next time. A better description of your question in the thread itself would help as well.

No need to round anything.
(a^2 + b^2) / (a * b - a / b) = (a / b + b / a)
Plug in a = 1, b = 2:
(1 + 4) / (2 - 1/2) = (1/2 + 2)
Simplify: 5/(3/2) = 5/2
10/3 = 5/2 - wrong.
 
>>> a = 1.
>>> b = 2.
>>> (a**2. + b**2.) / (a * b - a / b)
3.3333333333333335
>>> (a / b + b / a)
2.5
>>>
sorry, I misunderstood you. I know that it is an inequality, yet, I'll show you results soon; and explain more in detail
 
Easily refuted in the general case with algebra:

If a or b is zero, the equation is undefined. Also, if ab = a/b, the denominator on the LHS is zero and the equation is undefined. This will be true if b = 1. So we can assume that a and b are both nonzero and that b is not 1.

Then we have:

a^2 + b^2 = (ab - a/b) (a/b + b/a)

a^2 + b^2 = a^2 + b^2 - a^2/b^2 - 1

1 = - a^2 / b^2

If a and b are both real, this equation cannot be satisfied.
 
Even though there isn't an algebraic solution, PeterDonis, the computed results are shown below.

Screenshot_20180209_211725_zpszklgrhtf.png


The variables magn_tone and magn_overtone are both real numbers (float values) taken from complex values of a Decimation in Time Fast Fourier Transform. With (a) taken as magn_tone and (b) taken as magn_overtone, the result is of (LHS / RHS) is 1 as shown by the logcat printout. So can anyone guess my proof?
 

Attachments

  • Screenshot_20180209_211725_zpszklgrhtf.png
    Screenshot_20180209_211725_zpszklgrhtf.png
    38.1 KB · Views: 1,166
ADDA said:
Even though there isn't an algebraic solution, PeterDonis, the computed results are shown below.

View attachment 220066

The variables magn_tone and magn_overtone are both real numbers (float values) taken from complex values of a Decimation in Time Fast Fourier Transform. With (a) taken as magn_tone and (b) taken as magn_overtone, the result is of (LHS / RHS) is 1 as shown by the logcat printout. So can anyone guess my proof?
Please show us your code -- as text, not as an unreadable screen shot, as well as text output of your program, also as text. As @PeterDonis's work shows, your equation has no real solutions.
 
Okay, I'm unorthodox.

Code:
            a = magn_tone * magn_overtone - magn_tone / magn_overtone;
            b = magn_tone * magn_tone + magn_overtone * magn_overtone;
            c = magn_tone / magn_overtone + magn_overtone / magn_tone;

            System.out.println("test  " + titr + " " + a + " " + " " + b + " " + c + " " + (b / a) / c + " " + (b / (c * a)));

Output:

I/System.out: energy 357.80927 357.80914 1.0000004
I/System.out: test 11 1717917.5 3723351.0 2.1673625 1.0000004 1.0000002
I/System.out: test 16 4019146.8 1.0260614E7 2.5529332 1.0000001 1.0000001
I/System.out: test 20 1481639.5 6989745.5 4.717561 1.000003 1.000003
I/System.out: test 22 2799359.3 5692193.0 2.0333905 1.0000005 1.0000005
I/System.out: test 24 1794318.6 6313421.5 3.5185556 1.0000018 1.0000018
I/System.out: test 26 2411329.8 1.0595829E7 4.3941774 1.0000018 1.0000017
I/System.out: test 28 1013812.2 8442358.0 8.327271 1.0000081 1.0000082
I/System.out: test 34 231074.9 2355332.0 10.1924925 1.0000436 1.0000436
I/System.out: test 38 93007.39 595468.94 6.401953 1.0000671 1.0000672
I/System.out: test 41 54108.297 197785.27 3.6551328 1.000062 1.000062
I/System.out: test 45 46744.566 286885.6 6.1365194 1.0001278 1.0001278
I/System.out: test 49 13876.021 28539.824 2.0565848 1.0000914 1.0000914
I/System.out: test 51 15818.587 34646.367 2.190018 1.0000975 1.0000975
I/System.out: test break
 
The ratio can be close to 1 for some inputs but it is never exactly 1, and it can differ from 1 significantly as shown before.
 
ADDA said:
Okay, I'm unorthodox.

Code:
            a = magn_tone * magn_overtone - magn_tone / magn_overtone;
            b = magn_tone * magn_tone + magn_overtone * magn_overtone;
            c = magn_tone / magn_overtone + magn_overtone / magn_tone;

            System.out.println("test  " + titr + " " + a + " " + " " + b + " " + c + " " + (b / a) / c + " " + (b / (c * a)));

Output:

I/System.out: energy 357.80927 357.80914 1.0000004
I/System.out: test 11 1717917.5 3723351.0 2.1673625 1.0000004 1.0000002
I/System.out: test 16 4019146.8 1.0260614E7 2.5529332 1.0000001 1.0000001
I/System.out: test 20 1481639.5 6989745.5 4.717561 1.000003 1.000003
I/System.out: test 22 2799359.3 5692193.0 2.0333905 1.0000005 1.0000005
I/System.out: test 24 1794318.6 6313421.5 3.5185556 1.0000018 1.0000018
I/System.out: test 26 2411329.8 1.0595829E7 4.3941774 1.0000018 1.0000017
I/System.out: test 28 1013812.2 8442358.0 8.327271 1.0000081 1.0000082
I/System.out: test 34 231074.9 2355332.0 10.1924925 1.0000436 1.0000436
I/System.out: test 38 93007.39 595468.94 6.401953 1.0000671 1.0000672
I/System.out: test 41 54108.297 197785.27 3.6551328 1.000062 1.000062
I/System.out: test 45 46744.566 286885.6 6.1365194 1.0001278 1.0001278
I/System.out: test 49 13876.021 28539.824 2.0565848 1.0000914 1.0000914
I/System.out: test 51 15818.587 34646.367 2.190018 1.0000975 1.0000975
I/System.out: test break
What does this have to do with the first post?
In your output line you are printing titr, a, b, c, (b/a)/c, and b/(c *a). The last two numbers can be easily shown to be equal. So what?
The fact that a few pairs of these numbers aren't equal is a result of using float numbers in the division.
 
ADDA said:
(a^2 + b^2) / (a * b - a / b) = (a / b + b / a)

quantity a is magn_tone
quantity b is magn_overtone

Please read as such
 
Did you read my last post?
Mark44 said:
What does this have to do with the first post?
In your output line you are printing titr, a, b, c, (b/a)/c, and b/(c *a). The last two numbers can be easily shown to be equal. So what?
 
fine... take an example, and ruin my parade.

a = 1662 = magn_tone
b = 485 = magn_overtone

positive real numbers that hold true to the original equation.
 
and if you are going to not round:

1662.4321 485.04932
 
From another mentor:
The OP's code is the implementation of the original formula, just with confusing variable names.
What was a in the original post is magn_tone, what was b in the original post is magn_overtone.
OP then calculates a*b-a/b and calls it "a", a^2+b^2 and calls it "b", and a/b+b/c and calls it "c". Afterwards the code takes the ratio of a/b (left side) and c (right side).

The code is doing what OP was discussing before.
 
By choosing numbers appropriately, you can make the difference between the LHS and RHS of the equation in the OP as small as you like; you just can't make it zero. The formula for the difference is:

$$
D = \frac{a/b + b/a}{b^2 - 1}
$$

This is undefined if ##a## or ##b## is zero or if ##b = 1##, as I posted earlier. And it's easy to see that, by making ##b## larger and larger, you can make ##D## as small as you like; you just can't make it zero. (Setting ##a = b## minimizes ##D## for a given value of ##b##, so it's easiest to assume that as well.)
 
PeterDonis said:
by making bbb larger and larger, you can make DDD as small as you like

At a large scale, there are differences:

>>> a = 2.1433184E10
>>> b = 4.547415E9
>>>
>>> (a**2.0 + b**2.0) / (a * b - a / b) - (a / b + b / a)
-8.881784197001252e-16
>>> (a / b + b / a) / (b * b - 1.0)
2.381855352654287e-19
>>>

It may seem trivial, yet I find it important to note. My aim with this post has been to further the understanding of signal processing.

There is a mathematical identity here that disproved algebra. I'll have to do some more thinking on the topic, yet if you have any further input, I would be glad to share some of my observations regarding the idea.
 
ADDA said:
There is a mathematical identity here that disproved algebra.
No, it doesn't. See below.

Here's your equation from post #1.
ADDA said:
(a^2 + b^2) / (a * b - a / b) = (a / b + b / a)

PeterDonis said:
By choosing numbers appropriately, you can make the difference between the LHS and RHS of the equation in the OP as small as you like; you just can't make it zero.
Which means that (a^2 + b^2) / (a * b - a / b) isn't exactly equal to (a / b + b / a). For some values of a and b, the two expressions are approximately equal, which is different from being equal.
 
ADDA said:
At a large scale, there are differences

There are always differences. We've proven that mathematically in this thread.

However, if you set ##a = b## and make ##b## very large, the difference gets very small. That's what I showed in my previous post. You can easily verify that by trying out values.
 
The inverse ratio (RHS/LHS) is ##(a / b + b / a)(a * b - a / b)/(a^2 + b^2) = 1 - (a^2/b^2 + 1)/(a^2+b^2)##
This is close 1 if b>>1.

The equation in the first post is basically a complicated way to write "4=4+1/b" - which is wrong, but for large b the difference is not large.
 
  • Like
Likes   Reactions: nasu and PeterDonis
(a^2 + b^2) / (a * b - a / b) = (a / b + b / a)
(a^2 + b^2) = (a / b + b / a) * (a * b - a / b)
(a^2 + b^2) = a^2 + b^2 - a^2 / b^2 - 1
0 = - a^2 / b^2 - 1

>>> a = 1662.4321
>>> b = 485.04932
>>> (a**2.0 + b**2.0) / (a * b - a / b)
3.719133235962503
>>> (a / b + b / a)
3.719117428216946
>>> 4.0 + 1.0 / b
4.002061646019832
 
ADDA said:
(a^2 + b^2) / (a * b - a / b) = (a / b + b / a)
(a^2 + b^2) = (a / b + b / a) * (a * b - a / b)
(a^2 + b^2) = a^2 + b^2 - a^2 / b^2 - 1
0 = - a^2 / b^2 - 1
This is old news. It was worked out many posts ago. Since the last equation above is equivalent to -a^2/b^2 = 1, this is why there are no solutions.
ADDA said:
>>> a = 1662.4321
>>> b = 485.04932
>>> (a**2.0 + b**2.0) / (a * b - a / b)
3.719133235962503
>>> (a / b + b / a)
3.719117428216946
>>> 4.0 + 1.0 / b
4.002061646019832
And your point is?
 
  • Like
Likes   Reactions: Eric Bretschneider
In my opinion, the numbers speak for themselves... there is a real valued solution:

>>> a = 620254.25
>>> b = 100934.39
>>> (a**2.0 + b**2.0) / (a * b - a / b)
6.307853755558177
>>> (a / b + b / a)
6.307853754939016 6.30785375 == 6.30785375
 
ADDA said:
there is a real valued solution

ADDA said:
>>> (a**2.0 + b**2.0) / (a * b - a / b)
6.307853755558177
>>> (a / b + b / a)
6.307853754939016

6.30785375 == 6.30785375

Sorry, but rounding to a finite number of decimal places does not constitute a "real-valued solution", no matter how many times you keep repeating numbers.

Thread closed.
 
  • Like
Likes   Reactions: Mark44