Table of Contents

Class CscMatrix<T>

Namespace
NVMathNet.Sparse
Assembly
NVMath.Net.dll

A sparse matrix stored in Compressed Sparse Column (CSC) format on the GPU. Column offsets, row indices and values are each held in a separate NVMathNet.DeviceBuffer`1. Obtain one from a CSR matrix with NVMathNet.Sparse.CsrMatrix`1.ToCsc.

public sealed class CscMatrix<T> : IDisposable where T : unmanaged, INumberBase<T>

Type Parameters

T

Unmanaged numeric value element type (float, double, etc.).

Inheritance

Implements

Inherited Members

Constructors

CscMatrix(long, long, DeviceBuffer<int>, DeviceBuffer<int>, DeviceBuffer<T>, long?)

Creates a CSC sparse matrix from pre-allocated device buffers; the matrix takes ownership of them.

public CscMatrix(long rows, long cols, DeviceBuffer<int> colOffsets, DeviceBuffer<int> rowIndices, DeviceBuffer<T> values, long? nnz = null)

Parameters

rows long

Number of rows.

cols long

Number of columns.

colOffsets DeviceBuffer<int>

Column offsets (length cols+1).

rowIndices DeviceBuffer<int>

Row indices (length NNZ).

values DeviceBuffer<T>

Non-zero values (length NNZ).

nnz long?

Number of stored entries when it is smaller than the buffer length (for example 0 for an empty matrix backed by one-element placeholder buffers); null uses the length of values.

Properties

ColOffsets

Column offsets — length Cols+1.

public DeviceBuffer<int> ColOffsets { get; }

Property Value

DeviceBuffer<int>

Cols

Number of columns.

public long Cols { get; }

Property Value

long

NNZ

Number of non-zero elements.

public long NNZ { get; }

Property Value

long

RowIndices

Row indices — length NNZ.

public DeviceBuffer<int> RowIndices { get; }

Property Value

DeviceBuffer<int>

Rows

Number of rows.

public long Rows { get; }

Property Value

long

Values

Non-zero values — length NNZ.

public DeviceBuffer<T> Values { get; }

Property Value

DeviceBuffer<T>

Methods

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()