text:
# Dynamic software test procedure

Dynamic software test procedures are specific test methods used to detect errors in the software using software tests . In particular, program errors should be recognized that occur as a function of dynamic runtime parameters, such as varying input parameters, runtime environment or user interaction.

## description

While the software to be tested is not executed with static methods ( compile time ), dynamic methods require the software to be executable ( runtime ). The basic principle of the dynamic procedure is the controlled execution of the software to be tested with systematically defined input data (test cases). For each test case, the expected output data are also given in addition to the input data. The output data generated by the test run is compared with the expected data. If there is a discrepancy, there is an error

The main task of the individual procedures is to determine suitable test cases for testing the software .

The dynamic procedures can be categorized as follows:

## Specification-oriented procedures

Specification-oriented or black-box procedures (previously function-oriented test methods) are used to determine test cases with which the extent to which the test item (also called test item, test object or test item ) fulfills the specified specifications (black box). One also speaks of testing “against the specifications”. Depending on the test specimen and test type, the specifications are of different types. B. tested against the module specification, in the interface test against the interface specification and in the acceptance test against the technical requirements, such as those laid down in a specification.

### Equivalence class formation

When creating equivalence classes , the possible values of the inputs (or also of the outputs) are divided into classes, from which it can be assumed that errors that occur when processing a value from this class also occur with all other representatives of the class. On the other hand, if a representative of the class is processed correctly, it is assumed that the input of all other elements of the class does not lead to errors either. In this respect, the values of a class can be viewed as (in this respect) equivalent to one another.

The test cases are created on the basis of the equivalence classes. To test the valid equivalence classes, the test data are generated from as many valid equivalence classes as possible. In order to test the invalid equivalence classes, a test date from an invalid equivalence class is combined with only valid test data from the other equivalence classes.

1. the basis for the limit value analysis is
2. represents a suitable method for deriving representative test cases from specifications.

The disadvantage is that only individual entries are considered. Relationships or interactions between values are not covered.

#### example

The specification of an online banking system requires that only amounts between € 0.01 and € 500 may be entered. One can then assume that a transfer of € 123.45 will be accepted and executed correctly if a test has shown that a transfer of € 123.44 is correctly executed. In general, it can be assumed that all amounts from € 0.01 to € 500.00 are processed correctly if this is the case for any amount from this range. It is therefore sufficient to test any representative from the field in order to track down a possible error.

In the same way one can argue for negative values and for values greater than 500 €. For tests it should therefore be sufficient to form three equivalence classes (one valid and two invalid equivalence classes):

• Values from 0.01 up to and including 500.00 € (valid)
• Values less than or equal to zero (invalid)
• Values greater than € 500.00 (invalid)

Every transfer in the online banking system must be authorized by entering a TAN. Similar to the first equivalence class, four equivalence classes can be created here for entering the TAN:

• Enter a correct TAN
• Entering an incorrect TAN
• Enter a TAN that is too short
• Enter too long TAN

The following test cases are defined on the basis of the two equivalence classes:

• Enter a valid value (e.g. € 123.45) and confirm with a correct TAN (carried out because everything is correct.)
• Enter a valid value (e.g. € 123.45) and confirm with a wrong TAN (failed because wrong TAN.)
• Enter an invalid value (e.g. € 600.00) and confirm with a correct TAN (failed because invalid value.)
• Enter a valid value (e.g. € 123.45) and confirm with a TAN that is too short (failed because TAN is too short.)
• Enter a valid value (e.g. € 123.45) and confirm with a TAN that is too long (failed because TAN is too long.)

With the formation of equivalence classes it is not possible to take into account dependencies between different input values. For example, when checking an entered address, it is not sufficient to check for place names, street names and postcodes (e.g. using a database) whether they belong to the class of valid values. They also have to go together.

### Limit value analysis

The limit value analysis is a special case of the equivalence class analysis. It arose from the observation that errors occur particularly frequently at the "edges" of the equivalence classes. Therefore, not arbitrary values are tested here, but so-called boundary values or limit values. In the example these would be the values

• 0.00 € (invalid entry)
• € 0.01 (valid entry)
• 500.00 € (valid entry)
• € 500.01 (invalid entry)

### Pairwise method

The Pairwise method is a method to reduce the number of tests of combinations of several input values by not testing all possible combinations. Instead, each input value of one field is tested in pairs with each input value of the other fields. This radically reduces the number of tests required, but of course also means that errors may not be discovered that only occur with very specific combinations of more than two fields.

