The discussion centers on the equation (a^2 + b^2) / (a * b - a / b) = (a / b + b / a) and whether it can yield results outside the unit circle. Participants demonstrate that for specific values of a and b, such as a = 1 and b = 2, the equation does not hold true, leading to undefined conditions when either variable is zero or when b equals 1. The conversation highlights that while approximations can be made for large values of a and b, the equation lacks real solutions, as confirmed by algebraic manipulation and computational examples.
PREREQUISITES
Understanding of algebraic manipulation and inequalities
Familiarity with signal processing concepts
Knowledge of floating-point arithmetic and its implications in programming
Experience with Fast Fourier Transform (FFT) and its applications
NEXT STEPS
Explore the implications of floating-point precision in numerical computations
Study algebraic inequalities and their proofs in mathematical contexts
Learn about the Fast Fourier Transform (FFT) and its role in signal processing
Investigate mathematical identities and their applications in disproving equations
USEFUL FOR
Mathematicians, signal processing engineers, software developers working with numerical methods, and anyone interested in the intersection of algebra and computational analysis.
#1
ADDA
67
2
Is doing the same thing repeatedly... Can I spin out of the unit circle with the solution to this equation:
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.
#5
ADDA
67
2
>>> 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
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.
#7
ADDA
67
2
Even though there isn't an algebraic solution, PeterDonis, the computed results are shown below.
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?
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.
#9
ADDA
67
2
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
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.
#12
ADDA
67
2
ADDA said:
(a^2 + b^2) / (a * b - a / b) = (a / b + b / a)
quantity a is magn_tone
quantity b is magn_overtone
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?
#14
ADDA
67
2
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.
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).
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.)
#18
ADDA
67
2
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.
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.
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.
#22
ADDA
67
2
(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
(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?
#24
ADDA
67
2
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
>>> (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.