### Appendix A: Cost function definitions and calibration

In this appendix we summarize formulae for recovering parameters of the functional forms we tested. Here, the cost function is denoted as F, and the symbols C, and denote the given cost, input shares and Allen-Uzawa elasticities of substitution at the calibration point.

#### Translog

The TL form is defined as follows:

A.1

Restrictions:

A.2
A.3
A.4

Calibration:

A.5
A.6
A.7
A.8

#### Generalized Leontief

The GL form is defined as follows:

A.9

Restrictions:

A.10

Calibration:

A.11
A.12

The NQ form is defined as follow:

A.13

Restrictions:

A.14
A.15
A.16

Calibration:

A.17

We examined two alternative specifications, one in which , and another in which . The first specification produces larger Inner Domain estimates and is used in the tests for Table 2.

#### Nonseparable Nested CES

We restrict our discussion to the case N = 3 (for the general N-input case see Perroni and Rutherford (1995)), and focus on a particular nesting structure, which we call "Lower Triangular Leontief" (LTL). Let us rearrange indices so that the maximum off-diagonal AUES element is . Then the three- input NNCES-LTL cost function can be described as

A.18

Restrictions:

A.19
A.20
A.21
A.22
A.23

Calibration:

Let us denote with s3 the fraction of the total input of commodity 3 which enters the first subnest of the structure described by (A.18) (with 1-s3 representing the fraction entering the second subnest). Let us also assume that all prices at the calibration point are unity. If we select

A.24
A.25

it can be shown that

A.26

The remaining parameters can then be recovered as follows:

A.27
A.28
A.29
A.30
A.31

### Appendix B: The FUNTST program

FUNTST is the computer program that implements our testing procedure, also producing a graphical representation of the computations. The program operates under DOS on a PC and can be used with with cost functions programmed in Lahey Fortran, Turbo Pascal, Turbo C, or Microsoft Quick Basic.

#### 1. Introduction

The computer program which we have developed provides a quantitative procedure for testing the global properties of functional forms. It was developed to investigate the regularity and the third-order curvature properties of a number of commonly used flexible functional forms.

Values presented in Table 1 of the paper summarize results from a large number of function evaluations and a number of different of benchmark AUES configurations. Mean results provide a general idea of performance. Our testing procedure, however, provides a detailed representation of particular functions over the full set of benchmark elasticities. To understand how this works, consider one set of results from Table 1, the Outer Domain measurements when the top level elasticity is 2 and the shares are (.35,0.60,0.05). (If we think of good 1 as capital, good 2 as labor and good 3 be energy, this cost structure does not depart significantly from stylized facts.)

We measure the outer domain of a cost function by evaluating at points throughout the price simplex. The benchmark point lies at the center of the simplex. Moving from the center of the price simplex toward a vertex, the associated relative price is increasing while the other prices are decreasing. In the program, simplices are oriented so that good 1 is at the lower left, good 2 is at the lower right, and good 3 is at the top.

Holding fixed AUES12 equal to 2, the average outer domain estimates are based on a representative set of benchmark cross elasticities, sigma13 and sigma23, restricting consideration only to those sets of elasticities for which the implied Slutsky matrix is negative semi-definite. The admissible set of elasticities forms a convex set as defined by equations 3.4 - 3.9. The domain computation involves an examination of alternative benchmark cross-elasticities drawn from this region.

Figure 1 presents outer domain results for the TL cost function with AUES12=2. This diagram can be produced on the computer screen by entering:

```
FUNTST -F:TL -D:OD -T1:0.35 -T2:0.60 -AUES12:2
```

at the DOS prompt. There are 51 price simplices presented in this diagram. In each simplex, relative prices which lead to a loss of regularity are shaded. The placement of each simplex indicates the benchmark AUES configuration in the regular region. For example, the simplex in the upper right corner corresponds to the benchmark AUES = (AUES12,AUES13,AUES23) equal to (2,2,2). In the simplex at the upper left has AUES = (2,2,-3), at the lower right, AUES = (2,-2,2), and the first simplex in the sixth row corresponds to AUES = (2,0,0).

