<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/index.php?action=history&amp;feed=atom&amp;title=Tidal_tensor</id>
	<title>Tidal tensor - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/index.php?action=history&amp;feed=atom&amp;title=Tidal_tensor"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/index.php?title=Tidal_tensor&amp;action=history"/>
	<updated>2026-04-10T23:46:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0-wmf.28</generator>
	<entry>
		<id>https://en.formulasearchengine.com/index.php?title=Tidal_tensor&amp;diff=10993&amp;oldid=prev</id>
		<title>en&gt;Rich Farmbrough: remove Erik9bot category,outdated, tag and general fixes, removed Stub tag using Project:AWB</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/index.php?title=Tidal_tensor&amp;diff=10993&amp;oldid=prev"/>
		<updated>2009-12-18T06:33:16Z</updated>

		<summary type="html">&lt;p&gt;remove Erik9bot category,outdated, tag and general fixes, removed Stub tag using &lt;a href=&quot;/index.php?title=Testwiki:AWB&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Testwiki:AWB (page does not exist)&quot;&gt;Project:AWB&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In [[mathematics]], the &amp;#039;&amp;#039;&amp;#039;Lehmer–Schur algorithm&amp;#039;&amp;#039;&amp;#039; (named after [[Derrick Henry Lehmer]] and [[Issai Schur]]) is a [[root-finding algorithm]] extending the idea of enclosing roots like in the one-dimensional [[bisection method]] to the complex plane. It uses the Schur–Cohn test to test increasingly smaller disks for the presence or absence of roots. Alternative methods like Wilf&amp;#039;s algorithm apply different tests to differently shaped areas but keep the idea of descent by subdivision.&lt;br /&gt;
