Represents a Matrix that is symmetrical about the main diagonal.
Namespace: Extreme.Mathematics.LinearAlgebra
Assembly: Extreme.Numerics (Extreme.Numerics)
Syntax
| Visual Basic (Declaration) |
|---|
Public NotInheritable Class SymmetricMatrix _ Inherits Matrix _ Implements ISerializable, IDoubleStorage |
| C# |
|---|
public sealed class SymmetricMatrix : Matrix, ISerializable, IDoubleStorage |
| C++ |
|---|
public ref class SymmetricMatrix sealed : public Matrix, ISerializable, IDoubleStorage |
Methods
| Icon | Type | Description |
|---|---|---|
| Add(TransposeOperation, TransposeOperation, Double, Matrix) | ||
| AddOuterProduct(Vector) |
Updates a symmetric matrix with the outer product of
a vector and itself.
| |
| AddOuterProduct(Double, Vector) |
Updates a symmetric matrix with the scaled outer product
of a vector and its transpose.
| |
| AddOuterProduct(Matrix) |
Updates a symmetric matrix with the product
of a matrix and its transpose.
| |
| AddOuterProduct(Double, Matrix) |
Updates a symmetric matrix with the scaled outer product
of a matrix and its transpose.
| |
| AddProductToVector(Double, Vector, TransposeOperation, Double, GeneralVector) | ||
| AddSymmetricOuterProduct(Double, Vector, Vector) |
Updates a symmetric matrix with the scaled outer product
of a vector and a transposed vector.
| |
| AddSymmetricOuterProduct(Double, Matrix, Matrix) |
Updates a symmetric matrix with the scaled outer product
of a vector and its transpose.
| |
| ApplyMatrixFunction(RealFunction) |
Computes a matrix function.
| |
| ApplyToColumns(MultivariateRealFunction) |
Applies a function to each column in a matrix and returns the result as a vector.
| |
| ApplyToRows(MultivariateRealFunction) |
Applies a function to each column in a matrix and returns the result as a vector.
| |
| Clone() |
Constructs a deep copy of this Matrix.
| |
| CloneData() |
Gives this instance its own copy of its elements.
| |
| ComponentwiseDivide(Matrix) |
Divides the components of this instance by the corresponding
components of another matrix.
| |
| ComponentwiseMultiply(Matrix) |
Multiplies the components of this instance by the corresponding
components of another matrix.
| |
| CopyTo(Matrix) |
Copies the components of this Matrix
to another matrix.
| |
| Equals(Object) | ||
| EstimateConditionNumber() |
Calculates an estimate for the condition
number of the SymmetricMatrix.
| |
| Extract(GeneralMatrix, Int32, Int32, Int32, MatrixTriangleMode, Boolean) |
Creates a SymmetricMatrix from a part of a GeneralMatrix.
| |
| Extract(Matrix, Int32, Int32, Int32, MatrixTriangleMode) |
Creates a SymmetricMatrix from a part of a Matrix.
| |
| Finalize() | ||
| FrobeniusNorm() |
Returns the Frobenius norm of this Matrix.
| |
| FromOuterProduct(Matrix) |
Constructs a new SymmetricMatrix
by multiplying a matrix on the left by its transpose.
| |
| FromOuterProduct(Matrix, MatrixOperationSide) |
Constructs a new SymmetricMatrix
by multiplying a matrix by its transpose.
| |
| GetColumn(Int32) |
Returns a column Vector for this instance
that points at the specified column.
| |
| GetColumn(Int32, Int32, Int32) |
Returns a column Vector for this instance
starting at the specified column and row and of the
specified length.
| |
| GetColumn(Int32, Int32, Int32, Int32) |
Returns a column Vector for this instance
starting at the specified column and row and of the
specified length.
| |
| GetColumn(Int32, Range) |
Returns a column Vector for this instance
starting at the specified column and row and of the
specified length.
| |
| GetColumnEnumerator() |
Gets an IEnumerator than can be used to enumerate
the columns of this Matrix.
| |
| GetColumnSums() |
Returns the sums of the components of each column of the matrix.
| |
| GetComponents() |
Gets the components of the Vector.
| |
| GetComponents(MatrixElementOrder) |
Gets the components of the Vector.
| |
| GetConditionNumber() |
Calculates the condition
number of this Matrix.
| |
| GetDeterminant() |
Calculates the determinant of the SymmetricMatrix
underlying this system of equations.
| |
| GetDiagonal(Int32) |
Gets a Vector view of the specified diagonal
of this instance.
| |
| GetEigenvalues() |
Gets a vector containing the eigenvalues of the matrix.
| |
| GetHashCode() |
Returns the hash code for this instance.
| |
| GetInverse() |
Calculates the inverse matrix.
| |
| GetObjectData(SerializationInfo, StreamingContext) |
Populates a SerializationInfo with the data
needed to serialize the target object.
| |
| GetPseudoInverse() |
Calculates the Moore-Penrose pseudo-inverse of this Matrix.
| |
| GetRow(Int32) |
Returns a row Vector for this instance
that points at the specified row.
| |
| GetRow(Int32, Int32, Int32) |
Returns a row Vector for this instance
over the specified range.
| |
| GetRow(Int32, Range) |
Returns a row Vector for this instance
starting at the specified row and column and of the
specified length.
| |
| GetRow(Int32, Int32, Int32, Int32) |
Returns a row Vector for this instance
starting at the specified row and column and of the
specified length.
| |
| GetRowEnumerator() |
Returns an IEnumerator instance that allows you to
enumerate the rows of this Matrix.
| |
| GetRowSums() |
Returns the sums of the components of each row of the matrix.
| |
| GetSingularValues() |
Gets a vector containing the singular values of the matrix.
| |
| GetSubmatrix(Range, Range, TransposeOperation) | ||
| GetSubmatrix(Range, Range) | ||
| GetSubmatrix(Int32, Int32, Int32, Int32) | ||
| GetSubmatrix(Int32, Int32, Int32, Int32, Int32, Int32, TransposeOperation) | ||
| GetType() | Gets the Type of the current instance. | |
| GetValue(Int32, Int32) |
Gets the matrix component at the specified position.
| |
| InfinityNorm() |
Returns the infinity norm of this Matrix.
| |
| IsComponentWritable(Int32, Int32) |
Gets a value indicating whether the value of the component at
the specified row and column can be changed.
| |
| IsSingular() |
Gets a value indicating whether the SymmetricMatrix
is singular.
| |
| MemberwiseClone() | Creates a shallow copy of the current Object. | |
| Multiply(Double) |
Multiplies this Matrix by a scalar factor.
| |
| Multiply(MatrixOperationSide, TransposeOperation, TransposeOperation, Matrix) |
Multiplies this Matrix by another matrix and returns
the result.
| |
| NormInternal(Char) |
Calculates a matrix norm.
| |
| OneNorm() |
Returns the 1-norm of this Matrix.
| |
| Rank(Double) |
Returns the numerical rank of a matrix using the specified tolerance.
| |
| ScaleColumns(Vector) |
Scales the columns of the matrix by the values specified by a vector.
| |
| ScaleRows(Vector) |
Scales the rows of the matrix by the values specified by a vector.
| |
| SetToZero() |
Sets all elements of the matrix to zero.
| |
| SetValue(Double, Int32, Int32) |
Sets the matrix component at the specified position to the specified value.
| |
| ShallowCopy() |
Makes a shallow copy of this Matrix.
| |
| Solve(GeneralVector, Boolean) |
Solves the system of simultaneous linear equations for the specified
right-hand side Vector.
| |
| Solve(GeneralMatrix, Boolean) |
Solves the system of simultaneous linear equations for the specified
right-hand side GeneralMatrix and optionally overwrites the
right-hand side with the solution.
| |
| Solve(Vector) |
Solves the system of linear equations for the specified
right-hand side Vector.
| |
| Solve(Matrix) |
Solves the system of linear equations for the specified
right-hand side Matrix.
| |
| SubtractOuterProduct(Vector) |
Updates a symmetric matrix with the outer product of
a vector and its transpose.
| |
| SubtractOuterProduct(Matrix) |
Updates a symmetric matrix by subtracting the product
of a matrix and its transpose.
| |
| ToGeneralMatrix() |
Makes a copy of this instance and returns it as a
GeneralMatrix.
| |
| ToString() | ||
| ToString(String) | ||
| ToString(String, IFormatProvider) | ||
| Trace() |
Gets the sum of the diagonal elements of this
Matrix.
| |
| Transpose() |
Returns the transpose of this instance.
| |
| TwoNorm() |
Returns the two-norm of this Matrix.
| |
| UnscaleColumns(Vector) |
Scales the columns of the matrix by the inverse of the values specified by a vector.
| |
| UnscaleRows(Vector) |
Scales the rows of the matrix by the inverse of the values specified by a vector.
|
Constructors
| Icon | Type | Description |
|---|---|---|
| SymmetricMatrixNew(Int32) |
Constructs a new SymmetricMatrix
with the specified dimension.
| |
| SymmetricMatrixNew(Int32, Double[](), MatrixTriangleMode) |
Constructs a new SymmetricMatrix of the
specified dimension using the specified data.
| |
| SymmetricMatrixNew(Int32, Double[](), MatrixTriangleMode, Boolean) |
Constructs a new SymmetricMatrix of the
specified dimension using the specified data.
|
Properties
| Icon | Type | Description |
|---|---|---|
| ColumnCount |
Gets the number of columns in the Matrix.
| |
| Columns |
Gets the ColumnCollection for this instance.
| |
| ElementOrder |
Gets a value indicating the order in which the matrix
elements are stored.
| |
| Item(Int32, Int32) |
Gets or sets the specified element in this
Matrix.
| |
| Item(Int32, Range) |
Gets or sets the components of a row of this Matrix.
| |
| Item(Range, Range) |
Gets or sets the components of a submatrix of this Matrix.
| |
| Item(Range, Int32) |
Gets or sets the components of a column of this Matrix.
| |
| RowCount |
Gets the number of rows in the Matrix.
| |
| Rows |
Gets the RowCollection for this instance.
| |
| TriangleMode |
Gets a value that indicates whether the components of a
SymmetricMatrix are stored in the upper or lower
triangle.
|
Remarks
Use the SymmetricMatrix class to represent dense matrices whose
elements are symmetrical about the main diagonal. Symmetric matrices are
always square.
The components of a SymmetricMatrix are stored in a one-dimensional array of Double values. Thanks to the symmetry, only the upper or lower-triangular portion needs to be stored.
Symmetric matrices can be constructed from scratch, or they can be derived or extracted from the upper or lower triangular portion of a GeneralMatrix using one of the Extract(GeneralMatrix, Int32, Int32, Int32, MatrixTriangleMode, Boolean) methods.
The rows and column vectors of a symmetric matrix are of type
The SymmetricMatrix class implements algorithms using the symmetric matrix BLAS and LAPACK routines. Symmetric matrices are always stored in column-major order.
RowVector and ColumnVector, respectively.
Inheritance Hierarchy
System.Object
Extreme.Mathematics.LinearAlgebra.LinearTransformation
Extreme.Mathematics.LinearAlgebra.Matrix
Extreme.Mathematics.LinearAlgebra.SymmetricMatrix
Extreme.Mathematics.LinearAlgebra.LinearTransformation
Extreme.Mathematics.LinearAlgebra.Matrix
Extreme.Mathematics.LinearAlgebra.SymmetricMatrix