# \#factorization

**URL:** https://discourse.julialang.org/tag/factorization/712.md

[Latest](https://discourse.julialang.org/latest.md) · [Categories](https://discourse.julialang.org/categories.md) · [Tags](https://discourse.julialang.org/tags.md)

---

## [Factor polynomial](https://discourse.julialang.org/t/factor-polynomial/110926)

<div class="topic-metadata">

**Author:** [@jar1](https://discourse.julialang.org/u/jar1)\
**Replies:** 5\
**Last updated:** [May 8, 2025, 1:43pm UTC](https://discourse.julialang.org/t/factor-polynomial/110926 "2025-05-08T13:43:32Z")

</div>

I want to factor(x^5 + x + 1) into (x^3 - x^2 + 1)(x^2 + x + 1). Wolfram can do it, is there a Julia package that can? AbstractAlgebra.jl has a function called factor but I can’t figure out how to use it. Polynomials.j…

---

## [Sparse LU factorization on GPU](https://discourse.julialang.org/t/sparse-lu-factorization-on-gpu/122012)

<div class="topic-metadata">

**Author:** [@IvanBioli](https://discourse.julialang.org/u/IvanBioli)\
**Replies:** 12\
**Last updated:** [November 2, 2024, 5:26pm UTC](https://discourse.julialang.org/t/sparse-lu-factorization-on-gpu/122012 "2024-11-02T17:26:39Z")

</div>

Hi, I am working with a CuSparseMatrixCSR{Float64, Int32} matrix A on the GPU to solve a linear system multiple times during the training of an ML model. I’m hoping to perform a sparse LU factorization (with optional re…

---

## [Block Diagonal Factorization Performance](https://discourse.julialang.org/t/block-diagonal-factorization-performance/112294)

<div class="topic-metadata">

**Author:** [@bmit](https://discourse.julialang.org/u/bmit)\
**Replies:** 1\
**Last updated:** [September 25, 2024, 1:28pm UTC](https://discourse.julialang.org/t/block-diagonal-factorization-performance/112294 "2024-09-25T13:28:08Z")

</div>

I’m looking to leverage the speedup that is possible by exploiting block diagonal structures during matrix factorization. Since I’m relying on existing code and inherent multiple dispatch, I need the solution to 1) use a…

---

## [Cholesky Decomposition of a Sparse Symmetric Positive Semidefinite (SPSD) Singular Matrix](https://discourse.julialang.org/t/cholesky-decomposition-of-a-sparse-symmetric-positive-semidefinite-spsd-singular-matrix/119682)

<div class="topic-metadata">

**Author:** [@RoyiAvital](https://discourse.julialang.org/u/RoyiAvital)\
**Replies:** 19\
**Last updated:** [September 23, 2024, 5:31pm UTC](https://discourse.julialang.org/t/cholesky-decomposition-of-a-sparse-symmetric-positive-semidefinite-spsd-singular-matrix/119682 "2024-09-23T17:31:44Z")

</div>

Is there such equivalent for sparse matrix? I don’t see the pivoting option for SparseMatrixCSC. How would you handle a Sparse SPSD matrix? Currently I just use check = false. Probably small shift should help but i…

---

## [Which algorithm does Julia use for matrix QR decomposition?](https://discourse.julialang.org/t/which-algorithm-does-julia-use-for-matrix-qr-decomposition/107566)

<div class="topic-metadata">

**Author:** [@boywithacoin](https://discourse.julialang.org/u/boywithacoin)\
**Replies:** 5\
**Last updated:** [December 13, 2023, 8:04pm UTC](https://discourse.julialang.org/t/which-algorithm-does-julia-use-for-matrix-qr-decomposition/107566 "2023-12-13T20:04:01Z")

</div>

Which algorithm does Julia uses for QR decomposition? Additionally, parallelizing decomposition methods is non-trivial. Does it use a specialized implementation on the GPU?

---

## [Looking for assistance with maintaining NormalForms.jl](https://discourse.julialang.org/t/looking-for-assistance-with-maintaining-normalforms-jl/105963)

<div class="topic-metadata">

**Author:** [@brainandforce](https://discourse.julialang.org/u/brainandforce)\
**Replies:** 2\
**Last updated:** [November 27, 2023, 1:17am UTC](https://discourse.julialang.org/t/looking-for-assistance-with-maintaining-normalforms-jl/105963 "2023-11-27T01:17:13Z")

</div>

NormalForms.jl is a package which provides the Smith and Hermite normal forms, integer matrix decompositions that are useful in my domain (chemistry - I developed it as a dependency of Electrum.jl because the Smith norma…

---

## [Cholesky with sparse matrices](https://discourse.julialang.org/t/cholesky-with-sparse-matrices/72494)

<div class="topic-metadata">

**Author:** [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Replies:** 8\
**Last updated:** [September 29, 2023, 6:31am UTC](https://discourse.julialang.org/t/cholesky-with-sparse-matrices/72494 "2023-09-29T06:31:02Z")

</div>

Should the following example work? julia\> using LinearAlgebra julia\> using SparseArrays julia\> # 10x10 sparse matrix A = sprand(10, 10, 1.0) 10×10 SparseMatrixCSC{Float64, Int64} with 100 stored entries: 0.904…

---

## [Computer Algebra "factor" function](https://discourse.julialang.org/t/computer-algebra-factor-function/102837)

<div class="topic-metadata">

**Author:** [@maxasauruswall](https://discourse.julialang.org/u/maxasauruswall)\
**Replies:** 2\
**Last updated:** [August 16, 2023, 2:45am UTC](https://discourse.julialang.org/t/computer-algebra-factor-function/102837 "2023-08-16T02:45:07Z")

</div>

Hi All, I’m reading “Computer Algebra Concepts and Techniques” by Lamagna (I’m new to CAS systems, and fairly new to Julia as well). I was curious to see if I could follow along with some of the examples in Julia, rathe…

---

## [Request minimum rank in LowRankApprox.jl?](https://discourse.julialang.org/t/request-minimum-rank-in-lowrankapprox-jl/99191)

<div class="topic-metadata">

**Author:** [@miles](https://discourse.julialang.org/u/miles)\
**Replies:** 3\
**Last updated:** [July 20, 2023, 2:50am UTC](https://discourse.julialang.org/t/request-minimum-rank-in-lowrankapprox-jl/99191 "2023-07-20T02:50:35Z")

</div>

I’m using the id method (interpolative decomposition or ID) from the LowRankApprox.jl package. In the algorithm I’m trying to program (a variant of the “tensor cross interpolation”, reviewed in depth in this article whic…

---

## [Inverting the columns of \`LinearAlgebra.QRCompactWYQ\`](https://discourse.julialang.org/t/inverting-the-columns-of-linearalgebra-qrcompactwyq/90003)

<div class="topic-metadata">

**Author:** [@brainandforce](https://discourse.julialang.org/u/brainandforce)\
**Replies:** 0\
**Last updated:** [November 9, 2022, 7:24pm UTC](https://discourse.julialang.org/t/inverting-the-columns-of-linearalgebra-qrcompactwyq/90003 "2022-11-09T19:24:53Z")

</div>

I need to perform a QR decomposition with all of the diagonal elements of R to be positive. I’d like to do this by multiplying relevant columns of Q and rows of R by -1, but the issue that comes up is that qr!() returns L…

---

## [ProcessExitedException while using Pardiso.jl](https://discourse.julialang.org/t/processexitedexception-while-using-pardiso-jl/81073)

<div class="topic-metadata">

**Author:** [@ahmed](https://discourse.julialang.org/u/ahmed)\
**Replies:** 0\
**Last updated:** [May 14, 2022, 8:01pm UTC](https://discourse.julialang.org/t/processexitedexception-while-using-pardiso-jl/81073 "2022-05-14T20:01:12Z")

</div>

I’m trying to learn Pardiso.jl to use it to do matrix factorization. The following code creates random Hermitian matrices and then do the numerical factorization on them. For some matrices, this works fine and sometimes …

---

## [Distributed.ProcessExitedException error using Pardiso.jl](https://discourse.julialang.org/t/distributed-processexitedexception-error-using-pardiso-jl/81065)

<div class="topic-metadata">

**Author:** [@ahmed](https://discourse.julialang.org/u/ahmed)\
**Replies:** 0\
**Last updated:** [May 14, 2022, 3:16pm UTC](https://discourse.julialang.org/t/distributed-processexitedexception-error-using-pardiso-jl/81065 "2022-05-14T15:16:40Z")

</div>

I’m trying to learn Pardiso.jl to use it to do matrix factorization. The following code creates random Hermitian matrices and then do the numerical factorization on them. For some matrices, this works fine and sometimes …

---

## [SuiteSparse.CHOLMOD.lowrankupdate! does not speed up calculations](https://discourse.julialang.org/t/suitesparse-cholmod-lowrankupdate-does-not-speed-up-calculations/63690)

<div class="topic-metadata">

**Author:** [@sidelkin](https://discourse.julialang.org/u/sidelkin)\
**Replies:** 0\
**Last updated:** [June 28, 2021, 11:17am UTC](https://discourse.julialang.org/t/suitesparse-cholmod-lowrankupdate-does-not-speed-up-calculations/63690 "2021-06-28T11:17:48Z")

</div>

Hello. Can someone explain why using SuiteSparse.CHOLMOD.lowrankupdate! does not give acceleration in this example? using BenchmarkTools, LinearAlgebra, SparseArrays, Test, SuiteSparse N = 100; M = 20 b = rand(N) spA =…

---

## [Inverse of a boolean (or integer) matrix vs factorization](https://discourse.julialang.org/t/inverse-of-a-boolean-or-integer-matrix-vs-factorization/62554)

<div class="topic-metadata">

**Author:** [@Krastanov](https://discourse.julialang.org/u/Krastanov)\
**Replies:** 7\
**Last updated:** [June 8, 2021, 7:28am UTC](https://discourse.julialang.org/t/inverse-of-a-boolean-or-integer-matrix-vs-factorization/62554 "2021-06-08T07:28:46Z")

</div>

My understanding is that factorization is almost always better than explicit inversion for a matrix of real (or complex) numbers (because usually you do not actually need the explicit inverse, rather some other operation…
