annotate mayachemtools/docs/modules/txt/Matrix.txt @ 9:ab29fa5c8c1f draft default tip

Uploaded
author deepakjadmin
date Thu, 15 Dec 2016 14:18:03 -0500
parents 73ae111cf86f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1 NAME
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2 Matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
3
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
4 SYNOPSIS
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
5 use Matrix;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
6
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
7 use Matrix qw(:all);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
8
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
9 DESCRIPTION
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
10 Matrix class provides the following methods:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
11
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
12 new, AddColumnValues, AddRowValues, Copy, GetColumnValues,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
13 GetColumnValuesAsColumnMatrix, GetColumnValuesAsRowMatrix,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
14 GetColumnValuesAsString, GetColumnValuesAsVector, GetDiagonalValues,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
15 GetDiagonalValuesAsColumnMatrix, GetDiagonalValuesAsRowMatrix,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
16 GetDiagonalValuesAsString, GetDiagonalValuesAsVector, GetDimension,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
17 GetMatrixValuesReference, GetNumOfColumns, GetNumOfRows, GetRowValues,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
18 GetRowValuesAsColumnMatrix, GetRowValuesAsRowMatrix,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
19 GetRowValuesAsString, GetRowValuesAsVector, GetSize, GetValue,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
20 IdentityMatrix, IsAntiSymmetric, IsBiDiagonal, IsDiagonal, IsIdentity,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
21 IsLeftTriangular, IsLowerBiDiagonal, IsLowerTriangular,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
22 IsLowerUniTriangular, IsMatrix, IsNegative, IsPositive,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
23 IsRightTriangular, IsSkewSymmetric, IsSquare, IsStrictlyLowerTriangular,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
24 IsStrictlyUpperTriangular, IsSymmetric, IsTriDiagonal, IsUnit,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
25 IsUnitLowerTriangular, IsUnitUpperTriangular, IsUpperBiDiagonal,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
26 IsUpperTriangular, IsUpperUniTriangular, NewFromColumns,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
27 NewFromDiagonal, NewFromRows, One, SetAllValues, SetColumnValues,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
28 SetDiagonalValues, SetMatrixPrintStyle, SetRowValues, SetValue,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
29 SetValuePrintFormat, StringifyMatrix, Transpose, UnitMatrix, Zero,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
30 ZeroMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
31
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
32 The following functions are available:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
33
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
34 IsMatrix, IdentityMatrix, NewFromRows, NewFromColumns, NewFromDiagonal,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
35 UnitMatrix, ZeroMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
36
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
37 The following operators are overloaded:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
38
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
39 "" bool !
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
40 @{}
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
41 + - * / ** %
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
42 == != < <= > >=
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
43 neg
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
44 abs exp log sqrt cos sin
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
45
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
46 The matrix row and column indicies start from zero.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
47
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
48 FUNCTIONS
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
49 new
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
50 $NewMatrix = $Matrix->new($NumOfRows, $NumOfCols);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
51
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
52 Creates a new Matrix of size *NumOfRows x NumOfCol* and returns
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
53 NewMatrix object.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
54
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
55 AddColumnValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
56 $Matrix->AddColumnValues(@Values);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
57 $Matrix->AddColumnValues(\@Values);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
58 $Matrix->AddColumnValues($VectorObject);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
59 $Matrix->AddColumnValues("Value1 Value2 Value3 ...");
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
60
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
61 Adds column values to *Matrix* using an array, reference to an
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
62 array, another vector, or space delimited value string and returns
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
63 *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
64
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
65 AddRowValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
66 $Matrix->AddRowValues(@Values);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
67 $Matrix->AddRowValues(\@Values);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
68 $Matrix->AddRowValues($VectorObject);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
69 $Matrix->AddRowValues("Value1 Value2 Value3 ...");
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
70
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
71 Adds row values to *Matrix* using an array, reference to an array,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
72 another vector, or space delimited value string and returns Matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
73
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
74 Copy
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
75 $NewMatrix = $Matrix->Copy();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
76
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
77 Creates a copy of *Matrix* and returns NewMatrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
78
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
79 GetColumnValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
80 @Values = $Matrix->GetColumnValues($ColIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
81 $ValueCount = $Matrix->GetColumnValues($ColIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
82
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
83 Returns an array containing column value specified using *ColIndex*
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
84 with column index starting at 0. In scalar context, number of column
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
85 values is returned.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
86
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
87 GetColumnValuesAsColumnMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
88 $ColumnMatrix = $Matrix->GetColumnValuesAsColumnMatrix($ColIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
89
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
90 Returns a new ColumnMatrix containing column values specified using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
91 *ColIndex* with column index starting at 0.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
92
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
93 GetColumnValuesAsRowMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
94 $RowMatrix = $Matrix->GetColumnValuesAsRowMatrix($ColIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
95
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
96 Returns a new RowMatrix containing column values specified using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
97 *ColIndex* with column index starting at 0.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
98
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
99 GetColumnValuesAsString
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
100 $ColumnValuesString = $Matrix->GetColumnValuesAsString($ColIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
101
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
102 Returns a space delimited ColumnValuesString column values specified
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
103 using *ColIndex* with column index starting at 0.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
104
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
105 GetColumnValuesAsVector
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
106 $ColumnVector = $Matrix->GetColumnValuesAsVector($ColIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
107
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
108 Returns a new ColumnVector column values specified using *RowIndex*
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
109 with column index starting at 0.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
110
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
111 GetDiagonalValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
112 @Values = $Matrix->GetDiagonalValues();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
113 $ValueCount = $Matrix->GetDiagonalValues();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
114
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
115 Returns an array containing diagonal values. In scalar context,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
116 number of diagonal values is returned.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
117
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
118 GetDiagonalValuesAsColumnMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
119 $ColumnMatrix = $Matrix->GetDiagonalValuesAsColumnMatrix();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
120
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
121 Returns a new ColumnMatrix containing diagonal values corresponding
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
122 to *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
123
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
124 GetDiagonalValuesAsRowMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
125 $RowMatrix = $Matrix->GetDiagonalValuesAsRowMatrix();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
126
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
127 Returns a new RowMatrix containing diagonal values corresponding to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
128 *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
129
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
130 GetDiagonalValuesAsString
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
131 $DiagonalValuesString = $Matrix->GetDiagonalValuesAsString();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
132
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
133 Returns a space delimited DiagonalValuesString containing diagonal
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
134 values corresponding to *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
135
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
136 GetDiagonalValuesAsVector
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
137 $DiagonalVector = $Matrix->GetDiagonalValuesAsVector();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
138
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
139 Returns a new DiagonalVector containing diagonal values
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
140 corresponding to *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
141
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
142 GetDimension
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
143 ($NumOfRows, $NumOfCols) = $Matrix->GetDimension();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
144
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
145 Returns size of *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
146
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
147 GetMatrixValuesReference
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
148 $ValuesRef = $Matrix->GetMatrixValuesReference();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
149
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
150 Returns a reference to array containing rows and column values
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
151 corresponding to *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
152
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
153 GetNumOfColumns
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
154 $NumOfCols = $Matrix->GetNumOfColumns();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
155
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
156 Returns NumOfCols in *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
157
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
158 GetNumOfRows
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
159 $NumOfRows = $Matrix->GetNumOfRows();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
160
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
161 Returns NumOfRows in *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
162
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
163 GetRowValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
164 @Values = $Matrix->GetRowValues($RowIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
165 $ValueCount = $Matrix->GetRowValues($RowIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
166
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
167 Returns an array containing row value specified using *RowIndex*
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
168 with row index starting at 0. In scalar context, number of row
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
169 values is returned.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
170
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
171 GetRowValuesAsColumnMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
172 $ColumnMatrix = $Matrix->GetRowValuesAsColumnMatrix($RowIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
173
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
174 Returns a new ColumnMatrix containing row values specified using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
175 *RowIndex* with column index starting at 0.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
176
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
177 GetRowValuesAsRowMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
178 $RowMatrix = $Matrix->GetRowValuesAsRowMatrix($RowIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
179
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
180 Returns a new RowMatrix containing row values specified using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
181 *RowIndex* with row index starting at 0.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
182
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
183 GetRowValuesAsString
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
184 $RowValuesString = $Matrix->GetRowValuesAsString($RowIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
185
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
186 Returns a space delimited RowValuesString row values specified using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
187 *RowIndex* with row index starting at 0.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
188
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
189 GetRowValuesAsVector
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
190 $RowVector = $Matrix->GetColumnValuesAsVector($RowIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
191
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
192 Returns a new RowVector row values specified using *RowIndex* with
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
193 row index starting at 0.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
194
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
195 GetSize
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
196 ($NumOfRows, $NumOfCols) = $Matrix->GetSize();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
197
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
198 Returns size of *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
199
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
200 GetValue
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
201 $Value = $Matrix->GetValue($RowIndex, $ColIndex, [$SkipIndexCheck]);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
202
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
203 Returns Value of *Matrix* element specified using *RowIndex* and
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
204 *ColIndex* with indicies starting at 0 with optional validation of
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
205 specified index values.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
206
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
207 IdentityMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
208 $NewIdentityMatrix = $Matrix->IdentityMatrix($NumOfRows, $NumOfCols);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
209 $NewIdentityMatrix = Matrix::IdentityMatrix($NumOfRows, $NumOfCols);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
210 $NewIdentityMatrix = Matrix::IdentityMatrix();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
211
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
212 Creates a new IdentityMatrix of specified size *NumOfRows x
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
213 NumOfCol* or of size 3 x 3 and returns NewIdentityMatrix object.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
214
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
215 IsAntiSymmetric
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
216 $Status = $Matrix->IsAntiSymmetric();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
217
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
218 Returns 1 or 0 based on whether *Matrix* is an anti symmetric
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
219 matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
220
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
221 A matrix is an anti symmetric matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
222
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
223 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
224 . Its elements are asymmetric with respect to main diagonal. In other words,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
225 elements below the main diagonal are equal to the negative of elements above
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
226 the main diagonal.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
227
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
228 Transpose of an anti symmetric matrix equals the negative of the
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
229 matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
230
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
231 IsBiDiagonal
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
232 $Status = $Matrix->IsBiDiagonal();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
233
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
234 Returns 1 or 0 based on whether *Matrix* is upper or lower
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
235 bidiagonal matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
236
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
237 IsDiagonal
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
238 $Status = $Matrix->IsDiagonal();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
239
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
240 Returns 1 or 0 based on whether *Matrix* is a diagonal matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
241
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
242 A matrix is a diagonal matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
243
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
244 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
245 . All its off-diagonal elements are zeros and its diagonal elements may or may not
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
246 be zeros
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
247
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
248 IsIdentity
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
249 $Status = $Matrix->IsIdentity();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
250
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
251 Returns 1 or 0 based on whether *Matrix* is an identity matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
252
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
253 IsLeftTriangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
254 $Status = $Matrix->IsLeftTriangular();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
255
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
256 Returns 1 or 0 based on whether *Matrix* is a left or lower matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
257
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
258 A matrix is a left triangular matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
259
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
260 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
261 . All its entries above the main diagonal are zero
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
262
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
263 IsLowerBiDiagonal
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
264 $Status = $Matrix->IsLowerBiDiagonal();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
265
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
266 Returns 1 or 0 based on whether *Matrix* is a lower bidiagonal
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
267 matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
268
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
269 A matrix is a lower bidiagonal matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
270
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
271 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
272 . All its main diagonal and lower diagonal elements are non-zeros and all its
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
273 other elements are zeros
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
274
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
275 IsLowerTriangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
276 $Status = $Matrix->IsLowerTriangular();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
277
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
278 Returns 1 or 0 based on whether *Matrix* is a left or lower
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
279 triangular matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
280
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
281 A matrix is a lower triangular matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
282
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
283 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
284 . All its entries above the main diagonal are zero
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
285
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
286 IsLowerUniTriangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
287 $Status = $Matrix->IsLowerUniTriangular();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
288
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
289 Returns 1 or 0 based on whether *Matrix* is a lower triangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
290 matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
291
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
292 IsMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
293 $Status = Matrix::IsMatrix($Object);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
294
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
295 Returns 1 or 0 based on whether *Object* is a Matrix object.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
296
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
297 IsNegative
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
298 $Status = $Matrix->IsNegative();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
299
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
300 Returns 1 or 0 based on whether *Matrix* is a negative matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
301 containing only values less than or equal to zero.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
302
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
303 IsPositive
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
304 $Status = $Matrix->IsPositive();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
305
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
306 Returns 1 or 0 based on whether *Matrix* is a negative matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
307 containing only values greater than or equal to zero.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
308
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
309 IsRightTriangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
310 $Status = $Matrix->IsRightTriangular();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
311
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
312 Returns 1 or 0 based on whether *Matrix* is a right or upper
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
313 triangular matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
314
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
315 IsSkewSymmetric
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
316 $Status = $Matrix->IsSkewSymmetric();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
317
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
318 Returns 1 or 0 based on whether *Matrix* is a skew or anti symmetric
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
319 matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
320
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
321 IsSquare
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
322 $Status = $Matrix->IsSquare();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
323
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
324 Returns 1 or 0 based on whether *Matrix* is a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
325 containing equal number of rows and columns.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
326
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
327 IsStrictlyLowerTriangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
328 $Status = $Matrix->IsStrictlyLowerTriangular();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
329
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
330 Returns 1 or 0 based on whether *Matrix* is a strictly lower
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
331 triangular matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
332
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
333 A matrix is a strictly lower triangular matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
334
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
335 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
336 . All its entries on and above the main diagonal are zero
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
337
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
338 IsStrictlyUpperTriangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
339 $Status = $Matrix->IsStrictlyUpperTriangular();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
340
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
341 Returns 1 or 0 based on whether *Matrix* is a strictly upper
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
342 triangular matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
343
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
344 A matrix is a strictly upper triangular matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
345
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
346 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
347 . All its entries on and below the main diagonal are zero
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
348
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
349 IsSymmetric
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
350 $Status = $Matrix->IsSymmetric();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
351
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
352 Returns 1 or 0 based on whether *Matrix* is a symmetric matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
353
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
354 A matrix is a symmetric matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
355
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
356 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
357 . Its elements are symmetric with respect to main diagonal. In other words,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
358 elements below the main diagonal are equal to the elements above the main
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
359 diagonal.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
360
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
361 Transpose of a symmetric matrix equals the matrix itself.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
362
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
363 IsTriDiagonal
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
364 $Status = $Matrix->IsTriDiagonal();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
365
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
366 Returns 1 or 0 based on whether *Matrix* is a tridiagonal matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
367
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
368 A matrix is a tribidiagonal matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
369
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
370 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
371 . All its main diagonal, upper diagonal, and lower diagonal elements are non-zeros and all its
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
372 other elements are zeros
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
373
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
374 IsUnit
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
375 $Status = $Matrix->IsUnit();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
376
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
377 Returns 1 or 0 based on whether *Matrix* is a unit matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
378
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
379 A matrix is a unit matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
380
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
381 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
382 . All its diagonal elements are ones and its off-diagonal elements are zeros
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
383
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
384 IsUnitLowerTriangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
385 $Status = $Matrix->IsUnitLowerTriangular();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
386
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
387 Returns 1 or 0 based on whether *Matrix* is an unit lower triangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
388 matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
389
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
390 A matrix is an unit lower triangular matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
391
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
392 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
393 . All its entries main diagonal are one
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
394 . All its entries above the main diagonal are zero
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
395
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
396 IsUnitUpperTriangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
397 $Status = $Matrix->IsUnitUpperTriangular();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
398
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
399 Returns 1 or 0 based on whether *Matrix* is an unit upper triangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
400 matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
401
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
402 A matrix is an unit upper triangular matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
403
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
404 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
405 . All its entries main diagonal are one
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
406 . All its entries below the main diagonal are zero
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
407
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
408 IsUpperBiDiagonal
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
409 $Status = $Matrix->IsUpperBiDiagonal();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
410
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
411 Returns 1 or 0 based on whether *Matrix* is an upper bidiagonal
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
412 matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
413
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
414 A matrix is an upper bidiagonal matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
415
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
416 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
417 . All its main diagonal and upper diagonal elements are non-zeros and all its
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
418 other elements are zeros
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
419
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
420 IsUpperTriangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
421 $Status = $Matrix->IsUpperTriangular();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
422
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
423 Returns 1 or 0 based on whether *Matrix* is a right or upper
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
424 triangular matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
425
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
426 A matrix is an upper triangular matrix:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
427
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
428 . It's a square matrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
429 . All its entries below the main diagonal are zero
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
430
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
431 IsUpperUniTriangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
432 $Status = $Matrix->IsUpperUniTriangular();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
433
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
434 Returns 1 or 0 based on whether *Matrix* is a right or upper
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
435 triangular matrix.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
436
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
437 NewFromColumns
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
438 $NewMatrix = Matrix::NewFromColumns($Col1Vector, $Col2Vector, ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
439 $NewMatrix = Matrix::NewFromColumns($Col1ValuesRef, $Col2ValuesRef, ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
440 $NewMatrix = Matrix::NewFromColumns("Val1 Val2 ...", "Val1 Val2", ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
441
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
442 $NewMatrix = $Matrix->NewFromColumns($Col1Vector, $Col2Vector, ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
443 $NewMatrix = $Matrix->NewFromColumns($Col1ValuesRef, $Col2ValuesRef, ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
444 $NewMatrix = $Matrix->NewFromColumns("Val1 Val2 ...", "Val1 Val2", ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
445
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
446 Creates a new Matrix using specified column values and returns
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
447 NewMatrix object.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
448
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
449 The column values can be specified in one of the following formats:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
450
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
451 . List of vector objects
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
452 . References to list of values
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
453 . List of strings containing columns values delimited by space
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
454
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
455 Each column must contain the same number of values.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
456
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
457 NewFromDiagonal
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
458 $NewMatrix = Matrix::NewFromDiagonal($DiagonalVector);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
459 $NewMatrix = Matrix::NewFromDiagonal($DiagonalValuesRef);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
460 $NewMatrix = Matrix::NewFromDiagonal("Val1 Val2 ...");
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
461
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
462 $NewMatrix = Matrix->NewFromDiagonal($DiagonalVector);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
463 $NewMatrix = Matrix->NewFromDiagonal($DiagonalValuesRef);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
464 $NewMatrix = Matrix->NewFromDiagonal("Val1 Val2 ...");
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
465
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
466 Creates a new Matrix using specified diagonal values and returns
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
467 NewMatrix object.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
468
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
469 The column values can be specified in one of the following formats:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
470
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
471 . A vector object
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
472 . Reference to list of values
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
473 . Strings containing diagonal values delimited by space
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
474
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
475 NewFromRows
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
476 $NewMatrix = Matrix::NewFromRows($Row1Vector, $RowVector, ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
477 $NewMatrix = Matrix::NewFromRows($Row1ValuesRef, $Row2ValuesRef, ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
478 $NewMatrix = Matrix::NewFromRows("Val1 Val2 ...", "Val1 Val2", ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
479
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
480 $NewMatrix = $Matrix->NewFromRows($Row1Vector, $Row2Vector, ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
481 $NewMatrix = $Matrix->NewFromRows($Row1ValuesRef, $Row2ValuesRef, ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
482 $NewMatrix = $Matrix->NewFromRows("Val1 Val2 ...", "Val1 Val2", ...);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
483
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
484 Creates a new Matrix using specified row values and returns
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
485 NewMatrix object.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
486
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
487 The row values can be specified in one of the following formats:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
488
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
489 . List of vector objects
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
490 . References to list of values
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
491 . List of strings containing columns values delimited by space
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
492
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
493 Each row must contain the same number of values.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
494
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
495 One
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
496 $Matrix->One();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
497
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
498 Sets values of all *Matrix* elements to 1 and returns *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
499
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
500 SetAllValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
501 $Matrix->SetAllValues($Value);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
502
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
503 Sets values of all *Matrix* elements to specified *Value* and
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
504 returns *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
505
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
506 SetColumnValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
507 $Matrix->SetColumnValues($ColIndex, @Values);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
508 $Matrix->SetColumnValues($ColIndex, \@Values);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
509 $Matrix->SetColumnValues($ColIndex, $VectorObject);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
510 $Matrix->SetColumnValues($ColIndex, "Value1 Value2 Value3 ...");
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
511
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
512 Sets column values of a specified *ColIndex* of *Matrix* using an
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
513 array, reference to an array, another vector, or space delimited
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
514 value string and returns *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
515
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
516 SetDiagonalValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
517 $Matrix->SetDiagonalValues(@Values);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
518 $Matrix->SetDiagonalValues(\@Values);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
519 $Matrix->SetDiagonalValues($VectorObject);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
520 $Matrix->SetDiagonalValues("Value1 Value2 Value3 ...");
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
521
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
522 Sets values of the diagonal in square *Matrix* and returns *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
523
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
524 SetMatrixPrintStyle
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
525 $Matrix->SetMatrixPrintStyle($MatrixStyle);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
526 $Matrix::SetMatrixPrintStyle($MatrixStyle);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
527
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
528 Sets print style for matrix rows for an individual object or the
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
529 whole class during StringifyMatrix operation. Possible *MatrixStyle*
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
530 values: *AllRowsInOneLine, OneRowPerLine*. Default:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
531 *AllRowsInOneLine*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
532
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
533 SetRowValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
534 $Matrix->SetRowValues($ColIndex, @Values);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
535 $Matrix->SetRowValues($ColIndex, \@Values);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
536 $Matrix->SetRowValues($ColIndex, $VectorObjext);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
537 $Matrix->SetRowValues($ColIndex, "Value1 Value2 Value3 ...");
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
538
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
539 Sets row values of a specified *RowIndex* of *Matrix* using an
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
540 array, reference to an array, another vector, or space delimited
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
541 value string and returns *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
542
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
543 SetValue
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
544 $Matrix->SetValue($RowIndex, $ColIndex, $Value, [$SkipIndexCheck]);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
545
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
546 Sets Value of *Matrix* element specified using *RowIndex* and
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
547 *ColIndex* with indicies starting at 0 with optional validation of
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
548 specified index values and return *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
549
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
550 SetValuePrintFormat
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
551 $Matrix->SetValuePrintFormat($ValueFormat);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
552 $Matrix::SetValuePrintFormat($ValueFormat);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
553
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
554 Sets value print format for an individual object or the whole class
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
555 during StringifyMatrix operation and returns *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
556
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
557 StringifyMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
558 $String = $Matrix->StringifyMatrix();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
559
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
560 Returns a string containing information about *Matrix* object.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
561
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
562 Transpose
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
563 $Matrix->Transpose();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
564
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
565 Transposes *Matrix* by swaping rows with columns and returns
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
566 *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
567
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
568 UnitMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
569 $NewUnitMatrix = $Matrix::UnitMatrix($NumOfRows, $NumOfCols);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
570 $NewUnitMatrix = $Matrix::UnitMatrix();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
571 $NewUnitMatrix = $Matrix->UnitMatrix($NumOfRows, $NumOfCols);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
572
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
573 Creates a new UnitMatrix of specified size *NumOfRows x NumOfCol* or
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
574 of size 3 x 3 and returns NewUnitMatrix object.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
575
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
576 Zero
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
577 $Matrix->Zero();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
578
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
579 Sets values of all *Matrix* elements to 0 and returns *Matrix*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
580
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
581 ZeroMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
582 $NewZeroMatrix = $Matrix::ZeroMatrix($NumOfRows, $NumOfCols);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
583 $NewZeroMatrix = $Matrix::ZeroMatrix();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
584 $NewZeroMatrix = $Matrix->ZeroMatrix($NumOfRows, $NumOfCols);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
585
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
586 Creates a new ZeroMatrix of specified size *NumOfRows x NumOfCol* or
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
587 of size 3 x 3 and returns NewZeroMatrix object.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
588
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
589 AUTHOR
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
590 Manish Sud <msud@san.rr.com>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
591
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
592 SEE ALSO
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
593 Vector.pm
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
594
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
595 COPYRIGHT
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
596 Copyright (C) 2015 Manish Sud. All rights reserved.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
597
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
598 This file is part of MayaChemTools.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
599
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
600 MayaChemTools is free software; you can redistribute it and/or modify it
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
601 under the terms of the GNU Lesser General Public License as published by
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
602 the Free Software Foundation; either version 3 of the License, or (at
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
603 your option) any later version.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
604