sincos

Compute the sine and cosine of x expressed in radians.

Base.Math.sincosFunction
sincos(x::T) where T -> Tuple{float(T),float(T)}

Simultaneously compute the sine and cosine of x, where x is in radians, returning a tuple (sine, cosine).

Throw a DomainError if isinf(x), return a (T(NaN), T(NaN)) if isnan(x).

See also cis, sincospi, sincosd.

source
sincos(A::AbstractMatrix)

Compute the matrix sine and cosine of a square matrix A.

Examples

julia> S, C = sincos(fill(1.0, (2,2)));

julia> S
2×2 Matrix{Float64}:
 0.454649  0.454649
 0.454649  0.454649

julia> C
2×2 Matrix{Float64}:
  0.291927  -0.708073
 -0.708073   0.291927

Methods

julia> methods(sincos, (Any,), [Base, Base.Math, Base.MathConstants, Base.MPFR])# 5 methods for generic function "sincos" from Base.Math:
 [1] sincos(v::BigFloat)
     @ mpfr.jl:832
 [2] sincos(a::Float16)
     @ math.jl:1537
 [3] sincos(::Irrational{:π})
     @ mathconstants.jl:148
 [4] sincos(x::T) where T<:Union{Float32, Float64}
     @ special/trig.jl:177
 [5] sincos(x)
     @ special/trig.jl:208

Examples

Real Numbers

julia> sincos(0)
(0.0, 1.0)

julia> sincos(pi)
(0.0, -1.0)

julia> sincos(-0.0)
(-0.0, 1.0)

Complex

julia> sincos(0+0im)
(0.0 + 0.0im, 1.0 - 0.0im)

Tips

See Also

Extended Inputs

Matrix

With Array like input:

julia> methods(sincos, (Any,), [LinearAlgebra])# 5 methods for generic function "sincos" from Base.Math:
 [1] sincos(J::UniformScaling)
     @ /opt/hostedtoolcache/julia/1.12.2/x64/share/julia/stdlib/v1.12/LinearAlgebra/src/uniformscaling.jl:179
 [2] sincos(A::Hermitian{var"#s4811", S} where {var"#s4811"<:Complex, S<:(AbstractMatrix{<:var"#s4811"})})
     @ /opt/hostedtoolcache/julia/1.12.2/x64/share/julia/stdlib/v1.12/LinearAlgebra/src/symmetric.jl:975
 [3] sincos(A::Union{Hermitian{T, S} where S, SymTridiagonal{T, V} where V<:AbstractVector{T}, Symmetric{T, S} where S} where T<:Real)
     @ /opt/hostedtoolcache/julia/1.12.2/x64/share/julia/stdlib/v1.12/LinearAlgebra/src/symmetric.jl:965
 [4] sincos(A::AbstractMatrix{<:Real})
     @ /opt/hostedtoolcache/julia/1.12.2/x64/share/julia/stdlib/v1.12/LinearAlgebra/src/dense.jl:1200
 [5] sincos(A::AbstractMatrix{<:Complex})
     @ /opt/hostedtoolcache/julia/1.12.2/x64/share/julia/stdlib/v1.12/LinearAlgebra/src/dense.jl:1211

Tech Notes

  • sincos(::Real): by pure julia
  • sincos(::BigFloat): by MPFR

Version History

Introduced in Julia v1.0 (2018)