How can I create sparse symmetric positive definite linear system?

Dear All :) I'm looking for sparse symmetric positive definite linear system Ax=b. Is it possible to generate it in Matlab? I need matrix A about 50x50 (maximum 100x100 - minimum 20x20) and vector b. It might be floating point numbers... I prefer not compressed format ;)
Thank you in advance.
D.

 Akzeptierte Antwort

Richard Brown
Richard Brown am 6 Aug. 2013
Bearbeitet: Richard Brown am 6 Aug. 2013
sprandsym is what you want.
m = 50;
density = 2/m; % for example
rc = 0.1; % Reciprocal condition number
A = sprandsym(m, density, rc, 1);
If you don't want it in compressed column format
A = full(A);
Verify positive definiteness
chol(A);

4 Kommentare

Thank you. And is it possible to generate sparse SPD but integer?
Not directly, but you might try scaling and rounding results from sprandsym, or something like that
How to generate the matrix b.
Can it be a random one independent of the way A is generated?
I needed to generate a symmetric sparse positive definite matrix. can you help me in that?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Sparse Matrices finden Sie in Hilfe-Center und File Exchange

Gefragt:

D
D
am 6 Aug. 2013

Kommentiert:

am 17 Jul. 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by