### State-based test methods

State- based test methods are based on state machines , which today are often represented as UML diagrams .

In the description of the state machine no error cases are usually provided. These must also be specified by adding “{initial state; Event} “(also the combinations not specified in the machine) the subsequent state and the triggered actions can be specified. These combinations can then all be tested. In addition to technical applications, state-based methods can also be used for testing graphical user interfaces and classes that are defined by state machines.

The test cases determined in this way are complete if all of the following criteria are met:

• Are all state transitions going through?
• Are all events that are supposed to cause state transitions tested?
• Are all events that are not allowed to cause state transitions tested?

### Cause and effect analysis

This method identifies the causes and effects of each sub-specification. One cause is a single input condition or an equivalence class of input conditions; an effect is an output condition or a system transformation.

The partial specification is converted into a Boolean graph that connects causes and effects through logical links. The graph is then supplemented with dependencies due to syntactic constraints or environmental conditions. The following types of dependencies between causes are distinguished:

1. Exclusive dependency: the presence of one cause excludes other causes.
2. Inclusive relationship: at least one of several causes is present (e.g. a traffic light is always green, yellow or red - or red and yellow together. If it works and is switched on).
3. One-and-only-one relationship: There is exactly one of several causes (e.g. male or female).
4. Requires dependency: The presence of one cause is a prerequisite for the presence of another (e.g. age> 21 and age> 18).
5. Masking dependency: One cause prevents another cause from occurring.

The resulting graph is transformed into a decision table. In doing so, certain rules are applied that generate n + 1 test cases from a combination of n causes (instead of , as would be the case with a complete decision table). Each test case corresponds to a column in the decision table. ${\ displaystyle 2 ^ {n}}$

## Structure-oriented procedures

Structure-oriented or white box procedures determine test cases based on the software source code (white box test ).

Software modules contain data that is processed and control structures that control the processing of the data. Accordingly, a distinction is made between tests that are based on the control flow and tests that are based on data access.

Control flow-oriented tests refer to logical expressions of the implementation. Data flow-oriented criteria focus on the data flow of the implementation. Strictly speaking, they focus on the way in which the values are connected to their variables and how these statements affect the execution of the implementation.

### Control flow oriented tests

The control flow-oriented test procedures are based on the control flow graph of the program. A distinction is made between the following types:

• Statement coverage
• Edge overlap (branch overlap)
• Condition coverage
• Path coverage

### Data flow oriented tests

Data flow-oriented test methods are based on the data flow, i.e. access to variables. They are particularly suitable for object-oriented systems.

There are different criteria for the data flow-oriented tests, which are described below.

All defs criterion For each definition (all defs) of a variable, a calculation or condition is tested. A definition-free path to an element must be tested for each node and each variable. The error detection rate for this criterion is around 24%.

All-p-uses criterion The "p-uses" are used to form truth values within a predicate (predicate-uses). The error detection rate for this criterion is around 34%. In particular, control flow errors are recognized.

All-c-uses criterion The “c-uses criterion” is understood to mean the calculation (computation-uses) of values within an expression. This criterion reveals approx. 48% of all c-uses errors. In particular, it identifies calculation errors.

Because of their complexity, the techniques for data flow-oriented test case determination can only be used with the aid of tools. However, since there are hardly any tools, they are of no practical relevance at the moment.

## Diversifying test methods

The group of diversifying tests comprises a set of test techniques that test different versions of software against each other. There is no comparison between the test results and the specification, but a comparison of the test results of the different versions. A test case is considered to have been passed if the outputs of the different versions are identical. In contrast to the function- and structure-oriented test methods, no completeness criterion is specified. The necessary test data are created using one of the other techniques, randomly or by recording a user session.

The diversifying tests avoid the often time-consuming assessment of the test results based on the specification. This naturally harbors the risk that an error which produces the same result in the versions to be compared will not be recognized. Due to the simple comparison, such tests can be automated very well.

### Back-to-back test

In the back-to-back test , different versions to be tested against each other arise from the n-version programming , i.e. H. the programming of different versions of a software according to the same specification. The independence of the programming team is a basic requirement.

This method is very expensive and only justified if the security requirements are correspondingly high.

### Mutation test

The mutation test is not a test technique in the narrower sense, but a test of the performance of other test methods and the test cases used. The different versions are created by artificially inserting typical errors. It is then checked whether the test method used finds these artificial errors with the existing test data. If an error is not found, the test data is expanded to include corresponding test cases. This technique is based on the assumption that an experienced programmer usually only makes "typical" mistakes.

