diff --git a/README.md b/README.md index 5f10dfe0..bc04a58a 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,3 @@ -# LinearAlgebra - -This package is part of the Julia standard library (stdlib). - -`LinearAlgebra.jl` provides functionality for performing linear algebra operations in Julia. - | **Build Status** | **Coverage** | |:-------------------------------:|:-------------------------------:| [![Build status](https://badge.buildkite.com/4032f509b3a7354c8ce7b34b98c7496d66adc4504b0101cbcf.svg?branch=master)](https://buildkite.com/julialang/linearalgebra-dot-jl) | [![][codecov-img]][codecov-url] | diff --git a/src/symmetric.jl b/src/symmetric.jl index 50f34022..fd4b9ada 100644 --- a/src/symmetric.jl +++ b/src/symmetric.jl @@ -1003,6 +1003,7 @@ end """ hermitianpart(A::AbstractMatrix, uplo::Symbol=:U) -> Hermitian + hermitianpart(x::Number) -> Number Return the Hermitian part of the square matrix `A`, defined as `(A + A') / 2`, as a [`Hermitian`](@ref) matrix. For real matrices `A`, this is also known as the symmetric part @@ -1016,6 +1017,7 @@ See also [`hermitianpart!`](@ref) for the corresponding in-place operation. This function requires Julia 1.10 or later. """ hermitianpart(A::AbstractMatrix, uplo::Symbol=:U) = Hermitian(_hermitianpart(A), uplo) +hermitianpart(x::Number) = real(x) """ hermitianpart!(A::AbstractMatrix, uplo::Symbol=:U) -> Hermitian diff --git a/test/symmetric.jl b/test/symmetric.jl index 031dac27..a702dbb8 100644 --- a/test/symmetric.jl +++ b/test/symmetric.jl @@ -1035,6 +1035,13 @@ end @test Aherm isa Hermitian @test Aherm.uplo == LinearAlgebra.char_uplo(uplo) end + @testset "hermitianpart for numbers" begin + @test hermitianpart(3 + 4im) == 3 + @test hermitianpart(5) == 5.0 + @test hermitianpart(2.5) == 2.5 + @test hermitianpart(-1 + 0im) == -1 + @test typeof(hermitianpart(3 + 4im)) == 3.0 +end end @testset "Structured display" begin