MATLAB Function Reference
sprandsym

Sparse symmetric random matrix

Syntax

• ```R = sprandsym(S)
R = sprandsym(n`,`density)
R = sprandsym(n`,`density,rc)
R = sprandsym(n`,`density`,`rc`,`kind)
```

Description

```R = sprandsym(S) ``` returns a symmetric random matrix whose lower triangle and diagonal have the same structure as `S`. Its elements are normally distributed, with mean `0` and variance `1`.

```R = sprandsym(n,density) ``` returns a symmetric random, `n`-by-`n`, sparse matrix with approximately `density*n*n` nonzeros; each entry is the sum of one or more normally distributed random samples, and `(0` `<=` `density` `<=` `1)`.

```R = sprandsym(n,density,rc) ``` returns a matrix with a reciprocal condition number equal to `rc`. The distribution of entries is nonuniform; it is roughly symmetric about 0; all are in .

If `rc` is a vector of length `n`, then `R` has eigenvalues `rc`. Thus, if `rc` is a positive (nonnegative) vector then `R` is a positive definite matrix. In either case, `R` is generated by random Jacobi rotations applied to a diagonal matrix with the given eigenvalues or condition number. It has a great deal of topological and algebraic structure.

```R = sprandsym(n,density,rc,kind) ``` returns a positive definite matrix. Argument `kind` can be:

• `1` to generate `R` by random Jacobi rotation of a positive definite diagonal matrix. `R` has the desired condition number exactly.
• `2` to generate an `R` that is a shifted sum of outer products. `R` has the desired condition number only approximately, but has less structure.
• `3` to generate an `R` that has the same structure as the matrix `S` and approximate condition number `1/rc`. `density` is ignored.

`sprand`, `sprandn`