&lt;br /&gt;
==The Lehmer method==&lt;br /&gt;
The Schur–Cohn test described below allows to determine if a polynomial has no roots in the unit disk and in some cases to determine the exact number of roots. The method proposed by Lehmer test for the presence of roots of a polynomial &amp;lt;math&amp;gt;p(z)&amp;lt;/math&amp;gt; on a collection of disks &amp;lt;math&amp;gt;D(c,\rho)&amp;lt;/math&amp;gt; in the complex plane by applying the Schur–Cohn test to the shifted and scaled polynomial &amp;lt;math&amp;gt;p(c+\rho z).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starting with &amp;#039;&amp;#039;c&amp;#039;&amp;#039;=0 and &amp;amp;rho;=1, the radius in increased or decreased by factors of 2 until the annulus &amp;lt;math&amp;gt;\rho\le|z|\le2\rho&amp;lt;/math&amp;gt; is found to contain roots. Then the method is recursively applied to the 8 disks with center  &amp;lt;math&amp;gt;c_k=\frac53\rho e^{i\frac{k\pi}4}&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;k=0,1,\dots,7&amp;lt;/math&amp;gt; and initial radius &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; (originally &amp;lt;math&amp;gt;\frac56\rho&amp;lt;/math&amp;gt;, which is slightly too small to cover the full annulus).&lt;br /&gt;
&lt;br /&gt;
If after some recursions a small disk is found that contains only one root, this root is further approximated using [[Newton&amp;#039;s method]] and then the polynomial is deflated by splitting off the corresponding linear factor. After that, the whole procedure is restarted.&lt;br /&gt;
&lt;br /&gt;
===Schur transformation of polynomials===&lt;br /&gt;
Consider, as before, a polynomial with complex coefficients&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
p(z)=a_n z^n+\dots+a_1 z+a_0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Denote the reverse conjugate polynomial as &amp;lt;math&amp;gt;p^*(z)=z^n\bar p(z^{-1})=z^n\overline p(\bar z^{-1})&amp;lt;/math&amp;gt;.&lt;br /&gt;
Then the Schur transform &amp;lt;math&amp;gt;Tp&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; is the polynomial&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(Tp)(z)=\bar a_0p(z)-a_n p^*(z).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Since the highest degree coefficients cancel, &amp;lt;math&amp;gt;\deg Tp&amp;lt;\deg p&amp;lt;/math&amp;gt;, and the constant coefficient of &amp;lt;math&amp;gt;Tp&amp;lt;/math&amp;gt; is&lt;br /&gt;
&amp;lt;math&amp;gt;\delta_1=(Tp)(0)=|a_0|^2-|a_n|^2.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Lemma&lt;br /&gt;
:If &amp;lt;math&amp;gt;\delta_1&amp;gt;0&amp;lt;/math&amp;gt;, then &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Tp&amp;lt;/math&amp;gt; have the same number of roots inside the unit disk and on the unit circle.&lt;br /&gt;
&lt;br /&gt;
:If &amp;lt;math&amp;gt;\delta_1&amp;lt;0&amp;lt;/math&amp;gt;, then &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; has the same number of roots inside the unit disk as &amp;lt;math&amp;gt;Tp&amp;lt;/math&amp;gt; (and &amp;lt;math&amp;gt;p^*&amp;lt;/math&amp;gt;) has outside, and both have the same number of roots on the unit circle.&lt;br /&gt;
&lt;br /&gt;
This result is a consequence of [[Rouché&amp;#039;s theorem]].&lt;br /&gt;
&lt;br /&gt;
===Schur–Cohn test===&lt;br /&gt;
&lt;br /&gt;
Apply the Schur transform repeatedly, &amp;lt;math&amp;gt;T^{k+1}p=T(T^kp)&amp;lt;/math&amp;gt;, let &amp;#039;&amp;#039;K&amp;#039;&amp;#039; be the first index with &amp;lt;math&amp;gt;T^{K+1}p=0&amp;lt;/math&amp;gt;. Denote &amp;lt;math&amp;gt;d_k=\deg T^kp&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;d_{k+1}&amp;lt;d_k&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\delta_k=(T^kp)(0)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
;Theorem&lt;br /&gt;
:If &amp;lt;math&amp;gt;\delta_k&amp;gt;0&amp;lt;/math&amp;gt; for all &amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;amp;nbsp;=&amp;amp;nbsp;1,&amp;amp;nbsp;2,&amp;amp;nbsp;...,&amp;amp;nbsp;&amp;#039;&amp;#039;K&amp;#039;&amp;#039;, then &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; has no roots inside the unit disk.&lt;br /&gt;
&lt;br /&gt;
:If  &amp;lt;math&amp;gt;\delta_{\bar k}&amp;lt;0&amp;lt;/math&amp;gt; exactly once,  &amp;lt;math&amp;gt;\delta_k&amp;gt;0&amp;lt;/math&amp;gt; for &amp;lt;math&amp;gt;k\ne \bar k&amp;lt;/math&amp;gt;, then &amp;#039;&amp;#039;p&amp;#039;&amp;#039; has &amp;lt;math&amp;gt;d_{\bar k}&amp;lt;/math&amp;gt; roots inside the unit disk.&lt;br /&gt;
&lt;br /&gt;
The first follows from the root number preserving&lt;br /&gt;
property of the Schur transform. For the second, &amp;lt;math&amp;gt;T^{\bar k}p, \dots, T^Kp&amp;lt;/math&amp;gt; have no roots inside the unit disk or on the unit circle. &amp;lt;math&amp;gt;T^{\bar k}p&amp;lt;/math&amp;gt; has &amp;lt;math&amp;gt;d_{\bar k}=\deg T^{\bar k}p&amp;lt;/math&amp;gt; roots outside the unit disk, so that &amp;lt;math&amp;gt;T^{\bar k-1}p&amp;lt;/math&amp;gt; and thus also &amp;lt;math&amp;gt;T^{\bar k-2}p,\dots,Tp,p&amp;lt;/math&amp;gt; have the same number of roots inside the unit disk.&lt;br /&gt;
&lt;br /&gt;
==Variations on the subdivision idea==&lt;br /&gt;
&lt;br /&gt;
===Wilf&amp;#039;s global bisection algorithm===&lt;br /&gt;
&lt;br /&gt;
The aim of this algorithm is to find the roots of a function of one complex variable inside any rectangular region of the function&amp;#039;s [[Holomorphic function|holomorphicity]] (&amp;#039;&amp;#039;i.e.&amp;#039;&amp;#039;, [[Analytic function|analyticity]]).&lt;br /&gt;
&lt;br /&gt;
The rectangle in question is quadrisected into four, [[Congruence (geometry)|congruent]] quarter rectangles. For each quarter, the image of the boundary is a curve in the complex plane. The [[argument principle]] is then applied to this path to find the [[winding number]] about the origin. Given that the function is [[Analytic function|analytic]] within each of these quarters, a nonzero [[winding number]] &amp;#039;&amp;#039;N&amp;#039;&amp;#039; (always an integer) identifies &amp;#039;&amp;#039;N&amp;#039;&amp;#039; zeros of the function inside the quarter in question by [[Rouché&amp;#039;s theorem]], each zero counted as many times as its [[Multiplicity (mathematics)|multiplicity]].&lt;br /&gt;
&lt;br /&gt;
Analogously with the bisection method,  the algorithm is then applied recursively to any quarter whose boundary has nonzero winding number to further refine the estimates of the zeros. The recursion is repeated until the zero-containing rectangles are either small enough that their centres give sufficiently accurate zero estimates or, alternatively, that another root-finding algorithm can be applied to the estimates to further refine them.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Cite check|date=June 2011}}&lt;br /&gt;
* {{citation&lt;br /&gt;
|author= D. H. Lehmer,&lt;br /&gt;
|title=A Machine Method for Solving Polynomial Equations&lt;br /&gt;
|journal=Journal of the ACM&lt;br /&gt;
|volume=8,&lt;br /&gt;
|number=2&lt;br /&gt;
|date=April 1961&lt;br /&gt;
|pages=151–162&lt;br /&gt;
|doi=10.1145/321062.321064&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* {{citation&lt;br /&gt;
|author=Herbert S. Wilf&lt;br /&gt;
|title=A Global Bisection Algorithm for Computing the Zeros of Polynomials in the Complex Plane&amp;quot;&lt;br /&gt;
|journal=Journal of the ACM&lt;br /&gt;
|year=1978&lt;br /&gt;
|volume=25&lt;br /&gt;
|number=3&lt;br /&gt;
|doi=10.1145/322077.322084&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* {{citation&lt;br /&gt;
|author=Acton, Foreman S.&lt;br /&gt;
|title=Numerical Methods That Work&lt;br /&gt;
|year=1970&lt;br /&gt;
|publication-date=1990&lt;br /&gt;
|edition=corrected&lt;br /&gt;
|place=Washington&lt;br /&gt;
|publisher=[[Mathematical Association of America]]&lt;br /&gt;
|chapter=Chapter 7&lt;br /&gt;
|isbn=0-88385-450-3}}.&lt;br /&gt;
&lt;br /&gt;
*  {{citation&lt;br /&gt;
|author1=W. H. Press&lt;br /&gt;
|author2=B. P. Flannery&lt;br /&gt;
|author3=S. A. Teukolsky&lt;br /&gt;
|author4=W. T. Vetterling&lt;br /&gt;
|title=[[Numerical Recipes|Numerical Recipes in C: The Art of Scientific Computing]]&lt;br /&gt;
|publisher=Cambridge University Press&lt;br /&gt;
|year=1992&lt;br /&gt;
|chapter=9.5 Roots of Polynomials&lt;br /&gt;
|page=369&lt;br /&gt;
|ISBN=0-521-43108-5&lt;br /&gt;
|url=http://www.nrbook.com/a/bookcpdf.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://svn.ece.lsu.edu/svn/dmk/trunk/benchmarks/simtools/scpu2k/gap/polystff.g GAP Library, Lehrstuhl D fuer Mathematik,  RWTH Aachen,  Germany]&lt;br /&gt;
*  [[Jan van Leeuwen]] (January 1979): [http://www.cs.uu.nl/research/techreps/repo/CS-1979/1979-01.pdf &amp;quot;On program efficiency and algebraic complexity&amp;quot;] (or: how to compute the Schur transform of a complex polynomial). technical report RUU-CS-79~1. Department of Computer Science, University of Utrecht&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Lehmer-Schur Algorithm}}&lt;br /&gt;
[[Category:Root-finding algorithms]]&lt;/div&gt;</summary>
		<author><name>en&gt;Rich Farmbrough</name></author>
	</entry>
</feed>