# Where is sparse ldlt?

**URL:** <https://discourse.julialang.org/t/where-is-sparse-ldlt/78929>\
**Category:** General Usage\
**Created:** [April 3, 2022, 3:30am UTC](https://discourse.julialang.org/t/where-is-sparse-ldlt/78929 "2022-04-03T03:30:22Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![skleinbo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/skleinbo/32/36080_2.png) [@skleinbo](https://discourse.julialang.org/u/skleinbo)\
**Post date:** [April 3, 2022, 9:27am UTC](https://discourse.julialang.org/t/where-is-sparse-ldlt/78929/2 "2022-04-03T09:27:46Z")

</div>

It’s still there (`1.7.2`)

```julia
julia> import SparseArrays

julia> SparseArrays.ldlt
ldlt (generic function with 3 methods)

julia> methods(SparseArrays.ldlt)
# 3 methods for generic function "ldlt":
[1] ldlt(M::SymTridiagonal{T, V} where V<:AbstractVector{T}; shift) where T in LinearAlgebra at C:\Users\stephan\AppData\Local\Programs\Julia-1.7.2\share\julia\stdlib\v1.7\LinearAlgebra\src\ldlt.jl:161
[2] ldlt(A::SuiteSparse.CHOLMOD.Sparse; shift, check, perm) in SuiteSparse.CHOLMOD at C:\Users\stephan\AppData\Local\Programs\Julia-1.7.2\share\julia\stdlib\v1.7\SuiteSparse\src\cholmod.jl:1336
[3] ldlt(A::Union{Hermitian{Complex{T}, SparseMatrixCSC{Complex{T}, Int64}}, Hermitian{T, SparseMatrixCSC{T, Int64}}, Symmetric{T, SparseMatrixCSC{T, Int64}}, SparseMatrixCSC{Complex{T}}, SparseMatrixCSC{T}}; kws...) where T<:Real in SuiteSparse.CHOLMOD at C:\Users\stephan\AppData\Local\Programs\Julia-1.7.2\share\julia\stdlib\v1.7\SuiteSparse\src\cholmod.jl:1396

```

but strangely doesn’t appear in the tab-completion. I’ve had that happening recently with another package, which tripped me up too.

This happens apparently because `SparseArrays` extends `ldlt` from `LinearAlgebra`. Why it works this way or doesn’t, I cannot say.

```julia
julia> module ModA
       export f
       f(x::Float64) = x
       end
Main.ModA

julia> module ModB
       import ..ModA: f
       f(x::Int) = x^2
       end
Main.ModB

julia> ModA.

eval f include
julia> ModB.

eval include

julia> ModB.f
f (generic function with 2 methods)

```

---

_[View the full topic](https://discourse.julialang.org/t/where-is-sparse-ldlt/78929)._
