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.

 采纳的回答

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 个评论

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?

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Sparse Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by