pg_complex

Synopsis

This is a C-language extension that implements a user-defined type (UDT) for complex numbers.

Description

This extension defines a new composite type, complex, that consists of two float8 values representing the real and imaginary components of the complex number.

Usage

You can use the type complex as any other type. A value can be initialized with a single value (intepreted as the real component of the complex number) or a pair of values (interpreted as the real and imaginary components of a complex number.)

Several operators and functions have been defined that work with this type.

'-' (negation) Returns the negation of a complex number.

'~' (complex conjugate) Returns the complex conjugate of a complex number.

'+' (addition) Returns the addition of a complex number with another complex number or a real number.

'-' (subtraction) Returns the subtraction of a complex number or a real number from another complex number or real number.

'*' (multiplication) Returns the product of complex number with another complex number or a real number.

'/' (division) Returns the division of complex number with a real number.

magnitude(x) Returns the magnitude of a complex number. This is identical to the square root of the product of a complex number with its complex conjugate.

norm(x) Returns the complex number that is normalized to the unit circle. This means that x = magnitude(x) * norm(x) and magnitude(norm(x)) = 1. This method will return null if x = 0.

.re

Returns the real component of the complex number.

.im

Returns the imaginary component of the complex number.

Support

The most recent version of this project can be found at http://github.com/beargiles/pg_complex.

Author

[Bear Giles bgiles@coyotesong.com]

Copyright and License

Copyright (c) 2015 Bear Giles bgiles@coyotesong.com.