matlabmatrixsparse-matrix# create the complete symmetric matrix by copying the lower triangular of a sparse matrix in triplet format

As the subject line suggests, what would be the most efficient way to copy the lower triangular part of a sparse matrix to the upper triangular part and complete the matrix entries to create the symmetric sparse matrix?

Assume that I have the triplets I, J, X for the lower triangle including the diagonal. I am reading these arrays from a commercial program and for storage space reasons, I believe, they only store the lower triangular part.

Well I will start testing different options soon, but wanted to see if someone else has experienced this before or not.

Solution

You can use sparse:

```
idx = I ~= J; %index of nondiagonals
result = sparse([I;J(idx)], [J;I(idx)], [X;X(idx)]);
```

Because `sparse`

adds together elements in `X`

that have duplicate subscripts in `I`

and `J`

we exclude diagonal elements when concatenating vectors.

- how to reshape a cell array to matrix in desired size
- Using Mat_CreateVer for MATLAB versions higher than 7.3
- Making a numpy ndarray matrix symmetric
- Matlab 2021 and2023 cross compatability
- How to plot figures at the end of the for loop MATLAB?
- Variable transfer from App Designer to general .m script file
- Anomalous behavior of the Simulink signal - Simscape
- What is the fastest method to searsch for a part of a matrix inside of a large matrix?
- Can I Prevent Git from Using XTerm Escape Sequences?
- Use VPA to evaluate tiny probabilities
- Generate Array of Random Numbers with Specified Standard Deviation and Mean
- Matlab update plot with multiple data lines/curves
- Matlab vectorize for loop (grid depends on loop index)
- How to use a flag variable to break all the for-loops in spmd statement?
- How to produce the indexes from pdist2 function in Octave?
- Calculation of sensitivity and specificity from confusion matrix
- How do I read comma separated values from a .txt file in MATLAB using textscan()?
- How do you code Garson's algorithm in matlab to find the relative importance of parameters when training a neural network model?
- add data label to a grouped bar chart in matlab
- Using 1D convolutional with same shape so it will work with FFT?
- super fast median of matrix in OpenCV (as fast as MATLAB)
- How to create a struct or type from a dictionary in Julia?
- MATLAB Delay an Input Signal
- Is there an Octave equivalent of Matlab's `contains` function?
- Matlab define callback function for mouse click on a biograph
- getting a return value from a function in MATLAB
- How to convert nifti file to AFNI file?
- load .mat file, but not on the workspace
- Fast plane fitting to many points
- Cubic spline interpolation vs polynomial interpolation