annotate docs/modules/txt/Matrix.txt @ 0:4816e4a8ae95 draft default tip

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