|
|
Line 1: |
Line 1: |
| {{No footnotes|date=February 2012}}
| |
| In the [[mathematics|mathematical]] subfield of [[numerical analysis]], '''numerical stability''' is a desirable property of [[numerical algorithm]]s. The precise definition of stability depends on the context, but it is derived from the accuracy of the algorithm.
| |
|
| |
|
| An [[opposite (semantics)|opposite]] phenomenon is '''instability'''. Typically, algorithms would approach the right solution in the limit, if there were no round-off or truncation errors, but depending on the specific computational method, errors can be magnified, instead of damped, causing the error to grow exponentially. <ref>{{cite book | title=Numerical Algorithms with C | author=Giesela Engeln-Müllges, Frank Uhlig , M. Schon (Translator), F. Uhlig (Translator) | year=1 edition (July 2, 1996) | publisher=Springer | pages=10 | isbn=978-3540605300 | url=http://books.google.gr/books?id=HurESoDQljcC&pg=PA10#v=onepage&q&f=false}}</ref>
| |
|
| |
|
| Sometimes a single calculation can be achieved in several ways, all of which are algebraically equivalent in terms of ideal real or complex numbers, but in practice when performed on digital computers yield different results. Some calculations might damp out approximation errors that occur; others might magnify such errors. Calculations that can be proven not to magnify approximation errors are called ''numerically stable''. One of the common tasks of numerical analysis is to try to select algorithms which are ''robust'' – that is to say, have good numerical stability among other desirable properties.
| | Do you want to get entire benefit of dynamic webpage development through MS ASP or Or net.Net scripting languages? In this case website hosting with ASP is use have determine for sure. No way is it possible to get the hundred percent benefits in the ASP or ASP.Net without hosting platform based on ASP.<br><br>Step 7- Compensation intend! Lets be honest. The only reason you pursue a Home business enterprise is a person want bankroll! So. make sure to know all there is centered on each comp plan. This is where you can easily secure the money you would certainly receive.<br><br>B.Your budget: You require at least 150 to 200 dollars to make one all those. Although cheaper alternatives really exist since your poultry is 10 chickens big you have little choice here.<br><br><br><br>ASP based scripting is most as well as it is really a universal foreign language. So there is almost no problem to go for web hosting with Or net. The easy and universal scripting can directly be connected with the server without too much knowledge of so some other things the bootcamp really is effective. For example, if you for you to work with PHP you need to gather knowledge in apache server, "XAMPP" and lot many other things. But ASP is a language that can as easily as the HTML and often will be rendered by anyone.<br><br>You at the price agreed for when you you demand it (unless undoubtedly you choose to add on more services!). Regular employees carry and endless choice of invisible costs; they have holiday, they need sick time, they need training, and may they have children they'll need at all extra time off as clearly. You'll never have that gap as part of your it support. They certainly do keep on holiday, get sick, maintain children, but there can be be someone available who understands your condition and can fix it in an immensely short length of time.<br><br>Now, when a small company leader finds your website and subscribes for your Tech Newsletter, it's not going noticable the sale then-and-there without treatment. But here's this really will practice.<br><br>It's much too easy to order much much more than you need, especially are usually hit a tremendously great school supply transaction. Still, be careful about overbuying, and when you do buy above and beyond you need, make sure you guarantee that it stays on hand for take better care. One great thing about school supplies - they don't spoil. Keep good tabs on your extra supplies.<br><br>When everything comes in order to it, you'll find that techniques only a small handful of effective Forex Training Guides. Some will it is just come in order to meeting these four simple standards. FapTurbo, the best Forex Trading guide actually gives you 2 months to try the gadget. This means this system works with regard to you before an individual it.<br><br>In the event you liked this post and also you would want to acquire more info with regards to [http://www.amj-uk.com/-IT-Support-.html AMJ IT Support] kindly pay a visit to the internet site. |
| | |
| ==Example==
| |
| As an example of an unstable algorithm, consider the task of adding an array of 100 numbers. To simplify things, assume our computer only has two [[significant figures]] (for example, numbers can be represented as 2.3, 77, 100, 110, 120, etc., but not 12.3 or 177).
| |
| | |
| The naive way to do this would be the following:
| |
| <code> | |
| '''function''' sumArray(array) '''is'''
| |
| '''let''' theSum = 0
| |
| '''for each''' element '''in''' array '''do'''
| |
| '''let''' theSum = theSum + element
| |
| '''end for'''
| |
| '''return''' theSum
| |
| '''end function'''</code>
| |
| | |
| That looks reasonable, but suppose the first element in the array was 1.0 and the other 99 elements were 0.01. In exact arithmetic, the answer would be 1.99. However, on our two-digit computer, once the 1.0 was added into the sum variable, adding in 0.01 would have no effect on the sum, and so the final answer would be 1.0 – not a very good approximation of the real answer. Furthermore, we see that the algorithm depends on the ordering of elements within the array, in contrast to the exact arithmetic.
| |
| | |
| An example of a stable algorithm in this specific case is one that first sorts the array by the absolute values of the elements in ascending order and then sums them up using the pseudo code given above. This ensures that the numbers closest to zero will be taken into consideration first. Once that change is made, all of the 0.01 elements will be added, giving 0.99, and then the 1.0 element will be added, yielding a rounded result of 2.0 – a much better approximation of the real result.
| |
| | |
| However, for a larger array or for a computer with worse accuracy, sorting the array before adding the numbers together may not be enough. Consider for example the same task as above but with an array consisting of 1000 numbers instead of 100, and where all numbers have the value 1. In this case, sorting the numbers before summing them together will not have any effect since the numbers are all equally large. Once the calculated sum has reached 100, adding another number to it will no longer have any effect since the addition would be truncated down to 100 again. The calculated sum will therefore stop at 100, which is a very bad approximation of the actual sum which is 1000.
| |
| | |
| Instead, a stable algorithm for solving this more general problem can for example be a [[divide and conquer algorithm]] where the array is recursively split into two parts for which the sum is calculated respectively, and where these two sums then are summed together to give the final sum.
| |
| | |
| ==Forward, backward, and mixed stability==
| |
| There are different ways to formalize the concept of stability. The following definitions of forward, backward, and mixed stability are often used in [[numerical linear algebra]].
| |
| | |
| [[Image:Forward and backward error.svg|frame|Diagram showing the '''forward error''' Δ''y'' and the '''backward error''' Δ''x'', and their relation to the exact solution map {{mvar|f}} and the numerical solution {{mvar|f}}*.]]
| |
| | |
| Consider the problem to be solved by the numerical algorithm as a [[function (mathematics)|function]] {{mvar|f}} mapping the data {{mvar|x}} to the solution {{mvar|y}}. The result of the algorithm, say {{mvar|y}}*, will usually deviate from the "true" solution {{mvar|y}}. The main causes of error are [[round-off error]] and [[truncation error]]. The ''forward error'' of the algorithm is the difference between the result and the solution; in this case, {{math|1=Δ''y'' = ''y''* − ''y''}}. The ''backward error'' is the smallest Δ{{mvar|x}} such that {{math|1=''f'' (''x'' + Δ''x'') = ''y''*}}; in other words, the backward error tells us what problem the algorithm actually solved. The forward and backward error are related by the [[condition number]]: the forward error is at most as big in magnitude as the condition number multiplied by the magnitude of the backward error.
| |
| | |
| In many cases, it is more natural to consider the [[relative error]]
| |
| :<math> \frac{|\Delta x|}{|x|} </math>
| |
| instead of the absolute error Δ{{mvar|x}}.
| |
| | |
| The algorithm is said to be ''backward stable'' if the backward error is small for all inputs {{mvar|x}}. Of course, "small" is a relative term and its definition will depend on the context. Often, we want the error to be of the same order as, or perhaps only a few [[orders of magnitude]] bigger than, the [[unit round-off]].
| |
| | |
| [[Image:Mixed stability diagram.svg|thumb|Mixed stability combines the concepts of forward error and backward error.]]
| |
| | |
| The usual definition of numerical stability uses a more general concept, called ''mixed stability'', which combines the forward error and the backward error. An algorithm is stable in this sense if it solves a nearby problem approximately, i.e., if there exists a Δ{{mvar|x}} such that both Δ{{mvar|x}} is small and {{math|''f'' (''x'' + Δ''x'') − ''y''*}} is small. Hence, a backward stable algorithm is always stable.
| |
| | |
| An algorithm is ''forward stable'' if its forward error divided by the condition number of the problem is small. This means that an algorithm is forward stable if it has a forward error of magnitude similar to some backward stable algorithm.
| |
| | |
| ==Error growth==
| |
| [[Image:errorgrowth.jpg|300px|thumb|right|Comparing the linear error growth of a stable algorithm and the exponential error growth of an unstable algorithm used to solve the same problem, with the same initial data.]]
| |
| | |
| Suppose that {{math|''E''<sub>''i''</sub> > 0}} denotes an initial error and {{math|''E''<sub>''n''</sub>}} represents the magnitude of an error after {{mvar|n}} subsequent operations. If {{math|''E''<sub>''n''</sub> ∼ ''C''∙''n''∙''E''<sub>''i''</sub>}}, where {{mvar|C}} is a constant independent of {{mvar|n}}, then the [[asymptotic analysis|growth]] of the error is said to be ''linear''. If {{math|''E''<sub>''n''</sub> ∼ ''C''<sup>''n''</sup>∙''E''<sub>''i''</sub>}}, for some {{math|''C'' > 1}}, then the growth of the error is called [[exponential growth|''exponential'']].
| |
| | |
| ==Stability in numerical differential equations==
| |
| The above definitions are particularly relevant in situations where truncation errors are not important. In other contexts, for instance when solving [[differential equation]]s, a different definition of numerical stability is used.
| |
| | |
| In [[numerical ordinary differential equations]], various concepts of numerical stability exist, for instance [[A-stability]]. They are related to some concept of stability in the [[dynamical systems]] sense, often [[Lyapunov stability]]. It is important to use a stable method when solving a [[stiff equation]].
| |
| | |
| Yet another definition is used in [[numerical partial differential equations]]. An algorithm for solving a linear evolutionary [[partial differential equation]] is stable if the [[total variation]] of the numerical solution at a fixed time remains bounded as the step size goes to zero. The [[Lax equivalence theorem]] states that an algorithm converges if it is consistent and stable (in this sense). Stability is sometimes achieved by including [[numerical diffusion]]. Numerical diffusion is a mathematical term which ensures that roundoff and other errors in the calculation get spread out and do not add up to cause the calculation to "blow up". [[Von Neumann stability analysis]] is a commonly used procedure for the stability analysis of [[finite difference scheme]]s as applied to linear partial differential equations. These results do not hold for nonlinear PDEs, where a general, consistent definition of stability is complicated by many properties absent in linear equations.
| |
| | |
| ==See also==
| |
| * [[Algorithms for calculating variance]]
| |
| * [[Stability theory]]
| |
| * [[Chaos theory]]
| |
| | |
| ==References==
| |
| {{reflist}}
| |
| *[[Nicholas J. Higham]], ''Accuracy and Stability of Numerical Algorithms'', Society of Industrial and Applied Mathematics, Philadelphia, 1996. ISBN 0-89871-355-2.
| |
| *Richard L. Burden and J. Douglas Faires, ''Numerical Analysis 8th Edition'', Thomson Brooks/Cole, U.S., 2005. ISBN 0-534-39200-8
| |
| | |
| {{DEFAULTSORT:Numerical Stability}}
| |
| [[Category:Numerical analysis]]
| |
Do you want to get entire benefit of dynamic webpage development through MS ASP or Or net.Net scripting languages? In this case website hosting with ASP is use have determine for sure. No way is it possible to get the hundred percent benefits in the ASP or ASP.Net without hosting platform based on ASP.
Step 7- Compensation intend! Lets be honest. The only reason you pursue a Home business enterprise is a person want bankroll! So. make sure to know all there is centered on each comp plan. This is where you can easily secure the money you would certainly receive.
B.Your budget: You require at least 150 to 200 dollars to make one all those. Although cheaper alternatives really exist since your poultry is 10 chickens big you have little choice here.
ASP based scripting is most as well as it is really a universal foreign language. So there is almost no problem to go for web hosting with Or net. The easy and universal scripting can directly be connected with the server without too much knowledge of so some other things the bootcamp really is effective. For example, if you for you to work with PHP you need to gather knowledge in apache server, "XAMPP" and lot many other things. But ASP is a language that can as easily as the HTML and often will be rendered by anyone.
You at the price agreed for when you you demand it (unless undoubtedly you choose to add on more services!). Regular employees carry and endless choice of invisible costs; they have holiday, they need sick time, they need training, and may they have children they'll need at all extra time off as clearly. You'll never have that gap as part of your it support. They certainly do keep on holiday, get sick, maintain children, but there can be be someone available who understands your condition and can fix it in an immensely short length of time.
Now, when a small company leader finds your website and subscribes for your Tech Newsletter, it's not going noticable the sale then-and-there without treatment. But here's this really will practice.
It's much too easy to order much much more than you need, especially are usually hit a tremendously great school supply transaction. Still, be careful about overbuying, and when you do buy above and beyond you need, make sure you guarantee that it stays on hand for take better care. One great thing about school supplies - they don't spoil. Keep good tabs on your extra supplies.
When everything comes in order to it, you'll find that techniques only a small handful of effective Forex Training Guides. Some will it is just come in order to meeting these four simple standards. FapTurbo, the best Forex Trading guide actually gives you 2 months to try the gadget. This means this system works with regard to you before an individual it.
In the event you liked this post and also you would want to acquire more info with regards to AMJ IT Support kindly pay a visit to the internet site.