Skip to content

Commit b853cc3

Browse files
authored
Merge pull request #35 from bcbi/dpa/pseudoinverse
Add the private/internal `_pseudoinverse` function
2 parents 4459557 + 96504ba commit b853cc3

4 files changed

Lines changed: 23 additions & 2 deletions

File tree

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "MaximumLikelihoodProblems"
22
uuid = "e149cee4-a9c8-4a03-a7b6-d91720412337"
33
authors = ["Dilum Aluthge"]
4-
version = "0.1.5"
4+
version = "0.1.6"
55

66
[deps]
77
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"

src/MaximumLikelihoodProblems.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ include("public.jl")
55
include("types.jl")
66

77
include("fit.jl")
8+
include("linear_algebra.jl")
89
include("loglikelihood.jl")
910

1011
include("Internal.jl")

src/linear_algebra.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import LinearAlgebra
2+
3+
function _pseudoinverse(m::AbstractMatrix)
4+
try
5+
return LinearAlgebra.inv(m)
6+
catch ex
7+
@debug("", exception = (ex, catch_backtrace()))
8+
end
9+
return LinearAlgebra.pinv(m)
10+
end

test/runtests.jl

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import MaximumLikelihoodProblems
22

3+
import LinearAlgebra
34
import Random
45
import Statistics
56
import Test
@@ -11,5 +12,14 @@ examples_directory = joinpath(root_directory, "examples")
1112
test_directory = joinpath(root_directory, "test")
1213

1314
Test.@testset "MaximumLikelihoodProblems.jl" begin
14-
include("examples.jl")
15+
Test.@testset "linear_algebra.jl" begin
16+
Test.@testset "_pseudoinverse" begin
17+
Test.@test MaximumLikelihoodProblems._pseudoinverse([1 2; 3 4]) == LinearAlgebra.inv([1 2; 3 4])
18+
Test.@test MaximumLikelihoodProblems._pseudoinverse([0 0; 0 0]) == [0 0; 0 0]
19+
end
20+
end
21+
22+
Test.@testset "examples" begin
23+
include("examples.jl")
24+
end
1525
end

0 commit comments

Comments
 (0)