|  | DoubleSymBandMatrix Class | 
            Class DoubleSymBandMatrix represents a symmetric banded matrix of double-precision
            floating point values. A symmetric banded matrix is a symmetric matrix that has all its
            non-zero entries near the diagonal.
            
 Inheritance Hierarchy
Inheritance Hierarchy NMath (in NMath.dll) Version: 7.4
 Syntax
Syntax[SerializableAttribute]
public class DoubleSymBandMatrix : ICloneable
<SerializableAttribute>
Public Class DoubleSymBandMatrix
	Implements ICloneable
[SerializableAttribute]
public ref class DoubleSymBandMatrix : ICloneable
[<SerializableAttribute>]
type DoubleSymBandMatrix = 
    class
        interface ICloneable
    endThe DoubleSymBandMatrix type exposes the following members.
 Constructors
Constructors Properties
Properties|  | Name | Description | 
|---|
|  | Bandwidth | Gets the bandwidth of the matrix. | 
|  | Cols | Gets the number of columns in the matrix. | 
|  | DataVector | Gets the data vector referenced by this matrix. | 
|  | HalfBandwidth | Gets the half bandwidth of the matrix. | 
|  | Item | Gets and sets the value at the specified position. | 
|  | Order | Gets the order of the matrix (the number of rows and columns). | 
|  | Rows | Gets the number of rows in the matrix. | 
Top Methods
Methods|  | Name | Description | 
|---|
|   | Add(Double, DoubleSymBandMatrix) | Adds a scalar to the non-zero elements of a banded matrix. | 
|   | Add(DoubleSymBandMatrix, DoubleSymBandMatrix) | Adds two banded matrices. | 
|   | Add(DoubleSymBandMatrix, Double) | Adds a scalar to the non-zero elements of a banded matrix. | 
|  | Clone | Creates a deep copy of this matrix. | 
|  | DeepenThisCopy | Guarantees that there is only one reference to the underlying
            data and that this data is in contiguous storage. | 
|  | Diagonal | Returns a vector view of the main diagonal of this matrix. | 
|  | Diagonal(Int32) | Returns a vector view of a diagonal of this matrix. | 
|   | Divide(Double, DoubleSymBandMatrix) | Divides a scalar by the non-zero elements of a banded matrix. | 
|   | Divide(DoubleSymBandMatrix, DoubleSymBandMatrix) | Divides a banded matrix by another. | 
|   | Divide(DoubleSymBandMatrix, Double) | Divides the non-zero elements of a banded matrix by a scalar. | 
|  | Equals | Tests for equality of this matrix and another matrix.
            Two matrices are equal if they have the same dimensions, upper bandwidth
             and all values are equal. (Overrides ObjectEquals(Object))
 | 
|  | GetHashCode | Returns an integer hash code for this matrix. (Overrides ObjectGetHashCode)
 | 
|  | LeadingSubmatrix | Returns the k by k upper left corner of the matrix. | 
|   | Multiply(Double, DoubleSymBandMatrix) | Multiplies the non-zero elements of a banded matrix by a scalar. | 
|   | Multiply(DoubleSymBandMatrix, DoubleSymBandMatrix) | Multiplies two banded matrices. | 
|   | Multiply(DoubleSymBandMatrix, Double) | Multiplies the non-zero elements of a banded matrix and a scalar. | 
|   | Negate | Negation operator. | 
|  | Resize(Int32) | Changes the dimensions of this matrix to those specified, adding
            zeros or truncating as necessary. | 
|  | Resize(Int32, Int32) | Changes the dimensions and half bandwidth of this matrix to those specified,
            adding zeros or truncating as necessary. | 
|  | ShallowCopy | Creates a shallow copy of this matrix. | 
|   | Subtract(Double, DoubleSymBandMatrix) | Subtracts the non-zero elements of a banded matrix from a scalar. | 
|   | Subtract(DoubleSymBandMatrix, DoubleSymBandMatrix) | Subtracts two banded matrices. | 
|   | Subtract(DoubleSymBandMatrix, Double) | Subtracts a scalar from the non-zero elements of a banded matrix. | 
|   | ToCommaSeparated | Returns a formatted string representation of this matrix using commas
            and newlines. | 
|   | ToCommaSeparated(String) | Returns a formatted string representation of this matrix using commas
            and newlines. Numbers are formatted using the specified format string. | 
|  | ToGeneralMatrix | Converts this symmetric banded matrix to a general matrix. | 
|   | ToString | Returns a formatted string representation of this matrix. ToCommaSeparated ToCommaSeparated(String) ToTabDelimited ToTabDelimited(String) (Overrides ObjectToString)
 | 
