TSparseMtx.RandomSparse Method

procedure RandomSparse(const X: TVec; const Y: TVec; Symmetric: Boolean; FillInPercent: Double; MaxNonZeroCount: Integer);

Creates quadratic non-complex non-singular sparse matrix.

#NameTypeDescription
1XTVec
2YTVec
3SymmetricBoolean
4FillInPercentDoublescalar
5MaxNonZeroCountInteger

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;