procedure RandomSparse(const X: TVec; const Y: TVec; Symmetric: Boolean; FillInPercent: Double; MaxNonZeroCount: Integer);
Creates quadratic non-complex non-singular sparse matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec | |
| 2 | Y | TVec | |
| 3 | Symmetric | Boolean | |
| 4 | FillInPercent | Double | scalar |
| 5 | MaxNonZeroCount | Integer |
Result: stored in self (calling object)
Remarks:
Creates general/symmetric quadratic non-complex non-singular sparse matrix. It returns the right hand side in vector Y and the solution in vector X. If Symmetric is true the method will generate a matrix with symmetric pattern. The FillInPercent parameter defines the percentage of non-zero in the sparse matrix. The MaxNonZeroCount parameter defines an upper limit to prevent against excessive memory usage (consequence of invalid user parameters) and consecutive system lock up.
Note:
You have to set TSparseMtx.Cols property to definethe size of the matrix before calling this routine.
Examples
Uses MtxExpr, sparse, MtxVecTee;
procedure Example;
var SparseA: TMtxSparse;
GridSeries: TMtxGridSeries;
v1,v2: Vector;
A: Matrix;
begin
// ...
SparseA.Size(7500,4000,4000,false);
SparseA.RandomSparse(v1,v2);
SparseA.PixelDownSample(A);
DrawValues(A,GridSeries); // showing A
end;