Some Observations about Roots with Multiplicities.

One of the subjects which I had visited in my past, was to write a C++ program that approximates the roots of polynomials, but that needed to deal with ‘Doubled Roots’ in a special way, just because the search algorithm within that program, which searches for the roots, cannot deal with doubled roots. And what I found was, roots cannot only be doubled, but can have multiplicities higher than (2). After not having pondered that programming project from the past, for some time, I now come back to rethink it, and find that it can be given a lecture of sorts, all to itself.

So, this is a link to a work-sheet, in which I try to explain Roots with Multiplicities, maybe to people with limited knowledge in Calculus:

Link to Letter-Sized PDF

Link to EPUB File, for viewing on Mobile Devices

And as those two documents mention, the following is a link to the earlier blog posting, from which readers can download the C++ program, as well as to find instructions on how to compile it, on Linux computers:

Link to Earlier Blog Posting

Hence, the C++ program linked to in the earlier blog posting, needed to make use of the subject, that the two PDF Files describe.

N.B.:

(Updated 5/06/2019, 13h15 … )

Continue reading Some Observations about Roots with Multiplicities.

Simplifying the approach, to finding roots of polynomials.

In some cases, the aim of my postings is to say, ‘I am able to solve a certain problem – more or less – and therefore, the problem is solvable.’ It follows from this position that my solutions are not assumed to be better by any means, than mainstream solutions. So recently, I suggested an approach to finding the roots of polynomials numerically, again just to prove that it can be done. And then one observation which my readers might have made would be, that my approach is only accurate to within (10-12), while mainstream solutions are accurate to within (10-16). And one possible explanation for this would be, that the mainstream solutions polish their roots, which I did not get into. (:1)

(Edit 2/8/2019, 6h40 : )

A detail which some of my readers might have missed is, that when I refer to a ‘numerical solution’, I’m generally referring to an approximation.

(End of Edit, 2/8/2019, 6h40 . )

But another observation which I made, was that Mainstream Code Examples are much tighter, than what I suggested, which poses the obvious question: ‘Why can mainstream programmers do so much, with much less code complexity?’ And I think I know one reason.

The mainstream example I just linked to, bypasses a concept which I had suggested, which was to combine conjugate complex roots into quadratic terms, which could be factorized out of the original polynomial as such. What the mainstream example does is to assume that the coefficients of the derived polynomials could be complex, even though the original one only has real coefficients. And then, if a complex root has been found, factorizing it out results in such a polynomial with complex coefficients, after which to factorize out the conjugate, causes the coefficients of the quotient to become real again.

(Edited 1/30/2019, 8h50… )

(Updated 2/9/2019, 23h50… )

I’ve just written some source-code of my own, to test my premises…

Continue reading Simplifying the approach, to finding roots of polynomials.

Complex Roots

One question which has fascinated me in recent years, was the question of what exactly happens, if we start with a complex number as a base, and if we then raise that base to either a rational exponent, or an irrational exponent.

In the following worksheet, I explored that subject for all to see:

http://dirkmittler.homeip.net/Plot_Complex_Points.pdf

(Note : )

The worksheet above was made using a graphical front-end to the open-source Computer Algebra System named ‘Maxima’. That graphical front-end is named ‘wxMaxima’, and adds as features, to be able to convert textual output from Maxima, into typeset equations, as well as to make certain presentations and plots nicer.

Enjoy,

Dirk

 

The General Solution to a Cubic Equation

According to “Maxima”, or more specifically, according to “wxMaxima”, the three Roots to a Cubic Equation are generally as shown below, assuming that there exists one solution entirely in Real numbers:

http://dirkmittler.homeip.net/cubic.pdf

(Edit 2/7/2016 : ) There are two observations which need to be made about the solution shown above, which are related to the fact that a cubic equation can sometimes have three Real roots, or two, but that it always has at least one.

1) The expression which we’re told to find the cube root of could be equal to zero. And while finding the cube root of zero represents no obstacle, a division by zero does, and a division by zero ensues.

2) The expression we’re asked to find the square root of can become negative. In that case the solution shown above finds no Real numbers. Further, this output from ‘Maxima’ does not elucidate, how to process the fact that radicals are usually both negative and positive. An entire expression gets repeated, in which the radical could be negative. And there is no easy way to know, whether this radical is allowed to be negative in only one occurrence, or in both occurrences…

When using ‘Maxima’, a frequent goal is to eliminate extraneous complex numbers, by applying the sequence [‘rectform’, ‘trigsimp’] to an already-formed solution which is capable of producing Real numbers. But in this example, the sequence does not produce meaningful results. And one main reason is the fact that this sequence has no magic, by which to output information which was not input. So this trick does not produce an inverse-trigonometric function whose angle is naturally divided by three, so that a multiple of (2Ï€/3) Radians could simply be added to it, before a trig function is taken again. That ‘Maxima’ can recognize.

(End of Edit 2/7/2016)

If we need to find three existing real roots, then we must apply the system of Reduction To A Depressed Cubic as shown here:

Step 1

Followed by Trigonometric Method For Three Real Roots as shown here:

Step 2