![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> But why is that, exactly? Well, looking in my sister's A-level maths
>> book [unlike me, my sister was *taught* mathematics] I discover a long
>> sequence of algebraic manipulations that slowly transforms the one
>> into the other.
>
> It's not that hard or long, just involves dividing by a, completing the
> square for the first two terms, rearranging, taking the square root, and
> rearranging again for x.
Yeah. As I said, a sequence of algebraic operations which "just happen"
to lead to the answer we seek. (As in, there's no *apparent* reason why
this particular sequence of operations does it, as opposed to some other.)
I also note in passing that I have no clue what "completing the square"
actually means. But then, I have no formal mathematical education at
all, so it's a miracle I even comprehend algebra in the first place!
> But I imagine the cubic is a lot harder.
http://planetmath.org/?op=getobj&from=objects&id=1407
Does it make your eyes bleed?
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible wrote:
> http://planetmath.org/?op=getobj&from=objects&id=1407
>
> Does it make your eyes bleed?
Actually... if you gather up some of those subexpressions and represent
them as single letters, it's not that complicated.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible wrote:
> Invisible wrote:
>
>> http://planetmath.org/?op=getobj&from=objects&id=1407
>>
>> Does it make your eyes bleed?
>
> Actually... if you gather up some of those subexpressions and represent
> them as single letters, it's not that complicated.
Unless my eyes deceive me, this is equivilent:
J = 2a^3 - 9ab + 26c
K = Sqrt(J^2 + 4(-a^2 + 3b)^3)
M = (1 + i Sqrt(3))/2
N = (-1 + i Sqrt(3))/2
r1 = -(a/3) + Cbrt((-J + K)/54) + Cbrt((-J - K)/54)
r2 = -(a/3) + M Cbrt((-J + K)/54) + N Cbrt((-J - K)/54)
r3 = -(a/3) + N Cbrt((-J + K)/54) + M Cbrt((-J - K)/54)
While hardly on the same level as the quadratic, it's not "that" hard.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Yeah. As I said, a sequence of algebraic operations which "just happen" to
> lead to the answer we seek. (As in, there's no *apparent* reason why this
> particular sequence of operations does it, as opposed to some other.)
Maybe if you've never done any equation solving before, but the steps are
pretty obvious steps to take to rearrange an equation like that (ie to get
all the x's in one place).
> I also note in passing that I have no clue what "completing the square"
> actually means.
It's the key step to rearranging the quadratic equation in terms of x, and
useful in lots of other areas too. It's the process of rewriting terms like
x^2+cx in the form (x+a)^2 + b. It's not hard, and after performing a
square root allows you to get the x by itself.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Unless my eyes deceive me, this is equivilent:
>
> J = 2a^3 - 9ab + 26c
> K = Sqrt(J^2 + 4(-a^2 + 3b)^3)
> M = (1 + i Sqrt(3))/2
> N = (-1 + i Sqrt(3))/2
>
> r1 = -(a/3) + Cbrt((-J + K)/54) + Cbrt((-J - K)/54)
> r2 = -(a/3) + M Cbrt((-J + K)/54) + N Cbrt((-J - K)/54)
> r3 = -(a/3) + N Cbrt((-J + K)/54) + M Cbrt((-J - K)/54)
>
> While hardly on the same level as the quadratic, it's not "that" hard.
Did you try to derive those equations from ax^3+bx^2+cx+d=0 ?? :-)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
scott wrote:
>> Unless my eyes deceive me, this is equivilent:
>>
>> J = 2a^3 - 9ab + 26c
>> K = Sqrt(J^2 + 4(-a^2 + 3b)^3)
>> M = (1 + i Sqrt(3))/2
>> N = (-1 + i Sqrt(3))/2
>>
>> r1 = -(a/3) + Cbrt((-J + K)/54) + Cbrt((-J - K)/54)
>> r2 = -(a/3) + M Cbrt((-J + K)/54) + N Cbrt((-J - K)/54)
>> r3 = -(a/3) + N Cbrt((-J + K)/54) + M Cbrt((-J - K)/54)
>>
>> While hardly on the same level as the quadratic, it's not "that" hard.
>
> Did you try to derive those equations from ax^3+bx^2+cx+d=0 ?? :-)
No - because it solves the *monic* equation x^3 + ax^2 + bx + c = 0. :-P
(Notice the absence of a "d" in any of the equations above.)
I'm surprised nobody has yet pointed out that it's "+ 27c" and not "+ 26c".
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
triple_r wrote:
> Orchid XP v8 <voi### [at] dev null> wrote:
>> I still can't figure out what a "tensor" is. :-P
>
> scalar = tensor of rank 0
> vector = tensor of rank 1
So... a rank-0 tensor is just a number, a rank-1 tensor is a 1D grid of
numbers, a rank-2 tensor is a 2D grid of numbers, and a rank-3 tensor
is... what? A 3D grid of numbers?
I guess that's simple enough. How how do you do arithmetic with them? ;-)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Orchid XP v8 wrote:
> Recall that the convolution of a signal by some kernel is *longer* than
> the original signal. This is the effect you have to repeat when doing
> FFT convolution. (The details escape me at this exact moment... Suffice
> it to say that your inverse-FFT results have to be overlapped to get a
> smooth result.)
>
Looking at dspguide.com (The first site that actually got me to make a
bit of sense out of FFT in the first place) it seems the overlap is
quite simple. What to overlap seems to be the length of the filter
kernel... But, how do you determine that if, say ... you present the
user with an interface that allows them to create a graph of which
frequencies to pass...?
I suppose this is where you'd want to use a Blackmann window to clean up
the edges of the kernel before applying it to the input data.
--
~Mike
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Mike Raiford wrote:
> Looking at dspguide.com (The first site that actually got me to make a
> bit of sense out of FFT in the first place) it seems the overlap is
> quite simple.
dspguide.com is the resource I used - and yet, it's really very good,
IMHO. The stuff about IIR filter design is quite fun. ;-)
> What to overlap seems to be the length of the filter
> kernel... But, how do you determine that if, say ... you present the
> user with an interface that allows them to create a graph of which
> frequencies to pass...?
If you have an N-point filter kernel, you can take X samples of input,
add on N-1 zeros at the end, FFT, multiply, inverse-FFT, overlap by N-1
samples with the previous window. This should produce the same results
as doing a normal convolution.
Using a larger N gives you more precise control over the frequency
response (because there are more points in it).
> I suppose this is where you'd want to use a Blackmann window to clean up
> the edges of the kernel before applying it to the input data.
You know how if you JPEG-compress something too much, you get ghosting?
Well if you aren't careful with your filter kernel, your frequency
response ends up with ghosting. The Blackmann window is a way to try to
get rid of that. (By blurring the whole thing, unfortunately.)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible wrote:
> So... a rank-0 tensor is just a number, a rank-1 tensor is a 1D grid of
> numbers, a rank-2 tensor is a 2D grid of numbers, and a rank-3 tensor
> is... what? A 3D grid of numbers?
>
> I guess that's simple enough. How how do you do arithmetic with them? ;-)
I think they actually have to be vectors, don't they? Not just pairs of numbers?
--
Darren New, San Diego CA, USA (PST)
Why is there a chainsaw in DOOM?
There aren't any trees on Mars.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |