# Qrfact lufact functions not found in LinearAlgebra Pkg

**URL:** <https://discourse.julialang.org/t/qrfact-lufact-functions-not-found-in-linearalgebra-pkg/50966>\
**Category:** New to Julia\
**Tags:** question, package\
**Created:** [November 29, 2020, 10:27pm UTC](https://discourse.julialang.org/t/qrfact-lufact-functions-not-found-in-linearalgebra-pkg/50966 "2020-11-29T22:27:22Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![George\_Makroglou](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/george_makroglou/32/19835_2.png) [@George\_Makroglou](https://discourse.julialang.org/u/George_Makroglou)\
**Post date:** [November 29, 2020, 10:27pm UTC](https://discourse.julialang.org/t/qrfact-lufact-functions-not-found-in-linearalgebra-pkg/50966/1 "2020-11-29T22:27:23Z")

</div>

Hello, I’m actually new to Julia and trying many different tutorials along with the documentation in order to get a better understanding of the language until I start using it in a more fluent way. I’ve seen in one of the tutorials of the Julia academy two methods for matrix factorization qrfact and lufact both of which I cannot find in the LinearAlgebra package. I’m using Julia 1.5.2 and started to wonder if these functions have been removed in an update because I had the same issue when trying to take a broadcast transpose of a matrix A.’ . Is that the case, or am I missing something?

---

<div class="post-metadata">

**Author:** ![AndiMD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/andimd/32/6531_2.png) [@AndiMD](https://discourse.julialang.org/u/AndiMD)\
**Post date:** [November 29, 2020, 11:19pm UTC](https://discourse.julialang.org/t/qrfact-lufact-functions-not-found-in-linearalgebra-pkg/50966/2 "2020-11-29T23:19:38Z")

</div>

Hi! Looks like they have been renamed to `qr` and `lu`.

---

<div class="post-metadata">

**Author:** ![George\_Makroglou](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/george_makroglou/32/19835_2.png) [@George\_Makroglou](https://discourse.julialang.org/u/George_Makroglou)\
**Post date:** [November 30, 2020, 1:04am UTC](https://discourse.julialang.org/t/qrfact-lufact-functions-not-found-in-linearalgebra-pkg/50966/3 "2020-11-30T01:04:34Z")

</div>

Oh cool ok. I’ve seen these two but thought they are somewhat different due to multiple dispatch. Good to know. Thanks

---

<div class="post-metadata">

**Author:** ![ctkelley](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ctkelley/32/10684_2.png) [@ctkelley](https://discourse.julialang.org/u/ctkelley)\
**Post date:** [November 30, 2020, 1:23am UTC](https://discourse.julialang.org/t/qrfact-lufact-functions-not-found-in-linearalgebra-pkg/50966/4 "2020-11-30T01:23:14Z")

</div>

You should look at lu! and qr!. The ones with a ! overwrite the matrix, just like **dgefa** from LINPACK. Try this and get a few screenfuls of useful stuff.

```julia
julia> ?
help?> lu!

```

---

<div class="post-metadata">

**Author:** ![George\_Makroglou](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/george_makroglou/32/19835_2.png) [@George\_Makroglou](https://discourse.julialang.org/u/George_Makroglou)\
**Post date:** [November 30, 2020, 10:17am UTC](https://discourse.julialang.org/t/qrfact-lufact-functions-not-found-in-linearalgebra-pkg/50966/5 "2020-11-30T10:17:31Z")

</div>

Yeah, now that I’ve checked those two I can see that they follow the ! convention, and you can extract Q, R, L, U, P from both mutating and non-mutating versions with a dot operator. Thanks
