TSparseMtx::RandomSparse Method

void RandomSparse(TVec *X, TVec *Y, bool Symmetric = false, double FillInPercent = 33, int MaxNonZeroCount = 10000000);

Creates quadratic non-complex non-singular sparse matrix.

#NameTypeDescription
1XTVec *
2YTVec *
3Symmetric = falsebool
4FillInPercent = 33double
5MaxNonZeroCount = 10000000int
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
#include "MtxExpr.h"
#include "sparse.h"

using namespace Dew;
using namespace Dew::Math;

void Example()
{
    TSparseMtx* SparseA = new TSparseMtx();
    Vector v1, v2;
    Matrix A;
    //  ...
    SparseA->Size(7500, 4000, 4000, false);
    SparseA->RandomSparse(v1, v2);
    SparseA->PixelDownSample(A);
    delete SparseA;
}
Declared in Dew::Math::TSparseMtx · Dew.Math/sparse.h · Cross-compiler