#### Figure 1: Outer Domain for the Traslog Cost Function

• Details.
• Color indicates regions of the simplex in which the cost function is either nonconvex or nonmonotone (negative demands).

```      --------------------------------------------------------------
2.0  |   34      43      58      76      78      73      67      62
1.6  |   32      40      55      73      79      79      73      65
1.2  |           36      48      66      77      77      75      69
0.8  |           33      42      57      72      77      76      71
0.4  |                   37      50      67      76      77      73
0.0  |                   34      43      57      70      77      75
-0.4  |                           38      48      61      72      76
-0.8  |                                   41      51      62      70
--------------------------------------------------------------
-0.8    -0.4     0.0     0.4     0.8     1.2     1.6     2.0
```

The outer domain for the TL function is smaller when cross elasticities are small. The outer domain is smallest when 1 and 3 are strong complements (the upper left). Remembering the orientation of the price simplices, we can interpret how price changes lead to a loss of regularity. For example, when goods 2 and 3 are strong complements, a small increase in the price of good 2 leads to a loss of regularity. If sigma13 and sigma23 are both small, any decrease in the relative price of good 3 causes a loss of regularity.

It is easy to produce analogous diagrams for the GL and NQ cost functions. If you do so, you will find that the regular regions for GL and NQ are qualitatively similar. For both of these functions, the loss of regularity is possible even when all goods are substitutes. In contrast to the TL function, regularity is typically not violated when P3 decreases (holding P1/P2 fixed).

#### 2. Invocation Syntax

Usage is as follows:

```            FUNTST -f:function  [switches]
```

in which the arguments include the following:

```
Switch                  Default     Description

-f:function             required    function to be tested, either built-in
(TL,GL,NQ or NNCES) or external.
-aues12:value            1           benchmark Allen-Uzawa elasticity of
substitution between goods 1 and 2.
-t[i]:value             1/3         benchmark value shares for goods i=1,2.
(Good three share determined residually).
-d:domain               none        domain to display on the screen, one of:

MD    the monotone domain
CD    the convex domain
OD    the outer domain
CPE   the compensated elasticity inner domain
AUES  the Allen-Uzawa inner domain
MORS  the Morishima elasticity inner domain
SHDW  the Shadow elasticity inner domain

-delta:value            0.25        critical value to be used in defining Z(p)
for CPE, AUES, MORS SHDW.

-batch                  none        operate in "batch" mode (do not wait for
key press to terminate processing).

-hpgl                   none        generate HPGL code for figure.
```

#### 3. Output

FUNTST.EXE produces three types of output:

(i) Graphical output to the screen.

(ii) Graphical output in HPGL format to the file FUNTST.HPG which may then be rendered in printed format by WordPerfect 5.1 or other software package.

(iii) Tabular output in text format to FUNTST.LOG, the contents of which include summary statistics for all computed domains. The output to this file is unaffected by the displayed domain specification, D:.

#### 4. Using FUNTST with an External Function

The functions which are "native" to FUNTST.EXE operate more quickly than external functions, but this is really the only difference between internally- and externally-defined functions. External functions may be coded in any compatible compiler (we provide a sample function coded in several languages, including Fortran, Basic or C). (The only technical requirement is that the function program is callable as real mode application by Lahey Fortran.)

For details on file structure and communication, see comments within one of the template function files.

#### 5. Distribution Module Contents

```      READ.ME     This appendix formatted in text format.
FUNTST.EXE  Function testing program.
RUNALL.BAT  Batch file which reproduces all results from the paper.
RUNONE.BAT  Batch file to reproduce results for one function
NQUAD.FOR   Sample external function (Lahey FORTRAN)
NQUAD.BAS   Sample external function (Microsoft Quick BASIC)
NQUAD.PAS   Sample external function (Borland Turbo PASCAL)
```