|   | ToString(String) | Returns a formatted string representation of this matrix. Numbers are displayed
            using the specified format. ToCommaSeparated ToCommaSeparated(String) ToTabDelimited ToTabDelimited(String) | 
|   | ToTabDelimited | Returns a formatted string representation of this matrix using tabs
            and newlines. | 
|   | ToTabDelimited(String) | Returns a formatted string representation of this matrix using tabs
            and newlines. Numbers are formatted using the specified format string. | 
|  | Transpose | Returns this matrix. | 
Top Operators
Operators|  | Name | Description | 
|---|
|   | Addition(Double, DoubleSymBandMatrix) | Adds a scalar to the non-zero elements of a banded matrix. | 
|   | Addition(DoubleSymBandMatrix, DoubleSymBandMatrix) | Adds two symmetric banded matrices. | 
|   | Addition(DoubleSymBandMatrix, Double) | Adds a scalar to the non-zero elements of a banded matrix. | 
|   | Division(Double, DoubleSymBandMatrix) | Divides a scalar by the non-zero elements of a symmetric banded matrix. | 
|   | Division(DoubleSymBandMatrix, DoubleSymBandMatrix) | Divides a symmetric banded matrix by another. | 
|   | Division(DoubleSymBandMatrix, Double) | Divides the non-zero elements of a symmetric banded matrix by a scalar. | 
|   | Equality(DoubleSymBandMatrix, DoubleSymBandMatrix) | Tests for equality of two symmetric banded matrices. Two matrices are equal if they
            have the same dimensions, and half bandwidth, and all values are equal. | 
|   | (FloatSymBandMatrix to DoubleSymBandMatrix) | Implicitly converts a FloatSymBandMatrix instance into a DoubleSymBandMatrix
            instance. | 
|   | Inequality(DoubleSymBandMatrix, DoubleSymBandMatrix) | Tests for equality of two symmetric banded matrices. Two matrices are equal if they
            have the same dimensions, and half bandwidths, and all values are equal. | 
|   | Multiply(Double, DoubleSymBandMatrix) | Multiplies the non-zero elements of a symmetric banded matrix by a scalar. | 
|   | Multiply(DoubleSymBandMatrix, DoubleSymBandMatrix) | Multiplies two symmetric banded matrices. | 
|   | Multiply(DoubleSymBandMatrix, Double) | Multiplies the non-zero elements of a symmetric banded matrix and a scalar. | 
|   | Subtraction(Double, DoubleSymBandMatrix) | Subtracts the non-zero elements of a symmetric banded matrix from a scalar. | 
|   | Subtraction(DoubleSymBandMatrix, DoubleSymBandMatrix) | Subtracts two symmetric banded matrices. | 
|   | Subtraction(DoubleSymBandMatrix, Double) | Subtracts a scalar from the non-zero elements of a symmetric banded matrix. | 
|   | UnaryNegation(DoubleSymBandMatrix) | Negation operator. | 
|   | UnaryPlus(DoubleSymBandMatrix) | Unary + operator. Just returns the input matrix. | 
Top Remarks
Remarks
            If hb is the half bandwidth,
            then the element in the ith row, jth
            column is defined to be zero whenever j - i > hb. or i - j > hb.
            
            The upper triangular part of the matrix is stored in a vector, column by column
            (zero elements and the lower triagular part of the matrix are not stored). There 
            are some blank entries in the data vector so the each column takes up the same 
            number of elements, half bandwidth + 1, in the vector. For example, the following
             9 by 9 matrix with half bandwidth 2,
            
    | a11 a12 a13 0   0   0   0   0   0   |
    | a12 a22 a23 a24   0 0   0   0   0   |
    | a13 a23 a33 a34 a35 0   0   0   0   |
A = | 0   a24 a34 a44 a45 a46 0   0   0   |
    | 0   0   a35 a45 a55 a56 a57 0   0   |
    | 0   0   0   a46 a56 a66 a67 a68 0   |
    | 0   0   0   0   a57 a67 a77 a78 a79 |
    | 0   0   0   0   0   a68 a78 a88 a89 |
    | 0   0   0   0   0   0   a79 a89 a99 |    
            is stored in a data vector 
v as
            
v = [x   x   a11
     x   a12 a22
     a13 a23 a33
     a24 a34 a44
     a35 a45 a55
     a46 a56 a66
     a57 a67 a77
     a68 a78 a88
     a79 a89 a99 ]    
            where 
x denotes an unused location.
            
 See Also
See Also