|
71 | 71 | similar{T}(S::SymTridiagonal, ::Type{T}) = SymTridiagonal{T}(similar(S.dv, T), similar(S.ev, T))
|
72 | 72 |
|
73 | 73 | #Elementary operations
|
74 |
| -for func in (:conj, :copy, :round, :trunc, :floor, :ceil, :abs, :real, :imag) |
| 74 | +broadcast(::typeof(abs), M::SymTridiagonal) = SymTridiagonal(abs.(M.dv), abs.(M.ev)) |
| 75 | +for func in (:conj, :copy, :round, :trunc, :floor, :ceil, :real, :imag) |
75 | 76 | @eval ($func)(M::SymTridiagonal) = SymTridiagonal(($func)(M.dv), ($func)(M.ev))
|
76 | 77 | end
|
77 | 78 | for func in (:round, :trunc, :floor, :ceil)
|
|
388 | 389 | copy!(dest::Tridiagonal, src::Tridiagonal) = Tridiagonal(copy!(dest.dl, src.dl), copy!(dest.d, src.d), copy!(dest.du, src.du), copy!(dest.du2, src.du2))
|
389 | 390 |
|
390 | 391 | #Elementary operations
|
391 |
| -for func in (:conj, :copy, :round, :trunc, :floor, :ceil, :abs, :real, :imag) |
| 392 | +broadcast(::typeof(abs), M::Tridiagonal) = Tridiagonal(abs.(M.dl), abs.(M.d), abs.(M.du), abs.(M.du2)) |
| 393 | +for func in (:conj, :copy, :round, :trunc, :floor, :ceil, :real, :imag) |
392 | 394 | @eval function ($func)(M::Tridiagonal)
|
393 | 395 | Tridiagonal(($func)(M.dl), ($func)(M.d), ($func)(M.du), ($func)(M.du2))
|
394 | 396 | end
|
|
0 commit comments