Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Views: 940
Kernel: Julia

Julia

Julia je novi jezik, nastao 2012. godine. Julia je dinamički jezik koji se može kompajlirati te dobiti vrlo dobre performanse (često u rangu C-a). Ima sličnosti s Pythonom, ali i s Lispom. Prvenstvena namjena mu je znanstveno računanje, ali dizajniran je tako da i u domeni nespecijaliziranih programskih jezika može naći svoje mjesto.

VERSION
v"0.5.0"
f(x, y) = 1 + 2x*y^2
f (generic function with 1 method)
f(1,4)
33
α=3
3
println("α=", α)
α=3
μ=3 println("Sinus od $μ je $(sin(μ))")
Sinus od 3 je 0.1411200080598672
10^19
-8446744073709551616
BigInt(10)^19
10000000000000000000
a = Int8(1) b = Int8(2) a + b
3
typeof(ans)
Int8
typemax(Int64)
9223372036854775807
c = 1+3.5im
1.0 + 3.5im
c^2
-11.25 + 7.0im
c.re, c.im
(1.0,3.5)
3//4
3//4
typeof(ans)
Rational{Int64}
//(3, 4)
3//4
//
// (generic function with 7 methods)
methods(//)
# 7 methods for generic function "//": //(n::Integer, d::Integer) at rational.jl:22 //(x::Rational, y::Integer) at rational.jl:25 //(x::Integer, y::Rational) at rational.jl:29 //(x::Rational, y::Rational) at rational.jl:33 //(x::Complex, y::Real) at rational.jl:38 //(x::Number, y::Complex) at rational.jl:39 //(X::AbstractArray, y::Number) at rational.jl:42
l = [3, 4, 5]
3-element Array{Int64,1}: 3 4 5
l[1]
3
l[1:2]
2-element Array{Int64,1}: 3 4
l[2:end]
2-element Array{Int64,1}: 4 5
l[1:end-1]
2-element Array{Int64,1}: 3 4
a = [1.1, 2.2, 3.3] b = [4.4, 5.5, 6.6]
3-element Array{Float64,1}: 4.4 5.5 6.6
dot(a,b)
38.72
(a,b)
38.72
a.*b
3-element Array{Float64,1}: 4.84 12.1 21.78
norm(a)
4.115823125451335
a⋅b
38.72
a×b
3-element Array{Float64,1}: -3.63 7.26 -3.63
Ψ = norm
norm (generic function with 9 methods)
Ψ(a)
4.115823125451335
?norm
search: norm normpath normalize normalize! normalize_string vecnorm issubnormal
``` norm(A, [p]) ``` Compute the `p`-norm of a vector or the operator norm of a matrix `A`, defaulting to the `p=2`-norm. For vectors, `p` can assume any numeric value (even though not all values produce a mathematically valid vector norm). In particular, `norm(A, Inf)` returns the largest value in `abs(A)`, whereas `norm(A, -Inf)` returns the smallest. For matrices, the matrix norm induced by the vector `p`-norm is used, where valid values of `p` are `1`, `2`, or `Inf`. (Note that for sparse matrices, `p=2` is currently not implemented.) Use [`vecnorm`](:func:`vecnorm`) to compute the Frobenius norm.
suma = 0 for i = 1:10 suma += i end println("Suma je $suma")
Suma je 55
kvadrati = [i^2 for i in [1:2:10; 7]]
6-element Array{Int64,1}: 1 9 25 49 81 49
M = [2 1; 1 1]
2×2 Array{Int64,2}: 2 1 1 1
M[:,1]
2-element Array{Int64,1}: 2 1
rand()
0.194052272230967
v = [1, 2]
2-element Array{Int64,1}: 1 2
M*v
2-element Array{Int64,1}: 4 3
dot(v,v)
5
M = rand(100, 100)
100×100 Array{Float64,2}: 0.823685 0.959533 0.914166 … 0.634468 0.55875 0.959321 0.888054 0.517168 0.98111 0.767699 0.0826222 0.313916 0.526687 0.452331 0.0186533 0.0750501 0.950221 0.484281 0.905193 0.477754 0.666308 0.119242 0.748496 0.510197 0.552254 0.845979 0.0635522 0.206468 0.405423 0.0730754 0.705777 0.759756 0.78426 … 0.64529 0.586206 0.902311 0.418558 0.349762 0.314765 0.442339 0.635466 0.157412 0.284421 0.396884 0.878606 0.218935 0.503469 0.309289 0.985913 0.545452 0.405668 0.494811 0.297475 0.961027 0.852446 0.388494 0.671127 0.275561 0.526394 0.730511 0.109036 0.497742 0.316859 … 0.847041 0.435709 0.434643 0.14566 0.0323608 0.874718 0.686789 0.065643 0.880529 0.439728 0.192207 0.0268152 0.473984 0.741708 0.937173 ⋮ ⋱ 0.994145 0.799665 0.13128 0.946506 0.79288 0.639039 0.752141 0.707233 0.288864 0.691256 0.343201 0.0835424 0.788981 0.0655596 0.262611 … 0.163575 0.36919 0.369076 0.203687 0.804314 0.487234 0.342588 0.184886 0.262782 0.449541 0.652579 0.0511055 0.165664 0.889631 0.408358 0.8354 0.584587 0.249332 0.380268 0.346006 0.719066 0.863734 0.436482 0.242159 0.979589 0.22725 0.840324 0.720361 0.284384 0.511806 … 0.761623 0.771165 0.849925 0.592886 0.905295 0.412045 0.360163 0.890909 0.644862 0.133634 0.384939 0.083474 0.528835 0.0508042 0.145624 0.97755 0.418905 0.169726 0.101553 0.657945 0.5839 0.381275 0.711899 0.174598 0.927804 0.690078 0.249492
@time lamb, vv = eig(M)
0.660276 seconds (405.51 k allocations: 17.288 MB, 1.26% gc time)
(Complex{Float64}[49.7051+0.0im,2.80627+0.901813im,2.80627-0.901813im,1.32752+2.54612im,1.32752-2.54612im,2.90142+0.0im,-2.91262+0.0524949im,-2.91262-0.0524949im,1.9868+1.79619im,1.9868-1.79619im … -0.794771-0.174447im,0.644836+0.419374im,0.644836-0.419374im,0.214759+0.0im,-0.577777+0.495315im,-0.577777-0.495315im,0.282011+0.582889im,0.282011-0.582889im,0.194124+0.168054im,0.194124-0.168054im], Complex{Float64}[-0.0986176+0.0im 0.055689-0.0109681im … -0.00190763+0.0860034im -0.00190763-0.0860034im; -0.097162+0.0im 0.00428767+0.00225751im … 0.017157-0.00893366im 0.017157+0.00893366im; … ; -0.0991484+0.0im -0.038184+0.0420319im … -0.0170382+0.0517033im -0.0170382-0.0517033im; -0.110852+0.0im 0.0604364+0.101726im … -0.00615236-0.136541im -0.00615236+0.136541im])
lu(M)
( [1.0 0.0 … 0.0 0.0; 0.205062 1.0 … 0.0 0.0; … ; 0.15923 -0.00455682 … 1.0 0.0; 0.996428 -0.45928 … 0.0728867 1.0], [0.994155 0.743064 … 0.196954 0.523056; 0.0 0.826546 … 0.361956 0.753536; … ; 0.0 0.0 … -5.56871 -1.357; 0.0 0.0 … 0.0 -0.714286], Int32[21,64,81,17,79,58,30,16,41,19 … 32,82,51,80,36,2,100,22,73,50])
norm(M)
49.90371178351387
function normakvadrata(M) norm(M^2) end
normakvadrata (generic function with 1 method)
normakvadrata(M)
2480.458037303798
Base.:+(s1::AbstractString, s2::AbstractString) = string(s1, s2)
"Prvi" + " drugi"
"Prvi drugi"
"Vrijednost od x je " + 3
MethodError: no method matching +(::String, ::Int64) Closest candidates are: +(::Any, ::Any, !Matched::Any, !Matched::Any...) at operators.jl:138 +(!Matched::Complex{Bool}, ::Real) at complex.jl:151 +(!Matched::Char, ::Integer) at char.jl:40 ...
Base.:+(s::AbstractString, x::Number) = s + "$(2x)"
"Vrijednost od x je " + 3
"Vrijednost od x je 6"
immutable Vector2D x::Float64 y::Float64 end
v = Vector2D(3, 4); w = Vector2D(5, 6);
v + w
MethodError: no method matching +(::Vector2D, ::Vector2D) Closest candidates are: +(::Any, ::Any, !Matched::Any, !Matched::Any...) at operators.jl:138
Base.:+(v::Vector2D, w::Vector2D) = Vector2D(v.x+w.x, v.y+w.y)
v+w
Vector2D(8.0,10.0)
Base.:*(v::Vector2D, α::Number) = Vector2D(v.x*α, v.y*α) Base.:*(α::Number, v::Vector2D) = Vector2D(v.x*α, v.y*α)
v * 3.5
Vector2D(10.5,14.0)
3.5 * v
Vector2D(10.5,14.0)
methods(+)
# 166 methods for generic function "+": +(x::Bool, z::Complex{Bool}) at complex.jl:136 +(x::Bool, y::Bool) at bool.jl:48 +(x::Bool) at bool.jl:45 +{T<:AbstractFloat}(x::Bool, y::T) at bool.jl:55 +(x::Bool, z::Complex) at complex.jl:143 +(x::Bool, A::AbstractArray{Bool,N<:Any}) at arraymath.jl:91 +(x::Float32, y::Float32) at float.jl:239 +(x::Float64, y::Float64) at float.jl:240 +(z::Complex{Bool}, x::Bool) at complex.jl:137 +(z::Complex{Bool}, x::Real) at complex.jl:151 +(a::Float16, b::Float16) at float16.jl:136 +(x::Char, y::Integer) at char.jl:40 +(c::BigInt, x::BigFloat) at mpfr.jl:240 +(a::BigInt, b::BigInt, c::BigInt, d::BigInt, e::BigInt) at gmp.jl:298 +(a::BigInt, b::BigInt, c::BigInt, d::BigInt) at gmp.jl:291 +(a::BigInt, b::BigInt, c::BigInt) at gmp.jl:285 +(x::BigInt, y::BigInt) at gmp.jl:255 +(x::BigInt, c::Union{UInt16,UInt32,UInt64,UInt8}) at gmp.jl:310 +(x::BigInt, c::Union{Int16,Int32,Int64,Int8}) at gmp.jl:326 +(a::BigFloat, b::BigFloat, c::BigFloat, d::BigFloat, e::BigFloat) at mpfr.jl:388 +(a::BigFloat, b::BigFloat, c::BigFloat, d::BigFloat) at mpfr.jl:381 +(a::BigFloat, b::BigFloat, c::BigFloat) at mpfr.jl:375 +(x::BigFloat, c::BigInt) at mpfr.jl:236 +(x::BigFloat, y::BigFloat) at mpfr.jl:205 +(x::BigFloat, c::Union{UInt16,UInt32,UInt64,UInt8}) at mpfr.jl:212 +(x::BigFloat, c::Union{Int16,Int32,Int64,Int8}) at mpfr.jl:220 +(x::BigFloat, c::Union{Float16,Float32,Float64}) at mpfr.jl:228 +{T}(B::BitArray{2}, J::UniformScaling{T}) at linalg/uniformscaling.jl:38 +(a::Base.Pkg.Resolve.VersionWeights.VWPreBuildItem, b::Base.Pkg.Resolve.VersionWeights.VWPreBuildItem) at pkg/resolve/versionweight.jl:85 +(a::Base.Pkg.Resolve.VersionWeights.VWPreBuild, b::Base.Pkg.Resolve.VersionWeights.VWPreBuild) at pkg/resolve/versionweight.jl:131 +(a::Base.Pkg.Resolve.VersionWeights.VersionWeight, b::Base.Pkg.Resolve.VersionWeights.VersionWeight) at pkg/resolve/versionweight.jl:185 +(a::Base.Pkg.Resolve.MaxSum.FieldValues.FieldValue, b::Base.Pkg.Resolve.MaxSum.FieldValues.FieldValue) at pkg/resolve/fieldvalue.jl:44 +(x::Base.Dates.CompoundPeriod, y::Base.Dates.CompoundPeriod) at dates/periods.jl:314 +(x::Base.Dates.CompoundPeriod, y::Base.Dates.Period) at dates/periods.jl:312 +(x::Base.Dates.CompoundPeriod, y::Base.Dates.TimeType) at dates/periods.jl:359 +(dt::DateTime, z::Base.Dates.Month) at dates/arithmetic.jl:37 +(dt::DateTime, y::Base.Dates.Year) at dates/arithmetic.jl:13 +(x::DateTime, y::Base.Dates.Period) at dates/arithmetic.jl:64 +(x::Date, y::Base.Dates.Day) at dates/arithmetic.jl:62 +(x::Date, y::Base.Dates.Week) at dates/arithmetic.jl:60 +(dt::Date, z::Base.Dates.Month) at dates/arithmetic.jl:43 +(dt::Date, y::Base.Dates.Year) at dates/arithmetic.jl:17 +(v::Vector2D, w::Vector2D) at In[57]:1 +(y::AbstractFloat, x::Bool) at bool.jl:57 +{T<:Union{Int128,Int16,Int32,Int64,Int8,UInt128,UInt16,UInt32,UInt64,UInt8}}(x::T, y::T) at int.jl:32 +(x::Integer, y::Ptr) at pointer.jl:108 +(z::Complex, w::Complex) at complex.jl:125 +(z::Complex, x::Bool) at complex.jl:144 +(x::Real, z::Complex{Bool}) at complex.jl:150 +(x::Real, z::Complex) at complex.jl:162 +(z::Complex, x::Real) at complex.jl:163 +(x::Rational, y::Rational) at rational.jl:199 +(x::Integer, y::Char) at char.jl:41 +{N}(i::Integer, index::CartesianIndex{N}) at multidimensional.jl:58 +(c::Union{UInt16,UInt32,UInt64,UInt8}, x::BigInt) at gmp.jl:314 +(c::Union{Int16,Int32,Int64,Int8}, x::BigInt) at gmp.jl:327 +(c::Union{UInt16,UInt32,UInt64,UInt8}, x::BigFloat) at mpfr.jl:216 +(c::Union{Int16,Int32,Int64,Int8}, x::BigFloat) at mpfr.jl:224 +(c::Union{Float16,Float32,Float64}, x::BigFloat) at mpfr.jl:232 +(x::Irrational, y::Irrational) at irrationals.jl:88 +(x::Number) at operators.jl:115 +{T<:Number}(x::T, y::T) at promotion.jl:255 +(x::Number, y::Number) at promotion.jl:190 +(r1::OrdinalRange, r2::OrdinalRange) at operators.jl:505 +{T<:AbstractFloat}(r1::FloatRange{T}, r2::FloatRange{T}) at operators.jl:512 +{T<:AbstractFloat}(r1::LinSpace{T}, r2::LinSpace{T}) at operators.jl:531 +(r1::Union{FloatRange,LinSpace,OrdinalRange}, r2::Union{FloatRange,LinSpace,OrdinalRange}) at operators.jl:544 +(x::Ptr, y::Integer) at pointer.jl:106 +(A::BitArray, B::BitArray) at bitarray.jl:1042 +(A::Array{T<:Any,2}, B::Diagonal) at linalg/special.jl:121 +(A::Array{T<:Any,2}, B::Bidiagonal) at linalg/special.jl:121 +(A::Array{T<:Any,2}, B::Tridiagonal) at linalg/special.jl:121 +(A::Array{T<:Any,2}, B::SymTridiagonal) at linalg/special.jl:130 +(A::Array{T<:Any,2}, B::Base.LinAlg.AbstractTriangular) at linalg/special.jl:158 +(A::Array, B::SparseMatrixCSC) at sparse/sparsematrix.jl:1711 +{P<:Union{Base.Dates.CompoundPeriod,Base.Dates.Period}}(x::Union{Base.ReshapedArray{P,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray{P,N<:Any},SubArray{P,N<:Any,A<:Union{Base.ReshapedArray{T<:Any,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N<:Any}},L<:Any}}) at dates/periods.jl:323 +(A::AbstractArray{Bool,N<:Any}, x::Bool) at arraymath.jl:90 +(A::SymTridiagonal, B::SymTridiagonal) at linalg/tridiag.jl:96 +(A::Tridiagonal, B::Tridiagonal) at linalg/tridiag.jl:494 +(A::UpperTriangular, B::UpperTriangular) at linalg/triangular.jl:357 +(A::LowerTriangular, B::LowerTriangular) at linalg/triangular.jl:358 +(A::UpperTriangular, B::Base.LinAlg.UnitUpperTriangular) at linalg/triangular.jl:359 +(A::LowerTriangular, B::Base.LinAlg.UnitLowerTriangular) at linalg/triangular.jl:360 +(A::Base.LinAlg.UnitUpperTriangular, B::UpperTriangular) at linalg/triangular.jl:361 +(A::Base.LinAlg.UnitLowerTriangular, B::LowerTriangular) at linalg/triangular.jl:362 +(A::Base.LinAlg.UnitUpperTriangular, B::Base.LinAlg.UnitUpperTriangular) at linalg/triangular.jl:363 +(A::Base.LinAlg.UnitLowerTriangular, B::Base.LinAlg.UnitLowerTriangular) at linalg/triangular.jl:364 +(A::Base.LinAlg.AbstractTriangular, B::Base.LinAlg.AbstractTriangular) at linalg/triangular.jl:365 +(Da::Diagonal, Db::Diagonal) at linalg/diagonal.jl:110 +(A::Bidiagonal, B::Bidiagonal) at linalg/bidiag.jl:256 +(UL::UpperTriangular, J::UniformScaling) at linalg/uniformscaling.jl:55 +(UL::Base.LinAlg.UnitUpperTriangular, J::UniformScaling) at linalg/uniformscaling.jl:58 +(UL::LowerTriangular, J::UniformScaling) at linalg/uniformscaling.jl:55 +(UL::Base.LinAlg.UnitLowerTriangular, J::UniformScaling) at linalg/uniformscaling.jl:58 +(A::Diagonal, B::Bidiagonal) at linalg/special.jl:120 +(A::Bidiagonal, B::Diagonal) at linalg/special.jl:121 +(A::Diagonal, B::Tridiagonal) at linalg/special.jl:120 +(A::Tridiagonal, B::Diagonal) at linalg/special.jl:121 +(A::Diagonal, B::Array{T<:Any,2}) at linalg/special.jl:120 +(A::Bidiagonal, B::Tridiagonal) at linalg/special.jl:120 +(A::Tridiagonal, B::Bidiagonal) at linalg/special.jl:121 +(A::Bidiagonal, B::Array{T<:Any,2}) at linalg/special.jl:120 +(A::Tridiagonal, B::Array{T<:Any,2}) at linalg/special.jl:120 +(A::SymTridiagonal, B::Tridiagonal) at linalg/special.jl:129 +(A::Tridiagonal, B::SymTridiagonal) at linalg/special.jl:130 +(A::SymTridiagonal, B::Array{T<:Any,2}) at linalg/special.jl:129 +(A::Diagonal, B::SymTridiagonal) at linalg/special.jl:138 +(A::SymTridiagonal, B::Diagonal) at linalg/special.jl:139 +(A::Bidiagonal, B::SymTridiagonal) at linalg/special.jl:138 +(A::SymTridiagonal, B::Bidiagonal) at linalg/special.jl:139 +(A::Diagonal, B::UpperTriangular) at linalg/special.jl:150 +(A::UpperTriangular, B::Diagonal) at linalg/special.jl:151 +(A::Diagonal, B::Base.LinAlg.UnitUpperTriangular) at linalg/special.jl:150 +(A::Base.LinAlg.UnitUpperTriangular, B::Diagonal) at linalg/special.jl:151 +(A::Diagonal, B::LowerTriangular) at linalg/special.jl:150 +(A::LowerTriangular, B::Diagonal) at linalg/special.jl:151 +(A::Diagonal, B::Base.LinAlg.UnitLowerTriangular) at linalg/special.jl:150 +(A::Base.LinAlg.UnitLowerTriangular, B::Diagonal) at linalg/special.jl:151 +(A::Base.LinAlg.AbstractTriangular, B::SymTridiagonal) at linalg/special.jl:157 +(A::SymTridiagonal, B::Base.LinAlg.AbstractTriangular) at linalg/special.jl:158 +(A::Base.LinAlg.AbstractTriangular, B::Tridiagonal) at linalg/special.jl:157 +(A::Tridiagonal, B::Base.LinAlg.AbstractTriangular) at linalg/special.jl:158 +(A::Base.LinAlg.AbstractTriangular, B::Bidiagonal) at linalg/special.jl:157 +(A::Bidiagonal, B::Base.LinAlg.AbstractTriangular) at linalg/special.jl:158 +(A::Base.LinAlg.AbstractTriangular, B::Array{T<:Any,2}) at linalg/special.jl:157 +{P<:Union{Base.Dates.CompoundPeriod,Base.Dates.Period}}(Y::Union{Base.ReshapedArray{P,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray{P,N<:Any},SubArray{P,N<:Any,A<:Union{Base.ReshapedArray{T<:Any,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N<:Any}},L<:Any}}, x::Union{Base.Dates.CompoundPeriod,Base.Dates.Period}) at dates/periods.jl:337 +{P<:Union{Base.Dates.CompoundPeriod,Base.Dates.Period},Q<:Union{Base.Dates.CompoundPeriod,Base.Dates.Period}}(X::Union{Base.ReshapedArray{P,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray{P,N<:Any},SubArray{P,N<:Any,A<:Union{Base.ReshapedArray{T<:Any,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N<:Any}},L<:Any}}, Y::Union{Base.ReshapedArray{Q,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray{Q,N<:Any},SubArray{Q,N<:Any,A<:Union{Base.ReshapedArray{T<:Any,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N<:Any}},L<:Any}}) at dates/periods.jl:338 +{T<:Base.Dates.TimeType,P<:Union{Base.Dates.CompoundPeriod,Base.Dates.Period}}(x::Union{Base.ReshapedArray{P,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray{P,N<:Any},SubArray{P,N<:Any,A<:Union{Base.ReshapedArray{T<:Any,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N<:Any}},L<:Any}}, y::T) at dates/arithmetic.jl:83 +{T<:Base.Dates.TimeType}(r::Range{T}, x::Base.Dates.Period) at dates/ranges.jl:39 +{Tv1,Ti1,Tv2,Ti2}(A_1::SparseMatrixCSC{Tv1,Ti1}, A_2::SparseMatrixCSC{Tv2,Ti2}) at sparse/sparsematrix.jl:1697 +(A::SparseMatrixCSC, B::Array) at sparse/sparsematrix.jl:1709 +(A::SparseMatrixCSC, J::UniformScaling) at sparse/sparsematrix.jl:3811 +(x::AbstractSparseArray{Tv<:Any,Ti<:Any,1}, y::AbstractSparseArray{Tv<:Any,Ti<:Any,1}) at sparse/sparsevector.jl:1179 +(x::Union{Base.ReshapedArray{T<:Any,1,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray{T<:Any,1},SubArray{T<:Any,1,A<:Union{Base.ReshapedArray{T<:Any,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N<:Any}},L<:Any}}, y::AbstractSparseArray{Tv<:Any,Ti<:Any,1}) at sparse/sparsevector.jl:1180 +(x::AbstractSparseArray{Tv<:Any,Ti<:Any,1}, y::Union{Base.ReshapedArray{T<:Any,1,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray{T<:Any,1},SubArray{T<:Any,1,A<:Union{Base.ReshapedArray{T<:Any,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N<:Any}},L<:Any}}) at sparse/sparsevector.jl:1181 +{T<:Number}(x::AbstractArray{T,N<:Any}) at abstractarraymath.jl:91 +{R,S}(A::AbstractArray{R,N<:Any}, B::AbstractArray{S,N<:Any}) at arraymath.jl:49 +(A::AbstractArray, x::Number) at arraymath.jl:94 +(x::Number, A::AbstractArray) at arraymath.jl:95 +{N}(index1::CartesianIndex{N}, index2::CartesianIndex{N}) at multidimensional.jl:52 +{N}(index::CartesianIndex{N}, i::Integer) at multidimensional.jl:57 +(J1::UniformScaling, J2::UniformScaling) at linalg/uniformscaling.jl:37 +(J::UniformScaling, B::BitArray{2}) at linalg/uniformscaling.jl:39 +(J::UniformScaling, A::AbstractArray{T<:Any,2}) at linalg/uniformscaling.jl:40 +(J::UniformScaling, x::Number) at linalg/uniformscaling.jl:41 +(x::Number, J::UniformScaling) at linalg/uniformscaling.jl:42 +{TA,TJ}(A::AbstractArray{TA,2}, J::UniformScaling{TJ}) at linalg/uniformscaling.jl:102 +{T}(a::Base.Pkg.Resolve.VersionWeights.HierarchicalValue{T}, b::Base.Pkg.Resolve.VersionWeights.HierarchicalValue{T}) at pkg/resolve/versionweight.jl:23 +{P<:Base.Dates.Period}(x::P, y::P) at dates/periods.jl:70 +(x::Base.Dates.Period, y::Base.Dates.Period) at dates/periods.jl:311 +(y::Base.Dates.Period, x::Base.Dates.CompoundPeriod) at dates/periods.jl:313 +(y::Base.Dates.Period, x::Base.Dates.TimeType) at dates/arithmetic.jl:66 +{T<:Base.Dates.TimeType}(x::Base.Dates.Period, r::Range{T}) at dates/ranges.jl:40 +(x::Union{Base.Dates.CompoundPeriod,Base.Dates.Period}) at dates/periods.jl:322 +{P<:Union{Base.Dates.CompoundPeriod,Base.Dates.Period}}(x::Union{Base.Dates.CompoundPeriod,Base.Dates.Period}, Y::Union{Base.ReshapedArray{P,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray{P,N<:Any},SubArray{P,N<:Any,A<:Union{Base.ReshapedArray{T<:Any,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N<:Any}},L<:Any}}) at dates/periods.jl:336 +(x::Base.Dates.TimeType) at dates/arithmetic.jl:8 +(a::Base.Dates.TimeType, b::Base.Dates.Period, c::Base.Dates.Period) at dates/periods.jl:348 +(a::Base.Dates.TimeType, b::Base.Dates.Period, c::Base.Dates.Period, d::Base.Dates.Period...) at dates/periods.jl:350 +(x::Base.Dates.TimeType, y::Base.Dates.CompoundPeriod) at dates/periods.jl:354 +(x::Base.Dates.Instant) at dates/arithmetic.jl:4 +{T<:Base.Dates.TimeType}(x::AbstractArray{T,N<:Any}, y::Union{Base.Dates.CompoundPeriod,Base.Dates.Period}) at dates/arithmetic.jl:76 +{T<:Base.Dates.TimeType}(y::Union{Base.Dates.CompoundPeriod,Base.Dates.Period}, x::AbstractArray{T,N<:Any}) at dates/arithmetic.jl:77 +{P<:Union{Base.Dates.CompoundPeriod,Base.Dates.Period}}(y::Base.Dates.TimeType, x::Union{Base.ReshapedArray{P,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray{P,N<:Any},SubArray{P,N<:Any,A<:Union{Base.ReshapedArray{T<:Any,N<:Any,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N<:Any}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N<:Any}},L<:Any}}) at dates/arithmetic.jl:84 +(s1::AbstractString, s2::AbstractString) at In[49]:1 +(s::AbstractString, x::Number) at In[52]:1 +(a, b, c, xs...) at operators.jl:138
function sum1(N::Int) total = 0 for i in 1:N total += i/2 end total end function sum2(N::Int) total = 0.0 for i in 1:N total += i/2 end total end
sum2 (generic function with 1 method)
sum1(10), sum2(10)
(27.5,27.5)
N = 10000000 @time sum1(N) @time sum2(N)
0.267848 seconds (30.00 M allocations: 457.764 MB, 15.53% gc time) 0.010801 seconds (5 allocations: 176 bytes)
2.50000025e13
code_typed(sum2, (Int,))
1-element Array{Any,1}: LambdaInfo for sum2(::Int64)
code_llvm(sum2, (Int, ))
define double @julia_sum2_72290(i64) #0 { top: %1 = icmp slt i64 %0, 1 br i1 %1, label %L2, label %if.preheader if.preheader: ; preds = %top br label %if L2.loopexit: ; preds = %if br label %L2 L2: ; preds = %L2.loopexit, %top %total.0.lcssa = phi double [ 0.000000e+00, %top ], [ %5, %L2.loopexit ] ret double %total.0.lcssa if: ; preds = %if.preheader, %if %total.04 = phi double [ %5, %if ], [ 0.000000e+00, %if.preheader ] %"#temp#.03" = phi i64 [ %2, %if ], [ 1, %if.preheader ] %2 = add i64 %"#temp#.03", 1 %3 = sitofp i64 %"#temp#.03" to double %4 = fmul double %3, 5.000000e-01 %5 = fadd double %total.04, %4 %6 = icmp eq i64 %"#temp#.03", %0 br i1 %6, label %L2.loopexit, label %if }
code_native(sum2, (Int,))
.text Filename: In[63] pushq %rbp movq %rsp, %rbp xorpd %xmm0, %xmm0 xorl %eax, %eax Source line: 14 testq %rdi, %rdi jle L56 movabsq $140600821612904, %rcx # imm = 0x7FE02E070168 movsd (%rcx), %xmm1 # xmm1 = mem[0],zero nopl (%rax) Source line: 15 L32: incq %rax xorps %xmm2, %xmm2 cvtsi2sdq %rax, %xmm2 mulsd %xmm1, %xmm2 addsd %xmm2, %xmm0 Source line: 14 cmpq %rax, %rdi jne L32 Source line: 18 L56: popq %rbp retq nopw (%rax,%rax)
using PyCall @pyimport numpy.random as nprandom nprandom.rand(3,4)
3×4 Array{Float64,2}: 0.641178 0.344351 0.386636 0.794118 0.0545324 0.969383 0.110949 0.453816 0.734294 0.963323 0.603344 0.0206484
objective = x -> cos(x) - x #ekvivalent lambda funkcijama u Pythonu
(::#3) (generic function with 1 method)
objective(1)
-0.45969769413186023
t = ccall( (:clock, "libc"), Int32, ())
19913557
function es(n::Int64) l = ones(Bool, n) l[1] = false for i in 2:int64(sqrt(n)) if l[i] for j in (i*i):i:n l[j] = false end end end return filter(x -> l[x],1:n) end
es (generic function with 1 method)