# Factor a non-symmetric matrix into the product of a sparse symmetric matrix and a diagonal matrix plus a low rank correction

I have a non-symmetric matrix, where the non-symmetry only appears at a subset of points. This arises due to the particular manner on which boundary conditions are applied in a Cartesian grid method. I'm looking for a way to factor the matrix into the product of a symmetric sparse matrix and a diagonal matrix with a low rank correction so I can symmetrize the system as suggested here:

How far is a non-symmetric discretization of an elliptic operator from the continuous operator itself?

-

## 1 Answer

There is no way you really mean product since the product of a low rank matrix with anything is also low rank. Given non-symmetric $A$, perhaps you are looking for

$$S = \frac 1 2 (A + A^T)$$ $$N = \frac 1 2 (A - A^T).$$

If $A = S + N$ is symmetric in most of the domain, then the non-symmetric part $N$ will be low rank and sparse.

Of course a sum is much less useful than a product if you were interested in solving this system. In particular, if $N$ is nonzero at boundaries, the rank is not small enough for specialized tricks to apply. What was really intended in the question you reference is to reformulate your problem, not to brute-force decompose or symmetricze.

-

I suppose I should have said an identity matrix plus a low rank correction. – John Mousel Aug 9 '12 at 14:29
@JohnMousel Please fix the title and body of your question. – Jed Brown Aug 9 '12 at 17:19
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 4, "mathjax_display_tex": 2, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9392623901367188, "perplexity_flag": "head"}