annotate mayachemtool/mayachemtools/docs/modules/txt/Matrix.txt @ 0:a4a2ad5a214e draft default tip

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