Mercurial > repos > deepakjadmin > mayatool3_test2
diff docs/modules/txt/Matrix.txt @ 0:4816e4a8ae95 draft default tip
Uploaded
author | deepakjadmin |
---|---|
date | Wed, 20 Jan 2016 09:23:18 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/modules/txt/Matrix.txt Wed Jan 20 09:23:18 2016 -0500 @@ -0,0 +1,604 @@ +NAME + Matrix + +SYNOPSIS + use Matrix; + + use Matrix qw(:all); + +DESCRIPTION + Matrix class provides the following methods: + + new, AddColumnValues, AddRowValues, Copy, GetColumnValues, + GetColumnValuesAsColumnMatrix, GetColumnValuesAsRowMatrix, + GetColumnValuesAsString, GetColumnValuesAsVector, GetDiagonalValues, + GetDiagonalValuesAsColumnMatrix, GetDiagonalValuesAsRowMatrix, + GetDiagonalValuesAsString, GetDiagonalValuesAsVector, GetDimension, + GetMatrixValuesReference, GetNumOfColumns, GetNumOfRows, GetRowValues, + GetRowValuesAsColumnMatrix, GetRowValuesAsRowMatrix, + GetRowValuesAsString, GetRowValuesAsVector, GetSize, GetValue, + IdentityMatrix, IsAntiSymmetric, IsBiDiagonal, IsDiagonal, IsIdentity, + IsLeftTriangular, IsLowerBiDiagonal, IsLowerTriangular, + IsLowerUniTriangular, IsMatrix, IsNegative, IsPositive, + IsRightTriangular, IsSkewSymmetric, IsSquare, IsStrictlyLowerTriangular, + IsStrictlyUpperTriangular, IsSymmetric, IsTriDiagonal, IsUnit, + IsUnitLowerTriangular, IsUnitUpperTriangular, IsUpperBiDiagonal, + IsUpperTriangular, IsUpperUniTriangular, NewFromColumns, + NewFromDiagonal, NewFromRows, One, SetAllValues, SetColumnValues, + SetDiagonalValues, SetMatrixPrintStyle, SetRowValues, SetValue, + SetValuePrintFormat, StringifyMatrix, Transpose, UnitMatrix, Zero, + ZeroMatrix + + The following functions are available: + + IsMatrix, IdentityMatrix, NewFromRows, NewFromColumns, NewFromDiagonal, + UnitMatrix, ZeroMatrix + + The following operators are overloaded: + + "" bool ! + @{} + + - * / ** % + == != < <= > >= + neg + abs exp log sqrt cos sin + + The matrix row and column indicies start from zero. + + FUNCTIONS + new + $NewMatrix = $Matrix->new($NumOfRows, $NumOfCols); + + Creates a new Matrix of size *NumOfRows x NumOfCol* and returns + NewMatrix object. + + AddColumnValues + $Matrix->AddColumnValues(@Values); + $Matrix->AddColumnValues(\@Values); + $Matrix->AddColumnValues($VectorObject); + $Matrix->AddColumnValues("Value1 Value2 Value3 ..."); + + Adds column values to *Matrix* using an array, reference to an + array, another vector, or space delimited value string and returns + *Matrix*. + + AddRowValues + $Matrix->AddRowValues(@Values); + $Matrix->AddRowValues(\@Values); + $Matrix->AddRowValues($VectorObject); + $Matrix->AddRowValues("Value1 Value2 Value3 ..."); + + Adds row values to *Matrix* using an array, reference to an array, + another vector, or space delimited value string and returns Matrix. + + Copy + $NewMatrix = $Matrix->Copy(); + + Creates a copy of *Matrix* and returns NewMatrix. + + GetColumnValues + @Values = $Matrix->GetColumnValues($ColIndex); + $ValueCount = $Matrix->GetColumnValues($ColIndex); + + Returns an array containing column value specified using *ColIndex* + with column index starting at 0. In scalar context, number of column + values is returned. + + GetColumnValuesAsColumnMatrix + $ColumnMatrix = $Matrix->GetColumnValuesAsColumnMatrix($ColIndex); + + Returns a new ColumnMatrix containing column values specified using + *ColIndex* with column index starting at 0. + + GetColumnValuesAsRowMatrix + $RowMatrix = $Matrix->GetColumnValuesAsRowMatrix($ColIndex); + + Returns a new RowMatrix containing column values specified using + *ColIndex* with column index starting at 0. + + GetColumnValuesAsString + $ColumnValuesString = $Matrix->GetColumnValuesAsString($ColIndex); + + Returns a space delimited ColumnValuesString column values specified + using *ColIndex* with column index starting at 0. + + GetColumnValuesAsVector + $ColumnVector = $Matrix->GetColumnValuesAsVector($ColIndex); + + Returns a new ColumnVector column values specified using *RowIndex* + with column index starting at 0. + + GetDiagonalValues + @Values = $Matrix->GetDiagonalValues(); + $ValueCount = $Matrix->GetDiagonalValues(); + + Returns an array containing diagonal values. In scalar context, + number of diagonal values is returned. + + GetDiagonalValuesAsColumnMatrix + $ColumnMatrix = $Matrix->GetDiagonalValuesAsColumnMatrix(); + + Returns a new ColumnMatrix containing diagonal values corresponding + to *Matrix*. + + GetDiagonalValuesAsRowMatrix + $RowMatrix = $Matrix->GetDiagonalValuesAsRowMatrix(); + + Returns a new RowMatrix containing diagonal values corresponding to + *Matrix*. + + GetDiagonalValuesAsString + $DiagonalValuesString = $Matrix->GetDiagonalValuesAsString(); + + Returns a space delimited DiagonalValuesString containing diagonal + values corresponding to *Matrix*. + + GetDiagonalValuesAsVector + $DiagonalVector = $Matrix->GetDiagonalValuesAsVector(); + + Returns a new DiagonalVector containing diagonal values + corresponding to *Matrix*. + + GetDimension + ($NumOfRows, $NumOfCols) = $Matrix->GetDimension(); + + Returns size of *Matrix*. + + GetMatrixValuesReference + $ValuesRef = $Matrix->GetMatrixValuesReference(); + + Returns a reference to array containing rows and column values + corresponding to *Matrix*. + + GetNumOfColumns + $NumOfCols = $Matrix->GetNumOfColumns(); + + Returns NumOfCols in *Matrix*. + + GetNumOfRows + $NumOfRows = $Matrix->GetNumOfRows(); + + Returns NumOfRows in *Matrix*. + + GetRowValues + @Values = $Matrix->GetRowValues($RowIndex); + $ValueCount = $Matrix->GetRowValues($RowIndex); + + Returns an array containing row value specified using *RowIndex* + with row index starting at 0. In scalar context, number of row + values is returned. + + GetRowValuesAsColumnMatrix + $ColumnMatrix = $Matrix->GetRowValuesAsColumnMatrix($RowIndex); + + Returns a new ColumnMatrix containing row values specified using + *RowIndex* with column index starting at 0. + + GetRowValuesAsRowMatrix + $RowMatrix = $Matrix->GetRowValuesAsRowMatrix($RowIndex); + + Returns a new RowMatrix containing row values specified using + *RowIndex* with row index starting at 0. + + GetRowValuesAsString + $RowValuesString = $Matrix->GetRowValuesAsString($RowIndex); + + Returns a space delimited RowValuesString row values specified using + *RowIndex* with row index starting at 0. + + GetRowValuesAsVector + $RowVector = $Matrix->GetColumnValuesAsVector($RowIndex); + + Returns a new RowVector row values specified using *RowIndex* with + row index starting at 0. + + GetSize + ($NumOfRows, $NumOfCols) = $Matrix->GetSize(); + + Returns size of *Matrix*. + + GetValue + $Value = $Matrix->GetValue($RowIndex, $ColIndex, [$SkipIndexCheck]); + + Returns Value of *Matrix* element specified using *RowIndex* and + *ColIndex* with indicies starting at 0 with optional validation of + specified index values. + + IdentityMatrix + $NewIdentityMatrix = $Matrix->IdentityMatrix($NumOfRows, $NumOfCols); + $NewIdentityMatrix = Matrix::IdentityMatrix($NumOfRows, $NumOfCols); + $NewIdentityMatrix = Matrix::IdentityMatrix(); + + Creates a new IdentityMatrix of specified size *NumOfRows x + NumOfCol* or of size 3 x 3 and returns NewIdentityMatrix object. + + IsAntiSymmetric + $Status = $Matrix->IsAntiSymmetric(); + + Returns 1 or 0 based on whether *Matrix* is an anti symmetric + matrix. + + A matrix is an anti symmetric matrix: + + . It's a square matrix + . Its elements are asymmetric with respect to main diagonal. In other words, + elements below the main diagonal are equal to the negative of elements above + the main diagonal. + + Transpose of an anti symmetric matrix equals the negative of the + matrix. + + IsBiDiagonal + $Status = $Matrix->IsBiDiagonal(); + + Returns 1 or 0 based on whether *Matrix* is upper or lower + bidiagonal matrix. + + IsDiagonal + $Status = $Matrix->IsDiagonal(); + + Returns 1 or 0 based on whether *Matrix* is a diagonal matrix. + + A matrix is a diagonal matrix: + + . It's a square matrix + . All its off-diagonal elements are zeros and its diagonal elements may or may not + be zeros + + IsIdentity + $Status = $Matrix->IsIdentity(); + + Returns 1 or 0 based on whether *Matrix* is an identity matrix. + + IsLeftTriangular + $Status = $Matrix->IsLeftTriangular(); + + Returns 1 or 0 based on whether *Matrix* is a left or lower matrix. + + A matrix is a left triangular matrix: + + . It's a square matrix + . All its entries above the main diagonal are zero + + IsLowerBiDiagonal + $Status = $Matrix->IsLowerBiDiagonal(); + + Returns 1 or 0 based on whether *Matrix* is a lower bidiagonal + matrix. + + A matrix is a lower bidiagonal matrix: + + . It's a square matrix + . All its main diagonal and lower diagonal elements are non-zeros and all its + other elements are zeros + + IsLowerTriangular + $Status = $Matrix->IsLowerTriangular(); + + Returns 1 or 0 based on whether *Matrix* is a left or lower + triangular matrix. + + A matrix is a lower triangular matrix: + + . It's a square matrix + . All its entries above the main diagonal are zero + + IsLowerUniTriangular + $Status = $Matrix->IsLowerUniTriangular(); + + Returns 1 or 0 based on whether *Matrix* is a lower triangular + matrix. + + IsMatrix + $Status = Matrix::IsMatrix($Object); + + Returns 1 or 0 based on whether *Object* is a Matrix object. + + IsNegative + $Status = $Matrix->IsNegative(); + + Returns 1 or 0 based on whether *Matrix* is a negative matrix + containing only values less than or equal to zero. + + IsPositive + $Status = $Matrix->IsPositive(); + + Returns 1 or 0 based on whether *Matrix* is a negative matrix + containing only values greater than or equal to zero. + + IsRightTriangular + $Status = $Matrix->IsRightTriangular(); + + Returns 1 or 0 based on whether *Matrix* is a right or upper + triangular matrix. + + IsSkewSymmetric + $Status = $Matrix->IsSkewSymmetric(); + + Returns 1 or 0 based on whether *Matrix* is a skew or anti symmetric + matrix. + + IsSquare + $Status = $Matrix->IsSquare(); + + Returns 1 or 0 based on whether *Matrix* is a square matrix + containing equal number of rows and columns. + + IsStrictlyLowerTriangular + $Status = $Matrix->IsStrictlyLowerTriangular(); + + Returns 1 or 0 based on whether *Matrix* is a strictly lower + triangular matrix. + + A matrix is a strictly lower triangular matrix: + + . It's a square matrix + . All its entries on and above the main diagonal are zero + + IsStrictlyUpperTriangular + $Status = $Matrix->IsStrictlyUpperTriangular(); + + Returns 1 or 0 based on whether *Matrix* is a strictly upper + triangular matrix. + + A matrix is a strictly upper triangular matrix: + + . It's a square matrix + . All its entries on and below the main diagonal are zero + + IsSymmetric + $Status = $Matrix->IsSymmetric(); + + Returns 1 or 0 based on whether *Matrix* is a symmetric matrix. + + A matrix is a symmetric matrix: + + . It's a square matrix + . Its elements are symmetric with respect to main diagonal. In other words, + elements below the main diagonal are equal to the elements above the main + diagonal. + + Transpose of a symmetric matrix equals the matrix itself. + + IsTriDiagonal + $Status = $Matrix->IsTriDiagonal(); + + Returns 1 or 0 based on whether *Matrix* is a tridiagonal matrix. + + A matrix is a tribidiagonal matrix: + + . It's a square matrix + . All its main diagonal, upper diagonal, and lower diagonal elements are non-zeros and all its + other elements are zeros + + IsUnit + $Status = $Matrix->IsUnit(); + + Returns 1 or 0 based on whether *Matrix* is a unit matrix. + + A matrix is a unit matrix: + + . It's a square matrix + . All its diagonal elements are ones and its off-diagonal elements are zeros + + IsUnitLowerTriangular + $Status = $Matrix->IsUnitLowerTriangular(); + + Returns 1 or 0 based on whether *Matrix* is an unit lower triangular + matrix. + + A matrix is an unit lower triangular matrix: + + . It's a square matrix + . All its entries main diagonal are one + . All its entries above the main diagonal are zero + + IsUnitUpperTriangular + $Status = $Matrix->IsUnitUpperTriangular(); + + Returns 1 or 0 based on whether *Matrix* is an unit upper triangular + matrix. + + A matrix is an unit upper triangular matrix: + + . It's a square matrix + . All its entries main diagonal are one + . All its entries below the main diagonal are zero + + IsUpperBiDiagonal + $Status = $Matrix->IsUpperBiDiagonal(); + + Returns 1 or 0 based on whether *Matrix* is an upper bidiagonal + matrix. + + A matrix is an upper bidiagonal matrix: + + . It's a square matrix + . All its main diagonal and upper diagonal elements are non-zeros and all its + other elements are zeros + + IsUpperTriangular + $Status = $Matrix->IsUpperTriangular(); + + Returns 1 or 0 based on whether *Matrix* is a right or upper + triangular matrix. + + A matrix is an upper triangular matrix: + + . It's a square matrix + . All its entries below the main diagonal are zero + + IsUpperUniTriangular + $Status = $Matrix->IsUpperUniTriangular(); + + Returns 1 or 0 based on whether *Matrix* is a right or upper + triangular matrix. + + NewFromColumns + $NewMatrix = Matrix::NewFromColumns($Col1Vector, $Col2Vector, ...); + $NewMatrix = Matrix::NewFromColumns($Col1ValuesRef, $Col2ValuesRef, ...); + $NewMatrix = Matrix::NewFromColumns("Val1 Val2 ...", "Val1 Val2", ...); + + $NewMatrix = $Matrix->NewFromColumns($Col1Vector, $Col2Vector, ...); + $NewMatrix = $Matrix->NewFromColumns($Col1ValuesRef, $Col2ValuesRef, ...); + $NewMatrix = $Matrix->NewFromColumns("Val1 Val2 ...", "Val1 Val2", ...); + + Creates a new Matrix using specified column values and returns + NewMatrix object. + + The column values can be specified in one of the following formats: + + . List of vector objects + . References to list of values + . List of strings containing columns values delimited by space + + Each column must contain the same number of values. + + NewFromDiagonal + $NewMatrix = Matrix::NewFromDiagonal($DiagonalVector); + $NewMatrix = Matrix::NewFromDiagonal($DiagonalValuesRef); + $NewMatrix = Matrix::NewFromDiagonal("Val1 Val2 ..."); + + $NewMatrix = Matrix->NewFromDiagonal($DiagonalVector); + $NewMatrix = Matrix->NewFromDiagonal($DiagonalValuesRef); + $NewMatrix = Matrix->NewFromDiagonal("Val1 Val2 ..."); + + Creates a new Matrix using specified diagonal values and returns + NewMatrix object. + + The column values can be specified in one of the following formats: + + . A vector object + . Reference to list of values + . Strings containing diagonal values delimited by space + + NewFromRows + $NewMatrix = Matrix::NewFromRows($Row1Vector, $RowVector, ...); + $NewMatrix = Matrix::NewFromRows($Row1ValuesRef, $Row2ValuesRef, ...); + $NewMatrix = Matrix::NewFromRows("Val1 Val2 ...", "Val1 Val2", ...); + + $NewMatrix = $Matrix->NewFromRows($Row1Vector, $Row2Vector, ...); + $NewMatrix = $Matrix->NewFromRows($Row1ValuesRef, $Row2ValuesRef, ...); + $NewMatrix = $Matrix->NewFromRows("Val1 Val2 ...", "Val1 Val2", ...); + + Creates a new Matrix using specified row values and returns + NewMatrix object. + + The row values can be specified in one of the following formats: + + . List of vector objects + . References to list of values + . List of strings containing columns values delimited by space + + Each row must contain the same number of values. + + One + $Matrix->One(); + + Sets values of all *Matrix* elements to 1 and returns *Matrix*. + + SetAllValues + $Matrix->SetAllValues($Value); + + Sets values of all *Matrix* elements to specified *Value* and + returns *Matrix*. + + SetColumnValues + $Matrix->SetColumnValues($ColIndex, @Values); + $Matrix->SetColumnValues($ColIndex, \@Values); + $Matrix->SetColumnValues($ColIndex, $VectorObject); + $Matrix->SetColumnValues($ColIndex, "Value1 Value2 Value3 ..."); + + Sets column values of a specified *ColIndex* of *Matrix* using an + array, reference to an array, another vector, or space delimited + value string and returns *Matrix*. + + SetDiagonalValues + $Matrix->SetDiagonalValues(@Values); + $Matrix->SetDiagonalValues(\@Values); + $Matrix->SetDiagonalValues($VectorObject); + $Matrix->SetDiagonalValues("Value1 Value2 Value3 ..."); + + Sets values of the diagonal in square *Matrix* and returns *Matrix*. + + SetMatrixPrintStyle + $Matrix->SetMatrixPrintStyle($MatrixStyle); + $Matrix::SetMatrixPrintStyle($MatrixStyle); + + Sets print style for matrix rows for an individual object or the + whole class during StringifyMatrix operation. Possible *MatrixStyle* + values: *AllRowsInOneLine, OneRowPerLine*. Default: + *AllRowsInOneLine*. + + SetRowValues + $Matrix->SetRowValues($ColIndex, @Values); + $Matrix->SetRowValues($ColIndex, \@Values); + $Matrix->SetRowValues($ColIndex, $VectorObjext); + $Matrix->SetRowValues($ColIndex, "Value1 Value2 Value3 ..."); + + Sets row values of a specified *RowIndex* of *Matrix* using an + array, reference to an array, another vector, or space delimited + value string and returns *Matrix*. + + SetValue + $Matrix->SetValue($RowIndex, $ColIndex, $Value, [$SkipIndexCheck]); + + Sets Value of *Matrix* element specified using *RowIndex* and + *ColIndex* with indicies starting at 0 with optional validation of + specified index values and return *Matrix*. + + SetValuePrintFormat + $Matrix->SetValuePrintFormat($ValueFormat); + $Matrix::SetValuePrintFormat($ValueFormat); + + Sets value print format for an individual object or the whole class + during StringifyMatrix operation and returns *Matrix*. + + StringifyMatrix + $String = $Matrix->StringifyMatrix(); + + Returns a string containing information about *Matrix* object. + + Transpose + $Matrix->Transpose(); + + Transposes *Matrix* by swaping rows with columns and returns + *Matrix*. + + UnitMatrix + $NewUnitMatrix = $Matrix::UnitMatrix($NumOfRows, $NumOfCols); + $NewUnitMatrix = $Matrix::UnitMatrix(); + $NewUnitMatrix = $Matrix->UnitMatrix($NumOfRows, $NumOfCols); + + Creates a new UnitMatrix of specified size *NumOfRows x NumOfCol* or + of size 3 x 3 and returns NewUnitMatrix object. + + Zero + $Matrix->Zero(); + + Sets values of all *Matrix* elements to 0 and returns *Matrix*. + + ZeroMatrix + $NewZeroMatrix = $Matrix::ZeroMatrix($NumOfRows, $NumOfCols); + $NewZeroMatrix = $Matrix::ZeroMatrix(); + $NewZeroMatrix = $Matrix->ZeroMatrix($NumOfRows, $NumOfCols); + + Creates a new ZeroMatrix of specified size *NumOfRows x NumOfCol* or + of size 3 x 3 and returns NewZeroMatrix object. + +AUTHOR + Manish Sud <msud@san.rr.com> + +SEE ALSO + Vector.pm + +COPYRIGHT + Copyright (C) 2015 Manish Sud. All rights reserved. + + This file is part of MayaChemTools. + + MayaChemTools is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 3 of the License, or (at + your option) any later version. +