# Inv(transpose()) fails on 1x1 matrix

**URL:** https://discourse.julialang.org/t/inv-transpose-fails-on-1x1-matrix/14660
**Category:** New to Julia
**Created:** [September 7, 2018, 12:08pm UTC](https://discourse.julialang.org/t/inv-transpose-fails-on-1x1-matrix/14660 "2018-09-07T12:08:19Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![tomtom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tomtom/32/5106_2.png) [@tomtom](https://discourse.julialang.org/u/tomtom)
#### Post date: [September 7, 2018, 12:08pm UTC](https://discourse.julialang.org/t/inv-transpose-fails-on-1x1-matrix/14660/1 "2018-09-07T12:08:20Z")

</div>

Hello, may have found a bug about inv() and transpose():

```julia
julia> mat = reshape([1.0 2.0; 3.0 4.0], 2, 2)
2×2 Array{Float64,2}:
 1.0 2.0
 3.0 4.0

julia> inv(mat)
2×2 Array{Float64,2}:
 -2.0 1.0
  1.5 -0.5

julia> inv(transpose(mat) )
2×2 Array{Float64,2}:
 -2.0 1.5
  1.0 -0.5

julia> mat1 = reshape([3.0], 1, 1)
1×1 Array{Float64,2}:
 3.0

julia> inv(mat1)
1×1 Array{Float64,2}:
 0.3333333333333333

julia> inv(copy(transpose(mat1) ) )
1×1 Array{Float64,2}:
 0.3333333333333333

```

* * *

```julia
julia> inv(transpose(mat1) )
ERROR: MethodError: no method matching ldiv!(::Float64, ::Array{Float64,2})

```

---

<div class="post-metadata">

### Author: ![cdsousa](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cdsousa/32/215553_2.png) [@cdsousa](https://discourse.julialang.org/u/cdsousa)
#### Post date: [September 7, 2018, 12:35pm UTC](https://discourse.julialang.org/t/inv-transpose-fails-on-1x1-matrix/14660/2 "2018-09-07T12:35:08Z")

</div>

~~Either my basic math is failing miserably or that result is exactly correct…~~  
(Edit: Sorry, forget it please, my browser was hiding the last command.)

---

<div class="post-metadata">

### Author: ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)
#### Post date: [September 7, 2018, 12:40pm UTC](https://discourse.julialang.org/t/inv-transpose-fails-on-1x1-matrix/14660/3 "2018-09-07T12:40:03Z")

</div>

> [@tomtom](#):
>
> ```julia
> julia> inv(transpose(mat1) )
> ERROR: MethodError: no method matching ldiv!(::Float64, ::Array{Float64,2})
> 
> ```

I suggest editing your post to break out this last line. It is _very_ easy to miss right now.

---

<div class="post-metadata">

### Author: ![Per](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/per/32/10387_2.png) [@Per](https://discourse.julialang.org/u/Per)
#### Post date: [September 7, 2018, 2:41pm UTC](https://discourse.julialang.org/t/inv-transpose-fails-on-1x1-matrix/14660/4 "2018-09-07T14:41:04Z")

</div>

A fix would be to define:

```julia
LinearAlgebra.ldiv!(a::Number, B::AbstractVecOrMat) = ( B ./= a )

```

---

<div class="post-metadata">

### Author: ![traktofon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/traktofon/32/591_2.png) [@traktofon](https://discourse.julialang.org/u/traktofon)
#### Post date: [September 8, 2018, 12:09pm UTC](https://discourse.julialang.org/t/inv-transpose-fails-on-1x1-matrix/14660/5 "2018-09-08T12:09:16Z")

</div>

The same issue is present for `adjoint` and @Per’s suggestion also fixes that.

---

<div class="post-metadata">

### Author: ![garrison](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/garrison/32/209519_2.png) [@garrison](https://discourse.julialang.org/u/garrison)
#### Post date: [September 8, 2018, 12:35pm UTC](https://discourse.julialang.org/t/inv-transpose-fails-on-1x1-matrix/14660/6 "2018-09-08T12:35:05Z")

</div>

This is related to (but not exactly the same as the first issue mentioned at) [https://github.com/JuliaLang/julia/issues/28782](https://github.com/JuliaLang/julia/issues/28782)
