@thi.ng/sparse
Version:
Sparse vector & matrix implementations
53 lines • 1.66 kB
TypeScript
import { ASparseMatrix } from "./amatrix.js";
import type { NzEntry } from "./api.js";
export declare class CSR extends ASparseMatrix {
/**
* Constructs CSR from dense row-major matrix values.
*
* @param m - rows
* @param n - columns
* @param dense - matrix values
*/
static fromDense(m: number, n: number, dense: ArrayLike<number>): CSR;
static empty(m: number, n?: number): CSR;
static identity(size: number): CSR;
static diag(vals: number[]): CSR;
/**
* Non-zero matrix values
*/
data: number[];
/**
* Row start indices into A
*/
rows: number[];
/**
* Column indices for values in A
*/
cols: number[];
constructor(m: number, n: number, data: number[], rows: number[], cols: number[]);
copy(): CSR;
zero(): this;
nzEntries(): Generator<NzEntry, void, unknown>;
reshape(m: number, n?: number): this;
extract(m: number, n: number, rows: number, cols: number): CSR;
at(m: number, n: number, safe?: boolean): number;
setAt(m: number, n: number, x: number, safe?: boolean, compact?: boolean): this;
denseRow(m: number): number[];
denseCol(n: number): number[];
add(mat: CSR): CSR;
sub(mat: CSR): CSR;
mul(mat: CSR): CSR;
mulV(vec: number[]): any[];
mulN(n: number): CSR;
nnz(): number;
nnzRow(m: number): number;
nzRowCols(m: number): number[];
nzRowVals(m: number): number[];
nnzCol(n: number): number;
nzColVals(n: number): number[];
nzColRows(n: number): number[];
transpose(): CSR;
toDense(): number[];
toString(): string;
}
//# sourceMappingURL=csr.d.ts.map