Proximity effect (superconductivity): Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Addbot
m Bot: Migrating 1 interwiki links, now provided by Wikidata on d:q7252874
No edit summary
 
Line 1: Line 1:
In [[numerical analysis]], '''Steffensen's method''' is a [[root-finding method]], similar to [[Newton's method]], named after [[Johan Frederik Steffensen]]. '''Steffensen's method''' also achieves [[order of convergence|quadratic convergence]], but without using [[derivative]]s as [[Newton's method]] does.
Alyson  tarot card readings ([http://hknews.classicmall.com.hk/groups/some-simple-tips-for-personal-development-progress/ related web site]) is what my spouse loves to contact me but I don't like when individuals use my full title. What me and my family members adore is [http://formalarmour.com/index.php?do=/profile-26947/info/ telephone psychic] bungee leaping but I've been using on new issues lately. For a while I've been in Mississippi but now I'm contemplating other choices. She functions as a journey agent but soon she'll be on her own.<br><br>Feel free to surf to my web-site online psychic chat, [http://165.132.39.93/xe/visitors/372912 165.132.39.93],
 
==Simple description==
The simplest form of the formula for Steffensen's method occurs when it is used to find the zeros, or roots, of a function <math>f</math>&nbsp;; that is: to find the input value  <math>x_\star</math>  that satisfies <math>f(x_\star)=0</math>&nbsp;. Near the solution  <math>x_\star</math>&nbsp;, the function <math>f</math> is supposed to approximately satisfy  <math>-1 < f'(x_\star) < 0</math>&nbsp;; this condition makes the function  <math>f</math>  adequate as a correction for finding its ''own'' solution, although it is not required to work efficiently. For some functions, Steffensen's method can work even if this condition is not met, but in such a case, the starting value <math>x_0\ </math> must be ''very'' close to the actual solution  <math>x_\star</math>&nbsp;, and convergence to the solution may be slow.
 
Given an adequate starting value  <math>x_0\ </math>&nbsp;, a sequence of values  <math>x_0,\ x_1,\ x_2,\dots,\ x_n,\dots</math>  can be generated using the formula below. When it works, each value in the sequence is much closer to the solution  <math>x_\star</math>  than the prior value. The value <math>x_n\ </math> from the current step generates the value  <math>x_{n+1}\ </math> for the next step, via this formula:<ref>[[Germund Dahlquist]], Åke Björck, tr. Ned Anderson (1974) ''Numerical Methods'', pp.&nbsp;230&ndash;231, Prentice Hall, Englewood Cliffs, NJ</ref>
 
:<math>x_{n+1} = x_n - \frac{f(x_n)}{g(x_n)}</math>
 
for ''n''&nbsp;=&nbsp;0, 1, 2, 3, ...&nbsp;, where the slope function <math>g(x_n)</math> is a composite of the original function  <math>f</math>  given by the following formula:
 
:<math>g(x_n) = \frac{f(x_n + f(x_n)) - f(x_n)}{f(x_n)}.</math>
 
The function  <math>g</math>  is the average slope of the function  <math>f</math>  between the last sequence point  <math>(x,y)=( x_n,\ f(x_n) )</math>  and the auxiliary point  <math>(x,y)=( x_n + h,\ f(x_n + h) )</math>&nbsp;, with the step  <math>h=f(x_n)\ </math>&nbsp;.
 
It is only for the purpose of finding  <math>h</math>  for this auxiliary point that the value of the function  <math>f</math>  must be an adequate correction to get closer to its own solution, and for that reason fulfill the requirement that  <math>-1 < f'(x_\star) < 0 </math>&nbsp;. For all other parts of the calculation, Steffensen's method only requires the function <math>f</math> to be continuous and to actually have a nearby solution. Several modest modifications of the step  <math>h</math>  in the slope calculation  <math>g</math>  exist to accommodate functions <math>f</math> that do not quite meet the requirement.
 
==Advantages and drawbacks==
The main advantage of Steffensen's method is that it has [[quadratic convergence]] like [[Newton's method]] &ndash; that is, both methods find roots to an equation <math>f</math> just as 'quickly'. In this case ''quickly'' means that for both methods, the number of correct digits in the answer doubles with each step. But the formula for Newton's method requires a separate function for the derivative; Steffensen's method does not. So Steffensen's method can be programmed for a generic function, as long as that function meets the constraints mentioned above.
 
The price for the quick convergence is the double function evaluation: both <math>f(x_n)</math> and <math>f(x_n + h)</math> must be calculated, which might be time-consuming if <math>f</math> is a complicated function. For comparison, the [[secant method]] needs only one function evaluation per step, so with two function evaluations the secant method can do two steps, and two steps of the secant method increase the number of correct digits by a factor of 1.6&nbsp;. The equally time-consuming single step of Steffensen's (or Newton's) method increases the correct digits by a factor of 2 &ndash; only slightly better.
 
Similar to [[Newton's method]] and most other [[Quadratic convergence|quadratically convergent]] algorithms, the crucial weakness in Steffensen's method is the choice of the starting value <math>x_0</math>&nbsp;. If the value of <math>x_0</math> is not 'close enough' to the actual solution <math>x_\star</math>&nbsp;, the method may fail and the sequence of values <math>x_0, x_1, x_2, x_3,\dots</math> may either flip flop between two extremes, or diverge to infinity (possibly both!).
 
==Derivation using Aitken's delta-squared process==
The version of Steffensen's method implemented in the [[MATLAB]] code shown below can be found using the [[Aitken's delta-squared process]] for accelerating convergence of a sequence. To compare the following formulae to the formulae in the section above, notice that <math>x_n = p\ -\ p_n</math>&nbsp;. This method assumes starting with a linearly convergent sequence and increases the rate of convergence of that sequence. If the signs of <math>p_n,\ p_{n+1},\ p_{n+2}</math> agree and <math>p_n\ </math> is sufficiently close to the desired limit of the sequence <math>p\ </math>, we can assume the following:
 
:<math>\frac{p_{n+1}-p}{p_n-p}\approx\frac{p_{n+2}-p}{p_{n+1}-p}</math>
then
:<math>(p_{n+1}-p)^2\approx(p_{n+2}-p)(p_n-p)</math>
so
:<math>p_{n+1}^2-2p_{n+1}p+p^2\approx p_{n+2}p_n-(p_n+p_{n+2})p+p^2</math>
and hence
:<math>(p_{n+2}-2p_{n+1}+p_n)p\approx p_{n+2}p_n-p_{n+1}^2</math>&nbsp;.
<br>
Solving for the desired limit of the sequence <math>p</math> gives:
<br>
:<math>p\approx \frac{p_{n+2}p_n-p_{n+1}^2}{p_{n+2}-2p_{n+1}+p_n}</math>
<br>
:<math>=\frac{p_{n}^2+p_{n}p_{n+2}+2p_{n}p_{n+1}-2p_{n}p_{n+1}-p_{n}^2-p_{n+1}^2}{p_{n+2}-2p_{n+1}+p_n}</math>
<br>
:<math>=\frac{(p_{n}^2+p_{n}p_{n+2}-2p_{n}p_{n+1})-(p_{n}^2-2p_{n}p_{n+1}+p_{n+1}^2)}{p_{n+2}-2p_{n+1}+p_n}</math>
<br>
:<math>=p_n-\frac{(p_{n+1}-p_n)^2}{p_{n+2}-2p_{n+1}+p_n},</math>
<br>
which results in the more rapidly convergent sequence:
<br>
 
:<math>p\approx p_{n+3}=p_n-\frac{(p_{n+1}-p_n)^2}{p_{n+2}-2p_{n+1}+p_n}.</math>
 
==Implementation in Matlab==
 
Here is the source for an implementation of Steffensen's Method in [[MATLAB]].
 
<source lang="matlab">
function Steffensen(f,p0,tol)
% This function takes as inputs: a fixed point iteration function, f,
% and initial guess to the fixed point, p0, and a tolerance, tol.
% The fixed point iteration function is assumed to be input as an
% inline function.
% This function will calculate and return the fixed point, p,
% that makes the expression f(x) = p true to within the desired
% tolerance, tol.
 
format compact % This shortens the output.
format long    % This prints more decimal places.
 
for i=1:1000  % get ready to do a large, but finite, number of iterations.
              % This is so that if the method fails to converge, we won't
              % be stuck in an infinite loop.
    p1=f(p0);  % calculate the next two guesses for the fixed point.
    p2=f(p1);
    p=p0-(p1-p0)^2/(p2-2*p1+p0) % use Aitken's delta squared method to
                                % find a better approximation to p0.
    if abs(p-p0)<tol  % test to see if we are within tolerance.
        break        % if we are, stop the iterations, we have our answer.
    end
    p0=p;              % update p0 for the next iteration.
end
if abs(p-p0)>tol      % If we fail to meet the tolerance, we output a
                      % message of failure.
    'failed to converge in 1000 iterations.'
end
</source>
 
==Generalization==
Steffensen's method can also be used to find an input <math>x = x_\star</math> for a different kind of function  <math>F</math>  that produces output the same as its input:  <math>x_\star = F(x_\star)</math>  for the special value <math>x_\star</math>&nbsp;. Solutions like  <math>x_\star</math>  are called ''[[fixed point (mathematics)|fixed point]]s''. Many such functions can be used to find their own solutions by repeatedly recycling the result back as input, but the rate of convergence can be slow, or the function can fail to converge at all, depending on the individual function. Steffensen's method accelerates this convergence, to make it [[quadratic convergence|quadratic]].
 
This method for finding fixed points of a real-valued function has been generalised for functions  <math>F : X \to X </math> on a [[Banach space]]  <math>X</math>&nbsp;. The generalised method assumes that a  [[Indexed family|family]] of [[Bounded set|bounded]] [[linear operators]]  <math>\{L(u,v): u, v \in X\}</math>  associated with  <math>u\ </math>  and  <math>v\ </math>  can be found to satisfy the condition<ref>L. W. Johnson; D. R. Scholz (1968) On Steffensen's Method, ''SIAM Journal on Numerical Analysis'' (June 1968), vol.&nbsp;5, no.&nbsp;2., pp.&nbsp;296&ndash;302. Stable URL: [http://links.jstor.org/sici?sici=0036-1429%28196806%295%3A2%3C296%3AOSM%3E2.0.CO%3B2-H]</ref>
 
:<math>F(u)- F(v)=L(u,v)\ (u-v).</math>
 
In the simple form given in the section above, the function  <math>f</math>  simply takes in and produces real numbers. There, the function  <math>g</math>  is a ''[[divided difference]]''. In the generalized form here, the operator  <math>L\ </math>  is the analogue of a divided difference for use in the [[Banach space]].
 
Steffensen's method is then very similar to the Newton's method, except that it uses the divided difference<math>L(F(x),x)\ </math> instead of the derivative  <math>F'(x)\ </math>&nbsp;. It is thus defined by
 
: <math>x_{n+1} = x_n + [I - L(F(x_n), x_n)]^{-1}(F(x_n) - x_n),\ </math>
 
for  <math>n=1,\ 2,\ 3,\ ...</math>&nbsp;, and where  <math>I\ </math>  is the identity operator.
 
If the operator  <math>L\ </math>  satisfies
 
: <math>\|L(u,v) - L(x,y)\| \le K \big( \|u-x\| + \|v-y\| \big)</math>
 
for some constant <math>K\ </math>&nbsp;, then the method converges quadratically to a fixed point of <math>F</math> if the initial approximation  <math>x_0\ </math>  is "sufficiently close" to the desired solution  <math>x_\star</math>&nbsp;, that satisfies  <math>x_\star = F(x_\star)</math>&nbsp;.
 
==References==
<references />
 
[[Category:Root-finding algorithms]]

Latest revision as of 11:59, 10 February 2014

Alyson tarot card readings (related web site) is what my spouse loves to contact me but I don't like when individuals use my full title. What me and my family members adore is telephone psychic bungee leaping but I've been using on new issues lately. For a while I've been in Mississippi but now I'm contemplating other choices. She functions as a journey agent but soon she'll be on her own.

Feel free to surf to my web-site online psychic chat, 165.132.39.93,