Mercurial > repos > deepakjadmin > mayatool3_test3
comparison mayachemtools/docs/modules/man3/Matrix.3 @ 0:73ae111cf86f draft
Uploaded
author | deepakjadmin |
---|---|
date | Wed, 20 Jan 2016 11:55:01 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:73ae111cf86f |
---|---|
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22) | |
2 .\" | |
3 .\" Standard preamble: | |
4 .\" ======================================================================== | |
5 .de Sp \" Vertical space (when we can't use .PP) | |
6 .if t .sp .5v | |
7 .if n .sp | |
8 .. | |
9 .de Vb \" Begin verbatim text | |
10 .ft CW | |
11 .nf | |
12 .ne \\$1 | |
13 .. | |
14 .de Ve \" End verbatim text | |
15 .ft R | |
16 .fi | |
17 .. | |
18 .\" Set up some character translations and predefined strings. \*(-- will | |
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left | |
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will | |
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and | |
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, | |
23 .\" nothing in troff, for use with C<>. | |
24 .tr \(*W- | |
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' | |
26 .ie n \{\ | |
27 . ds -- \(*W- | |
28 . ds PI pi | |
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch | |
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch | |
31 . ds L" "" | |
32 . ds R" "" | |
33 . ds C` "" | |
34 . ds C' "" | |
35 'br\} | |
36 .el\{\ | |
37 . ds -- \|\(em\| | |
38 . ds PI \(*p | |
39 . ds L" `` | |
40 . ds R" '' | |
41 'br\} | |
42 .\" | |
43 .\" Escape single quotes in literal strings from groff's Unicode transform. | |
44 .ie \n(.g .ds Aq \(aq | |
45 .el .ds Aq ' | |
46 .\" | |
47 .\" If the F register is turned on, we'll generate index entries on stderr for | |
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index | |
49 .\" entries marked with X<> in POD. Of course, you'll have to process the | |
50 .\" output yourself in some meaningful fashion. | |
51 .ie \nF \{\ | |
52 . de IX | |
53 . tm Index:\\$1\t\\n%\t"\\$2" | |
54 .. | |
55 . nr % 0 | |
56 . rr F | |
57 .\} | |
58 .el \{\ | |
59 . de IX | |
60 .. | |
61 .\} | |
62 .\" | |
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). | |
64 .\" Fear. Run. Save yourself. No user-serviceable parts. | |
65 . \" fudge factors for nroff and troff | |
66 .if n \{\ | |
67 . ds #H 0 | |
68 . ds #V .8m | |
69 . ds #F .3m | |
70 . ds #[ \f1 | |
71 . ds #] \fP | |
72 .\} | |
73 .if t \{\ | |
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m) | |
75 . ds #V .6m | |
76 . ds #F 0 | |
77 . ds #[ \& | |
78 . ds #] \& | |
79 .\} | |
80 . \" simple accents for nroff and troff | |
81 .if n \{\ | |
82 . ds ' \& | |
83 . ds ` \& | |
84 . ds ^ \& | |
85 . ds , \& | |
86 . ds ~ ~ | |
87 . ds / | |
88 .\} | |
89 .if t \{\ | |
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" | |
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' | |
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' | |
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' | |
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' | |
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' | |
96 .\} | |
97 . \" troff and (daisy-wheel) nroff accents | |
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' | |
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H' | |
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] | |
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' | |
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' | |
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] | |
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] | |
105 .ds ae a\h'-(\w'a'u*4/10)'e | |
106 .ds Ae A\h'-(\w'A'u*4/10)'E | |
107 . \" corrections for vroff | |
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' | |
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' | |
110 . \" for low resolution devices (crt and lpr) | |
111 .if \n(.H>23 .if \n(.V>19 \ | |
112 \{\ | |
113 . ds : e | |
114 . ds 8 ss | |
115 . ds o a | |
116 . ds d- d\h'-1'\(ga | |
117 . ds D- D\h'-1'\(hy | |
118 . ds th \o'bp' | |
119 . ds Th \o'LP' | |
120 . ds ae ae | |
121 . ds Ae AE | |
122 .\} | |
123 .rm #[ #] #H #V #F C | |
124 .\" ======================================================================== | |
125 .\" | |
126 .IX Title "MATRIX 1" | |
127 .TH MATRIX 1 "2015-03-29" "perl v5.14.2" "MayaChemTools" | |
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes | |
129 .\" way too many mistakes in technical documents. | |
130 .if n .ad l | |
131 .nh | |
132 .SH "NAME" | |
133 Matrix | |
134 .SH "SYNOPSIS" | |
135 .IX Header "SYNOPSIS" | |
136 use Matrix; | |
137 .PP | |
138 use Matrix qw(:all); | |
139 .SH "DESCRIPTION" | |
140 .IX Header "DESCRIPTION" | |
141 \&\fBMatrix\fR class provides the following methods: | |
142 .PP | |
143 new, AddColumnValues, AddRowValues, Copy, GetColumnValues, | |
144 GetColumnValuesAsColumnMatrix, GetColumnValuesAsRowMatrix, | |
145 GetColumnValuesAsString, GetColumnValuesAsVector, GetDiagonalValues, | |
146 GetDiagonalValuesAsColumnMatrix, GetDiagonalValuesAsRowMatrix, | |
147 GetDiagonalValuesAsString, GetDiagonalValuesAsVector, GetDimension, | |
148 GetMatrixValuesReference, GetNumOfColumns, GetNumOfRows, GetRowValues, | |
149 GetRowValuesAsColumnMatrix, GetRowValuesAsRowMatrix, GetRowValuesAsString, | |
150 GetRowValuesAsVector, GetSize, GetValue, IdentityMatrix, IsAntiSymmetric, | |
151 IsBiDiagonal, IsDiagonal, IsIdentity, IsLeftTriangular, IsLowerBiDiagonal, | |
152 IsLowerTriangular, IsLowerUniTriangular, IsMatrix, IsNegative, IsPositive, | |
153 IsRightTriangular, IsSkewSymmetric, IsSquare, IsStrictlyLowerTriangular, | |
154 IsStrictlyUpperTriangular, IsSymmetric, IsTriDiagonal, IsUnit, | |
155 IsUnitLowerTriangular, IsUnitUpperTriangular, IsUpperBiDiagonal, | |
156 IsUpperTriangular, IsUpperUniTriangular, NewFromColumns, NewFromDiagonal, | |
157 NewFromRows, One, SetAllValues, SetColumnValues, SetDiagonalValues, | |
158 SetMatrixPrintStyle, SetRowValues, SetValue, SetValuePrintFormat, StringifyMatrix, | |
159 Transpose, UnitMatrix, Zero, ZeroMatrix | |
160 .PP | |
161 The following functions are available: | |
162 .PP | |
163 IsMatrix, IdentityMatrix, NewFromRows, NewFromColumns, NewFromDiagonal, | |
164 UnitMatrix, ZeroMatrix | |
165 .PP | |
166 The following operators are overloaded: | |
167 .PP | |
168 .Vb 6 | |
169 \& "" bool ! | |
170 \& @{} | |
171 \& + \- * / ** % | |
172 \& == != < <= > >= | |
173 \& neg | |
174 \& abs exp log sqrt cos sin | |
175 .Ve | |
176 .PP | |
177 The matrix row and column indicies start from zero. | |
178 .SS "\s-1FUNCTIONS\s0" | |
179 .IX Subsection "FUNCTIONS" | |
180 .IP "\fBnew\fR" 4 | |
181 .IX Item "new" | |
182 .Vb 1 | |
183 \& $NewMatrix = $Matrix\->new($NumOfRows, $NumOfCols); | |
184 .Ve | |
185 .Sp | |
186 Creates a new \fBMatrix\fR of size \fINumOfRows x NumOfCol\fR and returns \fBNewMatrix\fR | |
187 object. | |
188 .IP "\fBAddColumnValues\fR" 4 | |
189 .IX Item "AddColumnValues" | |
190 .Vb 4 | |
191 \& $Matrix\->AddColumnValues(@Values); | |
192 \& $Matrix\->AddColumnValues(\e@Values); | |
193 \& $Matrix\->AddColumnValues($VectorObject); | |
194 \& $Matrix\->AddColumnValues("Value1 Value2 Value3 ..."); | |
195 .Ve | |
196 .Sp | |
197 Adds column values to \fIMatrix\fR using an array, reference to an array, another vector, or space | |
198 delimited value string and returns \fIMatrix\fR. | |
199 .IP "\fBAddRowValues\fR" 4 | |
200 .IX Item "AddRowValues" | |
201 .Vb 4 | |
202 \& $Matrix\->AddRowValues(@Values); | |
203 \& $Matrix\->AddRowValues(\e@Values); | |
204 \& $Matrix\->AddRowValues($VectorObject); | |
205 \& $Matrix\->AddRowValues("Value1 Value2 Value3 ..."); | |
206 .Ve | |
207 .Sp | |
208 Adds row values to \fIMatrix\fR using an array, reference to an array, another vector, or space | |
209 delimited value string and returns \fBMatrix\fR. | |
210 .IP "\fBCopy\fR" 4 | |
211 .IX Item "Copy" | |
212 .Vb 1 | |
213 \& $NewMatrix = $Matrix\->Copy(); | |
214 .Ve | |
215 .Sp | |
216 Creates a copy of \fIMatrix\fR and returns \fBNewMatrix\fR. | |
217 .IP "\fBGetColumnValues\fR" 4 | |
218 .IX Item "GetColumnValues" | |
219 .Vb 2 | |
220 \& @Values = $Matrix\->GetColumnValues($ColIndex); | |
221 \& $ValueCount = $Matrix\->GetColumnValues($ColIndex); | |
222 .Ve | |
223 .Sp | |
224 Returns an array containing column value specified using \fIColIndex\fR with column index | |
225 starting at 0. In scalar context, number of column values is returned. | |
226 .IP "\fBGetColumnValuesAsColumnMatrix\fR" 4 | |
227 .IX Item "GetColumnValuesAsColumnMatrix" | |
228 .Vb 1 | |
229 \& $ColumnMatrix = $Matrix\->GetColumnValuesAsColumnMatrix($ColIndex); | |
230 .Ve | |
231 .Sp | |
232 Returns a new \fBColumnMatrix\fR containing column values specified using \fIColIndex\fR with | |
233 column index starting at 0. | |
234 .IP "\fBGetColumnValuesAsRowMatrix\fR" 4 | |
235 .IX Item "GetColumnValuesAsRowMatrix" | |
236 .Vb 1 | |
237 \& $RowMatrix = $Matrix\->GetColumnValuesAsRowMatrix($ColIndex); | |
238 .Ve | |
239 .Sp | |
240 Returns a new \fBRowMatrix\fR containing column values specified using \fIColIndex\fR with | |
241 column index starting at 0. | |
242 .IP "\fBGetColumnValuesAsString\fR" 4 | |
243 .IX Item "GetColumnValuesAsString" | |
244 .Vb 1 | |
245 \& $ColumnValuesString = $Matrix\->GetColumnValuesAsString($ColIndex); | |
246 .Ve | |
247 .Sp | |
248 Returns a space delimited \fBColumnValuesString\fR column values specified using \fIColIndex\fR with | |
249 column index starting at 0. | |
250 .IP "\fBGetColumnValuesAsVector\fR" 4 | |
251 .IX Item "GetColumnValuesAsVector" | |
252 .Vb 1 | |
253 \& $ColumnVector = $Matrix\->GetColumnValuesAsVector($ColIndex); | |
254 .Ve | |
255 .Sp | |
256 Returns a new \fBColumnVector\fR column values specified using \fIRowIndex\fR with | |
257 column index starting at 0. | |
258 .IP "\fBGetDiagonalValues\fR" 4 | |
259 .IX Item "GetDiagonalValues" | |
260 .Vb 2 | |
261 \& @Values = $Matrix\->GetDiagonalValues(); | |
262 \& $ValueCount = $Matrix\->GetDiagonalValues(); | |
263 .Ve | |
264 .Sp | |
265 Returns an array containing diagonal values. In scalar context, number of diagonal | |
266 values is returned. | |
267 .IP "\fBGetDiagonalValuesAsColumnMatrix\fR" 4 | |
268 .IX Item "GetDiagonalValuesAsColumnMatrix" | |
269 .Vb 1 | |
270 \& $ColumnMatrix = $Matrix\->GetDiagonalValuesAsColumnMatrix(); | |
271 .Ve | |
272 .Sp | |
273 Returns a new \fBColumnMatrix\fR containing diagonal values corresponding to \fIMatrix\fR. | |
274 .IP "\fBGetDiagonalValuesAsRowMatrix\fR" 4 | |
275 .IX Item "GetDiagonalValuesAsRowMatrix" | |
276 .Vb 1 | |
277 \& $RowMatrix = $Matrix\->GetDiagonalValuesAsRowMatrix(); | |
278 .Ve | |
279 .Sp | |
280 Returns a new \fBRowMatrix\fR containing diagonal values corresponding to \fIMatrix\fR. | |
281 .IP "\fBGetDiagonalValuesAsString\fR" 4 | |
282 .IX Item "GetDiagonalValuesAsString" | |
283 .Vb 1 | |
284 \& $DiagonalValuesString = $Matrix\->GetDiagonalValuesAsString(); | |
285 .Ve | |
286 .Sp | |
287 Returns a space delimited \fBDiagonalValuesString\fR containing diagonal values corresponding to | |
288 \&\fIMatrix\fR. | |
289 .IP "\fBGetDiagonalValuesAsVector\fR" 4 | |
290 .IX Item "GetDiagonalValuesAsVector" | |
291 .Vb 1 | |
292 \& $DiagonalVector = $Matrix\->GetDiagonalValuesAsVector(); | |
293 .Ve | |
294 .Sp | |
295 Returns a new \fBDiagonalVector\fR containing diagonal values corresponding to \fIMatrix\fR. | |
296 .IP "\fBGetDimension\fR" 4 | |
297 .IX Item "GetDimension" | |
298 .Vb 1 | |
299 \& ($NumOfRows, $NumOfCols) = $Matrix\->GetDimension(); | |
300 .Ve | |
301 .Sp | |
302 Returns size of \fIMatrix\fR. | |
303 .IP "\fBGetMatrixValuesReference\fR" 4 | |
304 .IX Item "GetMatrixValuesReference" | |
305 .Vb 1 | |
306 \& $ValuesRef = $Matrix\->GetMatrixValuesReference(); | |
307 .Ve | |
308 .Sp | |
309 Returns a reference to array containing rows and column values corresponding to \fIMatrix\fR. | |
310 .IP "\fBGetNumOfColumns\fR" 4 | |
311 .IX Item "GetNumOfColumns" | |
312 .Vb 1 | |
313 \& $NumOfCols = $Matrix\->GetNumOfColumns(); | |
314 .Ve | |
315 .Sp | |
316 Returns \fBNumOfCols\fR in \fIMatrix\fR. | |
317 .IP "\fBGetNumOfRows\fR" 4 | |
318 .IX Item "GetNumOfRows" | |
319 .Vb 1 | |
320 \& $NumOfRows = $Matrix\->GetNumOfRows(); | |
321 .Ve | |
322 .Sp | |
323 Returns \fBNumOfRows\fR in \fIMatrix\fR. | |
324 .IP "\fBGetRowValues\fR" 4 | |
325 .IX Item "GetRowValues" | |
326 .Vb 2 | |
327 \& @Values = $Matrix\->GetRowValues($RowIndex); | |
328 \& $ValueCount = $Matrix\->GetRowValues($RowIndex); | |
329 .Ve | |
330 .Sp | |
331 Returns an array containing row value specified using \fIRowIndex\fR with row index | |
332 starting at 0. In scalar context, number of row values is returned. | |
333 .IP "\fBGetRowValuesAsColumnMatrix\fR" 4 | |
334 .IX Item "GetRowValuesAsColumnMatrix" | |
335 .Vb 1 | |
336 \& $ColumnMatrix = $Matrix\->GetRowValuesAsColumnMatrix($RowIndex); | |
337 .Ve | |
338 .Sp | |
339 Returns a new \fBColumnMatrix\fR containing row values specified using \fIRowIndex\fR with | |
340 column index starting at 0. | |
341 .IP "\fBGetRowValuesAsRowMatrix\fR" 4 | |
342 .IX Item "GetRowValuesAsRowMatrix" | |
343 .Vb 1 | |
344 \& $RowMatrix = $Matrix\->GetRowValuesAsRowMatrix($RowIndex); | |
345 .Ve | |
346 .Sp | |
347 Returns a new \fBRowMatrix\fR containing row values specified using \fIRowIndex\fR with | |
348 row index starting at 0. | |
349 .IP "\fBGetRowValuesAsString\fR" 4 | |
350 .IX Item "GetRowValuesAsString" | |
351 .Vb 1 | |
352 \& $RowValuesString = $Matrix\->GetRowValuesAsString($RowIndex); | |
353 .Ve | |
354 .Sp | |
355 Returns a space delimited \fBRowValuesString\fR row values specified using \fIRowIndex\fR with | |
356 row index starting at 0. | |
357 .IP "\fBGetRowValuesAsVector\fR" 4 | |
358 .IX Item "GetRowValuesAsVector" | |
359 .Vb 1 | |
360 \& $RowVector = $Matrix\->GetColumnValuesAsVector($RowIndex); | |
361 .Ve | |
362 .Sp | |
363 Returns a new \fBRowVector\fR row values specified using \fIRowIndex\fR with | |
364 row index starting at 0. | |
365 .IP "\fBGetSize\fR" 4 | |
366 .IX Item "GetSize" | |
367 .Vb 1 | |
368 \& ($NumOfRows, $NumOfCols) = $Matrix\->GetSize(); | |
369 .Ve | |
370 .Sp | |
371 Returns size of \fIMatrix\fR. | |
372 .IP "\fBGetValue\fR" 4 | |
373 .IX Item "GetValue" | |
374 .Vb 1 | |
375 \& $Value = $Matrix\->GetValue($RowIndex, $ColIndex, [$SkipIndexCheck]); | |
376 .Ve | |
377 .Sp | |
378 Returns \fBValue\fR of \fIMatrix\fR element specified using \fIRowIndex\fR and \fIColIndex\fR with indicies | |
379 starting at 0 with optional validation of specified index values. | |
380 .IP "\fBIdentityMatrix\fR" 4 | |
381 .IX Item "IdentityMatrix" | |
382 .Vb 3 | |
383 \& $NewIdentityMatrix = $Matrix\->IdentityMatrix($NumOfRows, $NumOfCols); | |
384 \& $NewIdentityMatrix = Matrix::IdentityMatrix($NumOfRows, $NumOfCols); | |
385 \& $NewIdentityMatrix = Matrix::IdentityMatrix(); | |
386 .Ve | |
387 .Sp | |
388 Creates a new \fBIdentityMatrix\fR of specified size \fINumOfRows x NumOfCol\fR or of size 3 x 3 and | |
389 returns \fBNewIdentityMatrix\fR object. | |
390 .IP "\fBIsAntiSymmetric\fR" 4 | |
391 .IX Item "IsAntiSymmetric" | |
392 .Vb 1 | |
393 \& $Status = $Matrix\->IsAntiSymmetric(); | |
394 .Ve | |
395 .Sp | |
396 Returns 1 or 0 based on whether \fIMatrix\fR is an anti symmetric matrix. | |
397 .Sp | |
398 A matrix is an anti symmetric matrix: | |
399 .Sp | |
400 .Vb 4 | |
401 \& . It\*(Aqs a square matrix | |
402 \& . Its elements are asymmetric with respect to main diagonal. In other words, | |
403 \& elements below the main diagonal are equal to the negative of elements above | |
404 \& the main diagonal. | |
405 .Ve | |
406 .Sp | |
407 Transpose of an anti symmetric matrix equals the negative of the matrix. | |
408 .IP "\fBIsBiDiagonal\fR" 4 | |
409 .IX Item "IsBiDiagonal" | |
410 .Vb 1 | |
411 \& $Status = $Matrix\->IsBiDiagonal(); | |
412 .Ve | |
413 .Sp | |
414 Returns 1 or 0 based on whether \fIMatrix\fR is upper or lower bidiagonal matrix. | |
415 .IP "\fBIsDiagonal\fR" 4 | |
416 .IX Item "IsDiagonal" | |
417 .Vb 1 | |
418 \& $Status = $Matrix\->IsDiagonal(); | |
419 .Ve | |
420 .Sp | |
421 Returns 1 or 0 based on whether \fIMatrix\fR is a diagonal matrix. | |
422 .Sp | |
423 A matrix is a diagonal matrix: | |
424 .Sp | |
425 .Vb 3 | |
426 \& . It\*(Aqs a square matrix | |
427 \& . All its off\-diagonal elements are zeros and its diagonal elements may or may not | |
428 \& be zeros | |
429 .Ve | |
430 .IP "\fBIsIdentity\fR" 4 | |
431 .IX Item "IsIdentity" | |
432 .Vb 1 | |
433 \& $Status = $Matrix\->IsIdentity(); | |
434 .Ve | |
435 .Sp | |
436 Returns 1 or 0 based on whether \fIMatrix\fR is an identity matrix. | |
437 .IP "\fBIsLeftTriangular\fR" 4 | |
438 .IX Item "IsLeftTriangular" | |
439 .Vb 1 | |
440 \& $Status = $Matrix\->IsLeftTriangular(); | |
441 .Ve | |
442 .Sp | |
443 Returns 1 or 0 based on whether \fIMatrix\fR is a left or lower matrix. | |
444 .Sp | |
445 A matrix is a left triangular matrix: | |
446 .Sp | |
447 .Vb 2 | |
448 \& . It\*(Aqs a square matrix | |
449 \& . All its entries above the main diagonal are zero | |
450 .Ve | |
451 .IP "\fBIsLowerBiDiagonal\fR" 4 | |
452 .IX Item "IsLowerBiDiagonal" | |
453 .Vb 1 | |
454 \& $Status = $Matrix\->IsLowerBiDiagonal(); | |
455 .Ve | |
456 .Sp | |
457 Returns 1 or 0 based on whether \fIMatrix\fR is a lower bidiagonal matrix. | |
458 .Sp | |
459 A matrix is a lower bidiagonal matrix: | |
460 .Sp | |
461 .Vb 3 | |
462 \& . It\*(Aqs a square matrix | |
463 \& . All its main diagonal and lower diagonal elements are non\-zeros and all its | |
464 \& other elements are zeros | |
465 .Ve | |
466 .IP "\fBIsLowerTriangular\fR" 4 | |
467 .IX Item "IsLowerTriangular" | |
468 .Vb 1 | |
469 \& $Status = $Matrix\->IsLowerTriangular(); | |
470 .Ve | |
471 .Sp | |
472 Returns 1 or 0 based on whether \fIMatrix\fR is a left or lower triangular matrix. | |
473 .Sp | |
474 A matrix is a lower triangular matrix: | |
475 .Sp | |
476 .Vb 2 | |
477 \& . It\*(Aqs a square matrix | |
478 \& . All its entries above the main diagonal are zero | |
479 .Ve | |
480 .IP "\fBIsLowerUniTriangular\fR" 4 | |
481 .IX Item "IsLowerUniTriangular" | |
482 .Vb 1 | |
483 \& $Status = $Matrix\->IsLowerUniTriangular(); | |
484 .Ve | |
485 .Sp | |
486 Returns 1 or 0 based on whether \fIMatrix\fR is a lower triangular matrix. | |
487 .IP "\fBIsMatrix\fR" 4 | |
488 .IX Item "IsMatrix" | |
489 .Vb 1 | |
490 \& $Status = Matrix::IsMatrix($Object); | |
491 .Ve | |
492 .Sp | |
493 Returns 1 or 0 based on whether \fIObject\fR is a \fBMatrix\fR object. | |
494 .IP "\fBIsNegative\fR" 4 | |
495 .IX Item "IsNegative" | |
496 .Vb 1 | |
497 \& $Status = $Matrix\->IsNegative(); | |
498 .Ve | |
499 .Sp | |
500 Returns 1 or 0 based on whether \fIMatrix\fR is a negative matrix containing only values | |
501 less than or equal to zero. | |
502 .IP "\fBIsPositive\fR" 4 | |
503 .IX Item "IsPositive" | |
504 .Vb 1 | |
505 \& $Status = $Matrix\->IsPositive(); | |
506 .Ve | |
507 .Sp | |
508 Returns 1 or 0 based on whether \fIMatrix\fR is a negative matrix containing only values | |
509 greater than or equal to zero. | |
510 .IP "\fBIsRightTriangular\fR" 4 | |
511 .IX Item "IsRightTriangular" | |
512 .Vb 1 | |
513 \& $Status = $Matrix\->IsRightTriangular(); | |
514 .Ve | |
515 .Sp | |
516 Returns 1 or 0 based on whether \fIMatrix\fR is a right or upper triangular matrix. | |
517 .IP "\fBIsSkewSymmetric\fR" 4 | |
518 .IX Item "IsSkewSymmetric" | |
519 .Vb 1 | |
520 \& $Status = $Matrix\->IsSkewSymmetric(); | |
521 .Ve | |
522 .Sp | |
523 Returns 1 or 0 based on whether \fIMatrix\fR is a skew or anti symmetric matrix. | |
524 .IP "\fBIsSquare\fR" 4 | |
525 .IX Item "IsSquare" | |
526 .Vb 1 | |
527 \& $Status = $Matrix\->IsSquare(); | |
528 .Ve | |
529 .Sp | |
530 Returns 1 or 0 based on whether \fIMatrix\fR is a square matrix containing equal | |
531 number of rows and columns. | |
532 .IP "\fBIsStrictlyLowerTriangular\fR" 4 | |
533 .IX Item "IsStrictlyLowerTriangular" | |
534 .Vb 1 | |
535 \& $Status = $Matrix\->IsStrictlyLowerTriangular(); | |
536 .Ve | |
537 .Sp | |
538 Returns 1 or 0 based on whether \fIMatrix\fR is a strictly lower triangular matrix. | |
539 .Sp | |
540 A matrix is a strictly lower triangular matrix: | |
541 .Sp | |
542 .Vb 2 | |
543 \& . It\*(Aqs a square matrix | |
544 \& . All its entries on and above the main diagonal are zero | |
545 .Ve | |
546 .IP "\fBIsStrictlyUpperTriangular\fR" 4 | |
547 .IX Item "IsStrictlyUpperTriangular" | |
548 .Vb 1 | |
549 \& $Status = $Matrix\->IsStrictlyUpperTriangular(); | |
550 .Ve | |
551 .Sp | |
552 Returns 1 or 0 based on whether \fIMatrix\fR is a strictly upper triangular matrix. | |
553 .Sp | |
554 A matrix is a strictly upper triangular matrix: | |
555 .Sp | |
556 .Vb 2 | |
557 \& . It\*(Aqs a square matrix | |
558 \& . All its entries on and below the main diagonal are zero | |
559 .Ve | |
560 .IP "\fBIsSymmetric\fR" 4 | |
561 .IX Item "IsSymmetric" | |
562 .Vb 1 | |
563 \& $Status = $Matrix\->IsSymmetric(); | |
564 .Ve | |
565 .Sp | |
566 Returns 1 or 0 based on whether \fIMatrix\fR is a symmetric matrix. | |
567 .Sp | |
568 A matrix is a symmetric matrix: | |
569 .Sp | |
570 .Vb 4 | |
571 \& . It\*(Aqs a square matrix | |
572 \& . Its elements are symmetric with respect to main diagonal. In other words, | |
573 \& elements below the main diagonal are equal to the elements above the main | |
574 \& diagonal. | |
575 .Ve | |
576 .Sp | |
577 Transpose of a symmetric matrix equals the matrix itself. | |
578 .IP "\fBIsTriDiagonal\fR" 4 | |
579 .IX Item "IsTriDiagonal" | |
580 .Vb 1 | |
581 \& $Status = $Matrix\->IsTriDiagonal(); | |
582 .Ve | |
583 .Sp | |
584 Returns 1 or 0 based on whether \fIMatrix\fR is a tridiagonal matrix. | |
585 .Sp | |
586 A matrix is a tribidiagonal matrix: | |
587 .Sp | |
588 .Vb 3 | |
589 \& . It\*(Aqs a square matrix | |
590 \& . All its main diagonal, upper diagonal, and lower diagonal elements are non\-zeros and all its | |
591 \& other elements are zeros | |
592 .Ve | |
593 .IP "\fBIsUnit\fR" 4 | |
594 .IX Item "IsUnit" | |
595 .Vb 1 | |
596 \& $Status = $Matrix\->IsUnit(); | |
597 .Ve | |
598 .Sp | |
599 Returns 1 or 0 based on whether \fIMatrix\fR is a unit matrix. | |
600 .Sp | |
601 A matrix is a unit matrix: | |
602 .Sp | |
603 .Vb 2 | |
604 \& . It\*(Aqs a square matrix | |
605 \& . All its diagonal elements are ones and its off\-diagonal elements are zeros | |
606 .Ve | |
607 .IP "\fBIsUnitLowerTriangular\fR" 4 | |
608 .IX Item "IsUnitLowerTriangular" | |
609 .Vb 1 | |
610 \& $Status = $Matrix\->IsUnitLowerTriangular(); | |
611 .Ve | |
612 .Sp | |
613 Returns 1 or 0 based on whether \fIMatrix\fR is an unit lower triangular matrix. | |
614 .Sp | |
615 A matrix is an unit lower triangular matrix: | |
616 .Sp | |
617 .Vb 3 | |
618 \& . It\*(Aqs a square matrix | |
619 \& . All its entries main diagonal are one | |
620 \& . All its entries above the main diagonal are zero | |
621 .Ve | |
622 .IP "\fBIsUnitUpperTriangular\fR" 4 | |
623 .IX Item "IsUnitUpperTriangular" | |
624 .Vb 1 | |
625 \& $Status = $Matrix\->IsUnitUpperTriangular(); | |
626 .Ve | |
627 .Sp | |
628 Returns 1 or 0 based on whether \fIMatrix\fR is an unit upper triangular matrix. | |
629 .Sp | |
630 A matrix is an unit upper triangular matrix: | |
631 .Sp | |
632 .Vb 3 | |
633 \& . It\*(Aqs a square matrix | |
634 \& . All its entries main diagonal are one | |
635 \& . All its entries below the main diagonal are zero | |
636 .Ve | |
637 .IP "\fBIsUpperBiDiagonal\fR" 4 | |
638 .IX Item "IsUpperBiDiagonal" | |
639 .Vb 1 | |
640 \& $Status = $Matrix\->IsUpperBiDiagonal(); | |
641 .Ve | |
642 .Sp | |
643 Returns 1 or 0 based on whether \fIMatrix\fR is an upper bidiagonal matrix. | |
644 .Sp | |
645 A matrix is an upper bidiagonal matrix: | |
646 .Sp | |
647 .Vb 3 | |
648 \& . It\*(Aqs a square matrix | |
649 \& . All its main diagonal and upper diagonal elements are non\-zeros and all its | |
650 \& other elements are zeros | |
651 .Ve | |
652 .IP "\fBIsUpperTriangular\fR" 4 | |
653 .IX Item "IsUpperTriangular" | |
654 .Vb 1 | |
655 \& $Status = $Matrix\->IsUpperTriangular(); | |
656 .Ve | |
657 .Sp | |
658 Returns 1 or 0 based on whether \fIMatrix\fR is a right or upper triangular matrix. | |
659 .Sp | |
660 A matrix is an upper triangular matrix: | |
661 .Sp | |
662 .Vb 2 | |
663 \& . It\*(Aqs a square matrix | |
664 \& . All its entries below the main diagonal are zero | |
665 .Ve | |
666 .IP "\fBIsUpperUniTriangular\fR" 4 | |
667 .IX Item "IsUpperUniTriangular" | |
668 .Vb 1 | |
669 \& $Status = $Matrix\->IsUpperUniTriangular(); | |
670 .Ve | |
671 .Sp | |
672 Returns 1 or 0 based on whether \fIMatrix\fR is a right or upper triangular matrix. | |
673 .IP "\fBNewFromColumns\fR" 4 | |
674 .IX Item "NewFromColumns" | |
675 .Vb 3 | |
676 \& $NewMatrix = Matrix::NewFromColumns($Col1Vector, $Col2Vector, ...); | |
677 \& $NewMatrix = Matrix::NewFromColumns($Col1ValuesRef, $Col2ValuesRef, ...); | |
678 \& $NewMatrix = Matrix::NewFromColumns("Val1 Val2 ...", "Val1 Val2", ...); | |
679 \& | |
680 \& $NewMatrix = $Matrix\->NewFromColumns($Col1Vector, $Col2Vector, ...); | |
681 \& $NewMatrix = $Matrix\->NewFromColumns($Col1ValuesRef, $Col2ValuesRef, ...); | |
682 \& $NewMatrix = $Matrix\->NewFromColumns("Val1 Val2 ...", "Val1 Val2", ...); | |
683 .Ve | |
684 .Sp | |
685 Creates a new \fBMatrix\fR using specified column values and returns \fBNewMatrix\fR object. | |
686 .Sp | |
687 The column values can be specified in one of the following formats: | |
688 .Sp | |
689 .Vb 3 | |
690 \& . List of vector objects | |
691 \& . References to list of values | |
692 \& . List of strings containing columns values delimited by space | |
693 .Ve | |
694 .Sp | |
695 Each column must contain the same number of values. | |
696 .IP "\fBNewFromDiagonal\fR" 4 | |
697 .IX Item "NewFromDiagonal" | |
698 .Vb 3 | |
699 \& $NewMatrix = Matrix::NewFromDiagonal($DiagonalVector); | |
700 \& $NewMatrix = Matrix::NewFromDiagonal($DiagonalValuesRef); | |
701 \& $NewMatrix = Matrix::NewFromDiagonal("Val1 Val2 ..."); | |
702 \& | |
703 \& $NewMatrix = Matrix\->NewFromDiagonal($DiagonalVector); | |
704 \& $NewMatrix = Matrix\->NewFromDiagonal($DiagonalValuesRef); | |
705 \& $NewMatrix = Matrix\->NewFromDiagonal("Val1 Val2 ..."); | |
706 .Ve | |
707 .Sp | |
708 Creates a new \fBMatrix\fR using specified diagonal values and returns \fBNewMatrix\fR object. | |
709 .Sp | |
710 The column values can be specified in one of the following formats: | |
711 .Sp | |
712 .Vb 3 | |
713 \& . A vector object | |
714 \& . Reference to list of values | |
715 \& . Strings containing diagonal values delimited by space | |
716 .Ve | |
717 .IP "\fBNewFromRows\fR" 4 | |
718 .IX Item "NewFromRows" | |
719 .Vb 3 | |
720 \& $NewMatrix = Matrix::NewFromRows($Row1Vector, $RowVector, ...); | |
721 \& $NewMatrix = Matrix::NewFromRows($Row1ValuesRef, $Row2ValuesRef, ...); | |
722 \& $NewMatrix = Matrix::NewFromRows("Val1 Val2 ...", "Val1 Val2", ...); | |
723 \& | |
724 \& $NewMatrix = $Matrix\->NewFromRows($Row1Vector, $Row2Vector, ...); | |
725 \& $NewMatrix = $Matrix\->NewFromRows($Row1ValuesRef, $Row2ValuesRef, ...); | |
726 \& $NewMatrix = $Matrix\->NewFromRows("Val1 Val2 ...", "Val1 Val2", ...); | |
727 .Ve | |
728 .Sp | |
729 Creates a new \fBMatrix\fR using specified row values and returns \fBNewMatrix\fR object. | |
730 .Sp | |
731 The row values can be specified in one of the following formats: | |
732 .Sp | |
733 .Vb 3 | |
734 \& . List of vector objects | |
735 \& . References to list of values | |
736 \& . List of strings containing columns values delimited by space | |
737 .Ve | |
738 .Sp | |
739 Each row must contain the same number of values. | |
740 .IP "\fBOne\fR" 4 | |
741 .IX Item "One" | |
742 .Vb 1 | |
743 \& $Matrix\->One(); | |
744 .Ve | |
745 .Sp | |
746 Sets values of all \fIMatrix\fR elements to 1 and returns \fIMatrix\fR. | |
747 .IP "\fBSetAllValues\fR" 4 | |
748 .IX Item "SetAllValues" | |
749 .Vb 1 | |
750 \& $Matrix\->SetAllValues($Value); | |
751 .Ve | |
752 .Sp | |
753 Sets values of all \fIMatrix\fR elements to specified \fIValue\fR and returns \fIMatrix\fR. | |
754 .IP "\fBSetColumnValues\fR" 4 | |
755 .IX Item "SetColumnValues" | |
756 .Vb 4 | |
757 \& $Matrix\->SetColumnValues($ColIndex, @Values); | |
758 \& $Matrix\->SetColumnValues($ColIndex, \e@Values); | |
759 \& $Matrix\->SetColumnValues($ColIndex, $VectorObject); | |
760 \& $Matrix\->SetColumnValues($ColIndex, "Value1 Value2 Value3 ..."); | |
761 .Ve | |
762 .Sp | |
763 Sets column values of a specified \fIColIndex\fR of \fIMatrix\fR using an array, reference to an array, | |
764 another vector, or space delimited value string and returns \fIMatrix\fR. | |
765 .IP "\fBSetDiagonalValues\fR" 4 | |
766 .IX Item "SetDiagonalValues" | |
767 .Vb 4 | |
768 \& $Matrix\->SetDiagonalValues(@Values); | |
769 \& $Matrix\->SetDiagonalValues(\e@Values); | |
770 \& $Matrix\->SetDiagonalValues($VectorObject); | |
771 \& $Matrix\->SetDiagonalValues("Value1 Value2 Value3 ..."); | |
772 .Ve | |
773 .Sp | |
774 Sets values of the diagonal in square \fIMatrix\fR and returns \fIMatrix\fR. | |
775 .IP "\fBSetMatrixPrintStyle\fR" 4 | |
776 .IX Item "SetMatrixPrintStyle" | |
777 .Vb 2 | |
778 \& $Matrix\->SetMatrixPrintStyle($MatrixStyle); | |
779 \& $Matrix::SetMatrixPrintStyle($MatrixStyle); | |
780 .Ve | |
781 .Sp | |
782 Sets print style for matrix rows for an individual object or the whole class during StringifyMatrix | |
783 operation. Possible \fIMatrixStyle\fR values: \fIAllRowsInOneLine, OneRowPerLine\fR. Default: | |
784 \&\fIAllRowsInOneLine\fR. | |
785 .IP "\fBSetRowValues\fR" 4 | |
786 .IX Item "SetRowValues" | |
787 .Vb 4 | |
788 \& $Matrix\->SetRowValues($ColIndex, @Values); | |
789 \& $Matrix\->SetRowValues($ColIndex, \e@Values); | |
790 \& $Matrix\->SetRowValues($ColIndex, $VectorObjext); | |
791 \& $Matrix\->SetRowValues($ColIndex, "Value1 Value2 Value3 ..."); | |
792 .Ve | |
793 .Sp | |
794 Sets row values of a specified \fIRowIndex\fR of \fIMatrix\fR using an array, reference to an array, | |
795 another vector, or space delimited value string and returns \fIMatrix\fR. | |
796 .IP "\fBSetValue\fR" 4 | |
797 .IX Item "SetValue" | |
798 .Vb 1 | |
799 \& $Matrix\->SetValue($RowIndex, $ColIndex, $Value, [$SkipIndexCheck]); | |
800 .Ve | |
801 .Sp | |
802 Sets \fBValue\fR of \fIMatrix\fR element specified using \fIRowIndex\fR and \fIColIndex\fR with indicies | |
803 starting at 0 with optional validation of specified index values and return \fIMatrix\fR. | |
804 .IP "\fBSetValuePrintFormat\fR" 4 | |
805 .IX Item "SetValuePrintFormat" | |
806 .Vb 2 | |
807 \& $Matrix\->SetValuePrintFormat($ValueFormat); | |
808 \& $Matrix::SetValuePrintFormat($ValueFormat); | |
809 .Ve | |
810 .Sp | |
811 Sets value print format for an individual object or the whole class during StringifyMatrix operation | |
812 and returns \fIMatrix\fR. | |
813 .IP "\fBStringifyMatrix\fR" 4 | |
814 .IX Item "StringifyMatrix" | |
815 .Vb 1 | |
816 \& $String = $Matrix\->StringifyMatrix(); | |
817 .Ve | |
818 .Sp | |
819 Returns a string containing information about \fIMatrix\fR object. | |
820 .IP "\fBTranspose\fR" 4 | |
821 .IX Item "Transpose" | |
822 .Vb 1 | |
823 \& $Matrix\->Transpose(); | |
824 .Ve | |
825 .Sp | |
826 Transposes \fIMatrix\fR by swaping rows with columns and returns \fIMatrix\fR. | |
827 .IP "\fBUnitMatrix\fR" 4 | |
828 .IX Item "UnitMatrix" | |
829 .Vb 3 | |
830 \& $NewUnitMatrix = $Matrix::UnitMatrix($NumOfRows, $NumOfCols); | |
831 \& $NewUnitMatrix = $Matrix::UnitMatrix(); | |
832 \& $NewUnitMatrix = $Matrix\->UnitMatrix($NumOfRows, $NumOfCols); | |
833 .Ve | |
834 .Sp | |
835 Creates a new \fBUnitMatrix\fR of specified size \fINumOfRows x NumOfCol\fR or of size 3 x 3 and | |
836 returns \fBNewUnitMatrix\fR object. | |
837 .IP "\fBZero\fR" 4 | |
838 .IX Item "Zero" | |
839 .Vb 1 | |
840 \& $Matrix\->Zero(); | |
841 .Ve | |
842 .Sp | |
843 Sets values of all \fIMatrix\fR elements to 0 and returns \fIMatrix\fR. | |
844 .IP "\fBZeroMatrix\fR" 4 | |
845 .IX Item "ZeroMatrix" | |
846 .Vb 3 | |
847 \& $NewZeroMatrix = $Matrix::ZeroMatrix($NumOfRows, $NumOfCols); | |
848 \& $NewZeroMatrix = $Matrix::ZeroMatrix(); | |
849 \& $NewZeroMatrix = $Matrix\->ZeroMatrix($NumOfRows, $NumOfCols); | |
850 .Ve | |
851 .Sp | |
852 Creates a new \fBZeroMatrix\fR of specified size \fINumOfRows x NumOfCol\fR or of size 3 x 3 and | |
853 returns \fBNewZeroMatrix\fR object. | |
854 .SH "AUTHOR" | |
855 .IX Header "AUTHOR" | |
856 Manish Sud <msud@san.rr.com> | |
857 .SH "SEE ALSO" | |
858 .IX Header "SEE ALSO" | |
859 Vector.pm | |
860 .SH "COPYRIGHT" | |
861 .IX Header "COPYRIGHT" | |
862 Copyright (C) 2015 Manish Sud. All rights reserved. | |
863 .PP | |
864 This file is part of MayaChemTools. | |
865 .PP | |
866 MayaChemTools is free software; you can redistribute it and/or modify it under | |
867 the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free | |
868 Software Foundation; either version 3 of the License, or (at your option) | |
869 any later version. |