Skip to content

Commit d90b371

Browse files
committed
Fixed bugs in eigvalrand
1 parent 4b94a45 commit d90b371

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/GaussianEnsembles.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ end
6262
tridrand(d::GaussianHermite, dims::Dim2) = dims[1]==dims[2] ? tridrand(d, dims[1]) : error("Can only generate square matrices")
6363

6464
#Return n eigenvalues distributed according to the Hermite ensemble
65-
eigvalrand(d::GaussianHermite, n::Integer) = eigvals(tridrand(d, b))
65+
eigvalrand(d::GaussianHermite, n::Integer) = eigvals(tridrand(d, n))
6666

6767
#Calculate Vandermonde determinant term
6868
function VandermondeDeterminant{Eigenvalue<:Number}(lambda::Vector{Eigenvalue}, beta::Real)
@@ -257,7 +257,9 @@ function eigvalrand(d::GaussianJacobi, n::Integer)
257257
c, s, cp, sp = SampleCSValues(n, d.a, d.b, d.beta)
258258
dv = [i==1 ? c[n] : c[n+1-i] * sp[n+1-i] for i=1:n]
259259
ev = [-s[n+1-i]*cp[n-i] for i=1:n-1]
260-
M = Bidiagonal(dv, ev, false)
260+
261+
##TODO: understand why dv and ev are returned as Array{Any,1}
262+
M = Bidiagonal(convert(Array{Float64,1},dv), convert(Array{Float64,1},ev), false)
261263
return svdvals(M)
262264
end
263265

0 commit comments

Comments
 (0)