Thousands of tools! Check out Online Tools – I have now added thousands of tools.
I often have to generate symmetric matrices so I created this simple online utility that does it for me. It lets you generate symmetric matrices of any size you need. It works in the browser and is powered by alien technology from the future.
Symmetric Matrix Generator Options
Symmetric Matrix Generator Examples (click to try!)
1 7 1 2 2 8 7 1 1 7 5 9 8 5 6 0 9 2 1 9 1 4 1 3 4 8 9 2 8 4 2 2 2 4 4 6 2 5 1 2 3 7 4 8 9 8 6 3 2 7 6 2 0 0 7 0 4 4 4 2 7 2 4 1 9 8 4 8 0 2 0 8 1 2 9 6 9 0 4 8 1
2.09 1 1 1 0 1 2.03 0 1 1 1 0 2.58 1 0 1 1 1 2.28 0 0 1 0 0 2.36
❼ ⓪ ④ ⑦ ① ⑤ ② ⑤ ① ④ ⓪ ❻ ⑤ ② ⑥ ⑤ ⑤ ② ⑨ ② ④ ⑤ ⓿ ④ ② ⑨ ② ④ ④ ⓪ ⑦ ② ④ ❻ ② ③ ⑥ ⑤ ⑥ ⑨ ① ⑥ ② ② ❾ ④ ⑧ ⑧ ⑥ ② ⑤ ⑤ ⑨ ③ ④ ❽ ⑤ ⑤ ① ⑤ ② ⑤ ② ⑥ ⑧ ⑤ ❷ ⓪ ② ② ⑤ ② ④ ⑤ ⑧ ⑤ ⓪ ❷ ④ ⑦ ① ⑨ ④ ⑥ ⑥ ① ② ④ ❸ ⑨ ④ ② ⓪ ⑨ ② ⑤ ② ⑦ ⑨ ⓿
λ α α α α β α α α λ α α α β α β α α λ β β β α β α α β λ α β α α α α β α λ β β β β β β β β λ α α α α α α β α λ β α β β α β α β λ
✸ ✷ ✹ ✵ ✹ ✷ ✸ ✸ ✸ ✸ ✲ ✹ ✺ ✸ ✺ ✹ ✲ ✷ ✷ ✲ ✵ ✷ ✵ ✹ ✵ ✺ ✺ ✹ ✹ ✵ ✲ ✺ ✺ ✵ ✷ ✷ ✵ ✺ ✷ ✲ ✺ ✷ ✸ ✵ ✷ ✹ ✸ ✵ ✺ ✺ ✷ ✵ ✲ ✲ ✷ ✺ ✹ ✺ ✷ ✷ ✹ ✲ ✹ ✸ ✹ ✵ ✵ ✸ ✵ ✹ ✷ ✲ ✸ ✲ ✺ ✷ ✵ ✲ ✲ ✷ ✹ ✸ ✷ ✺ ✷ ✷ ✲ ✹ ✲ ✹
🃏 ♠ ♥ ♥ ♣ ♠ ♠ 🃏 ♥ ♠ ♣ ♣ ♥ ♥ 🃏 ♠ ♣ ♣ ♥ ♠ ♠ 🃏 ♦ ♠ ♣ ♣ ♣ ♦ 🃏 ♥ ♠ ♣ ♣ ♠ ♥ 🃏
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
53 79 49 40 60 53 66 45 27 72
How Does This Symmetric Matrix Generator Work?
This symmetric matrix generator works entirely in your browser and is written in JavaScript. A symmetric matrix can only be square and has the property aij=aji
, which means its elements with respect to the main diagonal are identical. In the code, such matrices are implemented using two-dimensional arrays. If a matrix has the size n×n
, then the starting two-dimensional array that represents it looks like this matrix = [[],[],…,[]]
, where empty cells []
appear n
(or size
) times. To generate this array, the generator calls matrix.push([])
for a total of n
times. To fill the inside arrays with elements it uses two for
loops. Since the values in upper and lower matrix parts are duplicates, the outer loop runs from i = 0
to i = size - 1
and the inner loop runs from j = i
to j = size - 1
. It uses three complex math formulas to generate the matrix elements matrix[i][j]
. For integer values, it calculates r()*(end-start)+start
, for fractions it calls Math.floor(r()*(end-start+1))+start
, and for custom elements it runs elemArr[Math.floor(r()*elemArr.length)]
, where r()
is the Math.random()
function. The array elemArr
is created from the custom matrix elements option elements
. The variables start
and end
are also specified in the options. If i == j
, then the diagonal options are used, if i != j
, then non-diagonal options are used. The lower part of the matrix is filled by copying elements from the positions matrix[i][j]
to positions matrix[j][i]
. To print the matrix
double array, it turns it into a string by calling the join(elSeparator)
function for the internal arrays (elSeparator
is the symbol that separates the matrix elements) and join(rowSeparator)
for the external array (rowSeparator
is the symbol that separates the matrix rows).
Created by Browserling
This symmetric matrix generator was created by me and my team at Browserling. Behind the scenes, it's actually powered by our web developer tools that are used by millions of people every month. Browserling itself is an online cross-browser testing service powered by alien technology. Check it out!
Secret message: If you love my tools, then I love you, too! Use coupon code TOOLLING to get a discount at my company.