1math::complexnumbers(n)        Tcl Math Library        math::complexnumbers(n)
2
3
4
5______________________________________________________________________________
6

NAME

8       math::complexnumbers - Straightforward complex number package
9

SYNOPSIS

11       package require Tcl  8.3
12
13       package require math::complexnumbers  ?1.0.2?
14
15       ::math::complexnumbers::+ z1 z2
16
17       ::math::complexnumbers::- z1 z2
18
19       ::math::complexnumbers::* z1 z2
20
21       ::math::complexnumbers::/ z1 z2
22
23       ::math::complexnumbers::conj z1
24
25       ::math::complexnumbers::real z1
26
27       ::math::complexnumbers::imag z1
28
29       ::math::complexnumbers::mod z1
30
31       ::math::complexnumbers::arg z1
32
33       ::math::complexnumbers::complex real imag
34
35       ::math::complexnumbers::tostring z1
36
37       ::math::complexnumbers::exp z1
38
39       ::math::complexnumbers::sin z1
40
41       ::math::complexnumbers::cos z1
42
43       ::math::complexnumbers::tan z1
44
45       ::math::complexnumbers::log z1
46
47       ::math::complexnumbers::sqrt z1
48
49       ::math::complexnumbers::pow z1 z2
50
51_________________________________________________________________
52

DESCRIPTION

54       The  mathematical  module  complexnumbers  provides  a  straightforward
55       implementation of complex numbers in pure Tcl. The philosophy  is  that
56       the user knows he or she is dealing with complex numbers in an abstract
57       way and wants as high a performance as can be had  within  the  limita‐
58       tions of an interpreted language.
59
60       Therefore  the procedures defined in this package assume that the argu‐
61       ments are valid (representations of) "complex numbers", that is,  lists
62       of two numbers defining the real and imaginary part of a complex number
63       (though this is a mere detail: rely on the complex command to construct
64       a valid number.)
65
66       Most procedures implement the basic arithmetic operations or elementary
67       functions whereas several others convert to and from  different  repre‐
68       sentations:
69
70           set z [complex 0 1]
71           puts "z = [tostring $z]"
72           puts "z**2 = [* $z $z]
73
74       would result in:
75
76           z = i
77           z**2 = -1
78
79

AVAILABLE PROCEDURES

81       The  package  implements  all  or  most basic operations and elementary
82       functions.
83
84       The arithmetic operations are:
85
86       ::math::complexnumbers::+ z1 z2
87              Add the two arguments and return the resulting complex number
88
89              complex z1 (in)
90                     First argument in the summation
91
92              complex z2 (in)
93                     Second argument in the summation
94
95
96       ::math::complexnumbers::- z1 z2
97              Subtract the second argument  from  the  first  and  return  the
98              resulting  complex  number.  If  there is only one argument, the
99              opposite of z1 is returned (i.e. -z1)
100
101              complex z1 (in)
102                     First argument in the subtraction
103
104              complex z2 (in)
105                     Second argument in the subtraction (optional)
106
107
108       ::math::complexnumbers::* z1 z2
109              Multiply the two arguments and return the resulting complex num‐
110              ber
111
112              complex z1 (in)
113                     First argument in the multiplication
114
115              complex z2 (in)
116                     Second argument in the multiplication
117
118
119       ::math::complexnumbers::/ z1 z2
120              Divide the first argument by the second and return the resulting
121              complex number
122
123              complex z1 (in)
124                     First argument (numerator) in the division
125
126              complex z2 (in)
127                     Second argument (denominator) in the division
128
129
130       ::math::complexnumbers::conj z1
131              Return the conjugate of the given complex number
132
133              complex z1 (in)
134                     Complex number in question
135
136
137       Conversion/inquiry procedures:
138
139       ::math::complexnumbers::real z1
140              Return the real part of the given complex number
141
142              complex z1 (in)
143                     Complex number in question
144
145
146       ::math::complexnumbers::imag z1
147              Return the imaginary part of the given complex number
148
149              complex z1 (in)
150                     Complex number in question
151
152
153       ::math::complexnumbers::mod z1
154              Return the modulus of the given complex number
155
156              complex z1 (in)
157                     Complex number in question
158
159
160       ::math::complexnumbers::arg z1
161              Return the argument ("angle" in radians) of  the  given  complex
162              number
163
164              complex z1 (in)
165                     Complex number in question
166
167
168       ::math::complexnumbers::complex real imag
169              Construct the complex number "real + imag*i" and return it
170
171              float real (in)
172                     The real part of the new complex number
173
174              float imag (in)
175                     The imaginary part of the new complex number
176
177
178       ::math::complexnumbers::tostring z1
179              Convert  the  complex  number  to  the  form "real + imag*i" and
180              return the string
181
182              float complex (in)
183                     The complex number to be converted
184
185
186       Elementary functions:
187
188       ::math::complexnumbers::exp z1
189              Calculate the exponential for the  given  complex  argument  and
190              return the result
191
192              complex z1 (in)
193                     The complex argument for the function
194
195
196       ::math::complexnumbers::sin z1
197              Calculate  the  sine function for the given complex argument and
198              return the result
199
200              complex z1 (in)
201                     The complex argument for the function
202
203
204       ::math::complexnumbers::cos z1
205              Calculate the cosine function for the given complex argument and
206              return the result
207
208              complex z1 (in)
209                     The complex argument for the function
210
211
212       ::math::complexnumbers::tan z1
213              Calculate  the  tangent  function for the given complex argument
214              and return the result
215
216              complex z1 (in)
217                     The complex argument for the function
218
219
220       ::math::complexnumbers::log z1
221              Calculate the (principle value of the) logarithm for  the  given
222              complex argument and return the result
223
224              complex z1 (in)
225                     The complex argument for the function
226
227
228       ::math::complexnumbers::sqrt z1
229              Calculate the (principle value of the) square root for the given
230              complex argument and return the result
231
232              complex z1 (in)
233                     The complex argument for the function
234
235
236       ::math::complexnumbers::pow z1 z2
237              Calculate "z1 to the power of z2" and return the result
238
239              complex z1 (in)
240                     The complex number to be raised to a power
241
242              complex z2 (in)
243                     The complex power to be used
244

BUGS, IDEAS, FEEDBACK

246       This document, and the package it describes, will  undoubtedly  contain
247       bugs  and  other  problems.  Please report such in the category math ::
248       complexnumbers   of   the   Tcllib    SF    Trackers    [http://source
249       forge.net/tracker/?group_id=12883].   Please  also report any ideas for
250       enhancements you may have for either package and/or documentation.
251

KEYWORDS

253       complex numbers, math
254
256       Copyright (c) 2004 Arjen Markus <arjenmarkus@users.sourceforge.net>
257
258
259
260
261math                                 1.0.2             math::complexnumbers(n)
Impressum