 ## Partial Differential Equation LANguage

(PDELAN)

["An Extension of Fortran Containing Finite Difference Operators", J. Gary et al, Soft Prac & Exp 2(4) (Oct 1972)].

## partial equivalence relation

(PER) A relation R on a set S where R is symmetric (x R y => y R x) and transitive (x R y R z => x R z) and where there may exist elements in S for which the relation is not defined. A PER is an equivalence relation on the subset for which it is defined, i.e. it is also reflexive (x R x).

## partial evaluation

(Or "specialisation") An optimisation technique where the compiler evaluates some subexpressions at compile-time. For example,

``` pow x 0 = 1
pow x n = if even n
then pxn2 * pxn2
else x * pow x (n-1)
where pxn2 = pow x (n/2)
f x = pow x 5

```
Since n is known we can specialise pow in its second argument and unfold the recursive calls:

``` pow5 x = x * x4 where x4 = x2 * x2
x2 = x * x
f x = pow5 x

```
pow5 is known as the residual. We could now also unfold pow5 giving:

``` f x = x * x4 where x4 = x2 * x2
x2 = x  * x

```
It is important that the partial evaluation algorithm should terminate. This is not guaranteed in the presence of recursive function definitions. For example, if partial evaluation were applied to the right hand side of the second clause for pow above, it would never terminate because the value of n is not known.

Partial evaluation might change the termination properties of the program if, for example, the expression (x * 0) was reduced to 0 it would terminate even if x (and thus x * 0) did not.

It may be necessary to reorder an expression to partially evaluate it, e.g.

``` f x y = (x + y) + 1
g z = f 3 z

```
If we rewrite f:

``` f x y = (x + 1) + y

```
then the expression x+1 becomes a constant for the function g and we can say

``` g z = f 3 z = (3 + 1) + z = 4 + z

```
Partial evaluation of built-in functions applied to constant arguments is known as constant folding.

Last updated: 1999-05-25

## partial function

A function which is not defined for all arguments of its input type. E.g.

``` f(x) = 1/x if x /= 0.

```
The opposite of a total function. In denotational semantics, a partial function

``` f : D -> C

```
may be represented as a total function

``` ft : D' -> lift(C)

```
where D' is a superset of D and

``` ft x = f x	if x in D
ft x = bottom	otherwise

```
where lift(C) = C U bottom. Bottom (LaTeX \perp) denotes "undefined".

Last updated: 1995-02-03

## partial key

<database>

A key which identifies a subset of a set of information items (e.g. database "records"), and which could narrow the subset to one item if other partial key(s) were combined with it.

Last updated: 1997-04-26

## partially ordered set

A set with a partial order.

## partial order

(Informally, "order", "ordering") A binary relation R that is a pre-order (i.e. it is reflexive (x R x) and transitive (x R y R z => x R z)) and antisymmetric (x R y R x => x = y).

The order is partial, rather than total, because there may exist elements x and y for which neither x R y nor y R x.

In domain theory, if D is a set of values including the undefined value (bottom) then we can define a partial ordering relation <= on D by

``` x <= y  if  x = bottom or x = y.

```
The constructed set D x D contains the very undefined element, (bottom, bottom) and the not so undefined elements, (x, bottom) and (bottom, x). The partial ordering on D x D is then

``` (x1,y1) <= (x2,y2)  if  x1 <= x2 and y1 <= y2.

```
The partial ordering on D -> D is defined by

``` f <= g  if  f(x) <= g(x)  for all x in D.

```
(No f x is more defined than g x.)

A lattice is a partial ordering where all finite subsets have a least upper bound and a greatest lower bound.

("<=" is written in LaTeX as \sqsubseteq).

Last updated: 1995-02-03

## Partial Response Maximum Likelihood

<storage>

(PRML) A method for converting the weak analog signal from the head of a magnetic disk drive into a digital signal. PRML attempts to correctly interpret even small changes in the analog signal, whereas peak detection relies on fixed thresholds. Because PRML can correctly decode a weaker signal it allows higher density recording.

For example, PRML would read the magnetic flux density pattern 70, 60, 55, 60, 70 as binary "101", and the same for 45, 40, 30, 40, 45. A peak detector would decode everything above, say, 50 as high, and below 50 as low, so the first pattern would read "111" and the second as "000".

Last updated: 1996-12-27

## partition

<storage>

1. A logical section of a disk. Each partition normally has its own file system. Unix tends to treat partitions as though they were separate physical entities.

2. A division of a set into subsets so that each of its elements is in exactly one subset.

Last updated: 1996-12-09

## partitioned data set

(PDS) A data set on an IBM mainframe that contains members, each of which acts like a separate data set. Partitioned data sets are more space-efficient than individual data sets, because they can put more than one data set on a track. They are also used to hold libraries, with one function per member. The syntax for a member is NAME.OF.PDS(MEMBER) although some systems (such as Phoenix) could use NAME.OF.PDS:MEMBER

Original PDSes were of fixed size, and needed frequent compression to recover space after deleting or changing members. Newer PDS/E Extended PDSes do not have this problem.

Last updated: 2003-12-05

## PARTS

Digitalk. Visual language for OS/2 2.0.

### Nearby terms:

Try this search on Wikipedia, Wiktionary, Google, OneLook.