### Regression test

Due to the ambiguous use of the term, a separate article is dedicated to the regression test .

## Individual evidence

1. Richard H. Kölb: Software Quality: Five Principles of dynamic software testing. Elektronik-Praxis, June 11, 2008, accessed on June 3, 2015 : “The aim of dynamic software tests is to let a program or parts of it run in a controlled manner and thereby track down incorrect behavior. It goes without saying that the enormous variety of programs comes with numerous test variations. Nevertheless, there are a number of principles that can be used for almost all tests. "
2. Chandra Kurnia Jaya: Validation and testing of safety-critical systems. University of Siegen Verification, p. 11 , accessed on June 16, 2015 .


text:
### Calculus of Trigonometry & Logarithms

Many ways problem

An exam question showed this diagram of the curve $y=\sin x$.

format: plain


text:
# Tag Info

2

There is no such thing as the extension operator. The validity of norm inequality for $P$ may depend on what extension operator is used. For example, one can extend Sobolev functions on the unit ball to Sobolev functions on $\mathbb R^n$ so that the extension vanishes for $|x|>2$. In such a case, the embedding results for bounded domains still apply. ...

2

Take the your case $1 \leq q < p^{*}$ where $u \in W^{1,p}(U)$. Let $Pu := v$ where $P$ is an extension operator $P: W^{1,p}(U) \rightarrow W^{1,p}(\mathbb{R}^{n})$. Consider $v \in W^{1,p}(\mathbb{R}^{n})$ where $\text{spt}(v) \subset V$, it follows then that $v \in W^{1,p}(V)$. By Gagliardo-Nirenberg-Sobolev we have: $||v||_{L^{p^{*}}(\mathbb{R}^{n})} ... 2 Let$f:\mathbb{C}\to\mathbb{C}$be the function$f(x,y) = (x+iy) (x^2 + y^2)$. Its derivative is $$\mathrm{d}f = (x^2 + y^2) \mathrm{d}(x + i y) + 2(x + i y) (x \mathrm{d}x + y \mathrm{d}y)$$ which satisfies $$|\mathrm{d}f| \leq C(x^2 + y^2)$$ Integrating along the straight line joining$v,w\in \mathbb{C}$gives $$|f(w) - f(v) | \leq C ... 2 By Parseval, we have \hat f\in L^2 and |\cdot|^2 \hat f\in L^2, because the Laplacian becomes the multiplication by |\xi|^2 in the Fourier space. Since$$ 2|\xi_j\xi_k| \leq |\xi_j|^2+|\xi_k|^2 \leq |\xi|^2, $$and the mixed derivative \partial_j\partial_k becomes the multiplication by \xi_j\xi_k, we conclude that \partial_j\partial_k f\in L^2 ... 2 In the case n = 1 or (n \ge 2 and p> n), you have the embedding from W^{1,p} to L^\infty. In this case \overline{C_c^\infty}\subsetneq W^{1,p}(\mathbb R^n). Indeed, every limit point of \overline{C_c^\infty} is continuous and zero at 0. In the other case, you get \overline{C_c^\infty} = W^{1,p}(\mathbb R^n). This can be seen by taking ... 2 I don't know how much this will help, but: The simplest instance of a Holder norm controlled by a Sobolev norm is that of the Fundamental Theorem of Calculus. Let us suppose we have a function f:\mathbb{R}\to\mathbb{R} such that its distributional derivative f' is defined, and such that we have \int |f'|^p \mathrm{d}x < \infty. Then we can estimate ... 2 Assume that A^{-1}: Y\to L^2(\Omega) is bounded, i.e.$$\|A^{-1} f\|_2\leq c\|f\|_Y,\ \forall\ f\in Y\tag{1}$$where c>0 is a constant. We get from (1) and from your inequality that$$\|A^{-1} f\|_2\leq cM\|A^{-1}f\|_{H^{-\alpha}},\ \forall f\in Y$$or equivalently$$\|g\|_2\leq cM\|g\|_{H^{-\alpha}},\ \forall \ g\in L^2(\Omega)$$Do you know ... 2 There is a more general result that we can state: Let X,Y be Banach spaces and T:X\to Y a compact operator. Then, for each sequence x_n\in X such that x_n\to x weakly, we have that Tx_n\to Tx strongly. Proof: Because x_n converge weakly, we can assume that x_n is bounded. By definition of compactness, we have that ... 2 Consider \Omega = \{ x \in \mathbb R^2 : \frac12 < |x| < 1, x_1 > 0\}, and let u(x) = \frac x{|x|^2}. Then \nabla\cdot u = 0 and \nabla \times u = 0. The condition u \times n=0 holds on the circular parts of the boundary, and the condition u \cdot n=0 holds on the straight parts of the boundary. But clearly \|u\|_1 \ne 0. 2 We have$$|u(x',x_n)|\leqslant \int_0^{x_n}|\partial_n u(x',t)|\mathrm dt\leqslant \lVert \partial_n u(x',\cdot)\rVert_px_n^{1-1/p}.$$The integration with respect to x_n produces the constant \frac 1p. Indeed, we have$$|u(x',x_n)|^p\leqslant\lVert \partial_n u(x',\cdot)\rVert_p^p\int_0^Lx_n^{p-1}\mathrm dx_n,$$and the last integral is ... 2 No, it's not true. Let \Omega be the unit ball. Pick a function v\in H_0^1(\Omega) that is unbounded from above near 0, say v(x)=\max(0,\sqrt{-\log |x|}-1). Define u_n(x)=1-v(x)/n. The sequence converges to u\equiv 1 in the H^1 norm. The set \{u>2/3\} is all of \Omega, but the set \{u_n>1/3\} is only a spherical shell, for every ... 2 1 - First prove that for each subsequence b_k of a_k, there is a subsequence c_k of b_k such that$$|c_k-c_l|\geq \delta,\ \forall k,l$$for some \delta>0. 2 - Write$$I(1,k,l)=\int_{|(a_k-a_l)\cdot\xi|<1 } |1-e^{-2\pi i (a_k - a_l)\cdot \xi}|^2|\widehat{\phi}(\xi)|^2(1+|\xi|^2)^t d\xiI(2,k,l)=\int_{|(a_k-a_l)\cdot\xi|\geq1 } ... 2 Your reasoning is correct. If$f$cannot be redefined on a set of measure zero to become a continuous function, then$f$is not in$H^1(-1,1)$. Chances are that sooner or later you will encounter Sobolev functions of more than one variable. Those need not have a continuous representative. For example,$f(x,y)=\sqrt{-\log(x^2+y^2)}$is in$H^1(D)$where ... 1 You can get an$L^2$convergence result from basic energy methods. It seems that you're assuming that$f = f(x)$, i.e.$f$is not time-dependent. Let's go ahead and take the slightly more general$f \in H^{-1}$. I also assume that you mean$H_0^1(\Omega)$and$H^{-1} = (H_0^1)^*$. Produce a weak solution$v \in H_0^1to the elliptic problem $$... 1 For the first one: you still need to prove$$\lim\|u_m\|_{p^*} = \|u\|_{p^*}.$$That is, you need to show that u_m \to u in L^{p^*}. Hint: Use the GNS to show that u_m is a Cauchy sequence. The same comment applies to 2. In order to prove 3 from 2, you still need an extension property for U, that is, for each u \in W^{1,p}(U), there exists v \in ... 1 I think gerw has the missing piece of your proof in the hint that you should use Cauchy sequences instead of using G-N-S and ||u_{m}-u||_{L^{p^{*}}} <= C|||Du_{m}-Du||_{L^{p}}. Having said that I don't think his answer was written in a very informative way. To adapt your proof for question (1) use the following: Since you showed that \{Du_{m}\}_{m} ... 1 For the second inequality I refer you to Brezis Corollary 9.14. For the first inequality, remember that \|u\|_\infty\leq \|u\|_{C^{0,\gamma}(\overline{U})}, therefore$$\int_U |u|^p\leq\int_U\|u\|_\infty^p\leq |U|\|u\|_{C^{0,\gamma}(\overline{U})}^p$$where |U| is the Lebesgue measure of U. 1 The first inequality holds as mentioned by Tomas. The second inequality I think is a direct result of a Theorem which extends from Morrey's Inequality: If U is bounded, open subset of \mathbb{R}^{n}, and suppose \partial U is C^{1}. If n < p \leq \infty and u \in W^{1,p}(U). Then u has a version u^{*} \in C^{0,\gamma}(\bar{U}) such that ... 1 We know that f_i \to f weakly in W^{1,p}(\Omega) and f_i \to g strongly in L^{2p}, by the compact embedding. Note that g\in L^p (I assume \Omega is bounded). If we can show that g\in W^{1,p}(\Omega), and f_i \to g weakly in W^{1,p}(\Omega), then g=f since weak limit is unique. This will then answer your question. Claim 1: g\in ... 1 It may help to consider first the case n=1 and k=2. The fact that \eta_Ru\to u in L^p follows from a monotone convergence argument. Indeed, since \eta_R(x)=1 if |x|\leqslant R,$$\int_\mathbb R|\eta_R(x)u(x)-u(x)|^p\mathrm dx=\int_{\{|x|\gt R\}}|u(x)|^p\mathrm dx.$$We can use the product rule for derivatives: we get (\eta_R u)'=\eta_R ... 1 Recall, that for (x_1, x_2) \in \mathbb R^2, we have$$ \|(x_1,x_2)\|_1 = |x_1| + |x_2| \le 2^{(p-1)/p} \, \|(x_1,x_2)\|_p = 2^{(p-1)/p} \, (|x_1|^p + |x_2|^p)^{1/p}. $$Hence,$$|F(u)|^p \le \big| M \, |u| + |F(0)| \big|^p \le 2^{p-1} \, (M^p \, |u|^p + |F(0)|^p ).This shows \int |F(u)|^p dx < \infty. 1 First note that you have \begin{align*}b(u, u) &= \int_0^T((u(t), \ u(t)))dt- \int_0^T(u(t), \ u'(t))dt \\ &= \int_0^T((u(t), \ u(t)))dt- \frac12 \, \int_0^T \frac{d}{dt}(u(t), \ u(t))dt \\ &= \int_0^T((u(t), \ u(t)))dt- \frac12 \, (u(T), \ u(T)) + \frac12 \, (u(0), \ u(0)) \\ &= \int_0^T((u(t), \ u(t)))dt+ \frac12 \, (u(0), \ u(0)). ... 1 Suppose ad absurdum that there is a sequence u_n\in H^1 such thata(u_n,u_n)\to 0,\ \ \|u_n\|_{H^1}=1$$In other words$$\tag{1} \int_0^2 |u_n'|^2+\left(\int_0^1 u_n\right)^2\to 0,\ \int_0^2u_n^2+\int_0^2|u_n'|^2=1$$We conclude from (1) that$$\int_0^2 |u'_n|\to 0,\ \int_0^2u_n^2\to 1\tag{2}$$Assume without loss of generality that ... 1 To every second order elliptic PDE$$Lu = f$$on \Omega \subset \mathbb{R}^n, where L is an elliptic operator and f a measurable function, is associated a positive-definite, bounded, symmetric coefficient matrix$$Q(x) = [q_{ij}(x)], i,j = 1,\ldots n.$$That is, the quadratic form$$\mathcal{Q}(x,\xi) = \xi^\top Q(x) \xi$satisfies, for some$c,C > ...

1

Here is a sketch of a counterexample: Let $\{x_n\}$ be a sequence of distinct points in $\Omega$ converging to a point $x \in \partial \Omega$. For each $n$ let $f_n \in W_0^{1,p}(\Omega)$ be a positive function that is unbounded in a neighborhood of $x_n$ and satisfies $\|f_n\|_{W^{1,p}(\Omega)} < 2^{-n}$. (You can do this if $p < N$). Let \$f = ...

Only top voted, non community-wiki answers of a minimum length are eligible


text:
# How to convert ratios into fractions and percentages

## Proportion

You can represent proportion using ratios, percentages and fractions. Here's a reminder of what each means:

### Ratios

A ratio shows how much of one thing there is compared to another. Ratios are usually written in the form a:b.

### Percentage

Percent means 'per 100' and it's shown using the symbol %.

### Fractions

A fraction is a part of a whole. There are two numbers to every fraction: the top number of the fraction is called the numerator. The bottom number is called the denominator.


text:
# Explanation of Maclaurin Series of $x^\pi$

I am reviewing Calc $2$ material and I came across a problem which asked me to explain why $x^\pi$ does not have a Taylor Series expansion around $x=0$. To me it seems that it would have an expansion but it would just be $0$, so maybe it's not a suitable expansion. It doesn't have any holes and it is infinitely differentiable so I don't know why it couldn't have an expansion.

-
Are you sure it's infinitely differentiable? –  Qiaochu Yuan Sep 13 '10 at 22:48
Well I may be missing something but it would go $\pi * x^(\pi-1)$ then $\pi * (\pi -1)x^(\pi-2)$...I don't see where it would have a gap. –  Planeman Sep 13 '10 at 22:54
How do you even define $x^\pi$ if $x<0$? The answer to this question should show you why there's a singularity at 0 without having to take derivatives. –  Jonas Meyer Sep 13 '10 at 23:05

Consider what happens for higher powered derivatives. $\frac{d^4}{dx^4}x^{\pi}=(\pi)(\pi -1)(\pi -2)(\pi -3)x^{\pi -4}$ You can think of this as $c \frac{1}{x^{k}}$ for some positive real number k which is not defined at 0.

-
Oh, ok. I was forgetting to evaluate the power and therefore I didn't realize that at a certain point it turned negative. Would a function like this have an expansion around something like x=1? –  Planeman Sep 13 '10 at 23:04
I think centering it at 1 or any positive number would work fine –  WWright Sep 13 '10 at 23:16
Planeman: Sure, $\exp(\pi\ln\;x)$ is differentiable at $x=1$. –  Ｊ. Ｍ. Sep 13 '10 at 23:17

I decided to elaborate on my comment above.

What is $x^\pi$ if $x$ is negative? Trying to approximate with $x^r$ for rational $r$ is problematic, depending on which rational numbers you use to approximate; should the answer be positive, negative, imaginary? Perhaps more reasonable would be to take $x^\pi=e^{\pi \log(x)}$ for some suitably chosen branch of the logarithm on $(-\infty,0)$, the most common choice being $\log x=\ln(-x)+\pi i$. Your function then becomes $$f(x) = \left\{ \begin{array}{lr} e^{\pi \ln x} & : x>0 \\ 0 & : x=0 \\ e^{i\pi^2}e^{\pi \ln(-x)} & :x<0 \end{array} \right.$$

In particular, it is not real-valued. You can still go ahead and try to take its derivatives, but this piecewise representation may make it less surprising that there is going to be a singularity at zero.

-
I'll add that I agree that WWright's answer is a good one: the fourth derivative going to infinity as x decreases to 0 shows that the function can't be 4 times differentiable in a neighborhood of 0, no matter what definition you give it for negative x. In fact, I didn't prove anything. My intent is in part to show that there are problems even in determining what is being asked. –  Jonas Meyer Sep 14 '10 at 0:00
I honestly hadn't considered that issue until you brought it up. It's an excellent point! –  WWright Sep 14 '10 at 0:17

As a graphical supplement to Jonas's and WWright's answers:

This is a plot of the real and imaginary parts of $(x+iy)^\pi$ in the complex plane. Note the cut running across the negative real axis. This cut is precisely the reason why you cannot have a Maclaurin expansion; polynomials cannot exhibit cuts, and a Maclaurin expansion amounts to approximating your function with a sequence of polynomials.

-
I agree that the existence of a cut is relevant to the singularity at 0, but I'm not sure I follow your last comment. For example, the function $f$ in my answer can be uniformly approximated by polynomials (with complex coefficients) on each interval $[-\epsilon,\epsilon]$, by Weierstrass's approximation theorem. Also, I think the question was just about the existence of the Maclaurin series, not whether it approximates the function; for that the fact that the 4th derivative doesn't exist suffices. –  Jonas Meyer Sep 14 '10 at 1:35
(But it's true that the cut implies that the Maclaurin series couldn't both exist and locally approximate the function.) –  Jonas Meyer Sep 14 '10 at 1:37
I'm essentially saying that trying to find a Maclaurin expansion is the same as asking "does the function behave like a polynomial in the vicinity of the point of expansion?" The cut makes $z^\pi$ not behave like a polynomial in the vicinity of $z=0$. Alternatively, we can think of $z^\pi$ as $z^3 z^{\pi-3}$, the product of a (known) smooth function and the "unknown" $z^{\pi-3}$. $z^{\pi-3}$ has a vertical tangent at the origin, and polynomials cannot have vertical tangents. –  Ｊ. Ｍ. Sep 14 '10 at 1:52
Perhaps I'm just nitpicking, but I was reacting to what you wrote: unlike on open sets in the plane, on bounded intervals every continuous function, no matter how non-polynomial-like, can be uniformly approximated by polynomials. Approximation by the Maclaurin series is asking for much more than this, namely analyticity, and I believe that this is what you intended. –  Jonas Meyer Sep 14 '10 at 2:00
Ah, yes you're right, thanks for the reminder and supplying the additional rigor needed. –  Ｊ. Ｍ. Sep 14 '10 at 2:19