/usr/share/julia/base/linalg/rectfullpacked.jl is in julia 0.3.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # Rectangular Full Packed Matrices
type SymmetricRFP{T<:BlasFloat} <: AbstractMatrix{T}
data::Vector{T}
transr::Char
uplo::Char
end
function Ac_mul_A_RFP{T<:BlasFloat}(A::Matrix{T})
n = size(A, 2)
C = LAPACK.sfrk!('N', 'U', 'T', 1.0, A, 0.0, Array(T, div(n*(n+1),2)))
SymmetricRFP(C, 'N', 'U')
end
type TriangularRFP{T<:BlasFloat} <: AbstractMatrix{T}
data::Vector{T}
transr::Char
uplo::Char
end
TriangularRFP(A::Matrix) = TriangularRFP(trttf!('N', 'U', A), 'N', 'U')
full(A::TriangularRFP) = (A.uplo=='U' ? triu! : tril!)(LAPACK.tfttr!(A.transr, A.uplo, A.data))
type CholeskyDenseRFP{T<:BlasFloat} <: Factorization{T}
data::Vector{T}
transr::Char
uplo::Char
end
cholfact!{T<:BlasFloat}(A::SymmetricRFP{T}) = CholeskyDenseRFP(LAPACK.pftrf!(A.transr, A.uplo, copy(A.data)), A.transr, A.uplo)
cholfact{T<:BlasFloat}(A::SymmetricRFP{T}) = cholfact!(copy(A))
copy(A::SymmetricRFP) = SymmetricRFP(copy(A.data), A.transr, A.uplo)
# Least squares
\(A::CholeskyDenseRFP, B::VecOrMat) = LAPACK.pftrs!(A.transr, A.uplo, A.data, copy(B))
inv(A::CholeskyDenseRFP)=LAPACK.pftri!(A.transr, A.uplo, copy(A.data))
|