add triangular_solve

This commit is contained in:
Ali Hamdi 2017-06-10 00:20:13 +02:00
parent 015e373a34
commit c8d320233a
3 changed files with 5 additions and 1 deletions

View File

@ -36,6 +36,7 @@ graph(::typeof(Flux.tile), args...) = TensorFlow.tile(args...)
graph(::typeof(fill), x, dims) = Ops.fill(convert(Tensor{Int32}, dims), Tensor(x))
graph(::typeof(Flux.cast), args...) = TensorFlow.cast(args...)
graph(::typeof(solve), A, b) = TensorFlow.matrix_solve(A, b)
graph(::typeof(triangular_solve), A, b) = TensorFlow.matrix_triangular_solve(A, b; lower=false)
for op in (*, .*, .+, .^, log, exp, ceil, floor, sqrt, abs, cos,
sin, tan, atan, asin, acos, tanh, lgamma, erf, erfc, real, imag, conj,

View File

@ -1,4 +1,4 @@
export reshape, tile, fill, cast, solve
export reshape, tile, fill, cast, solve, triangular_solve
import Base: reshape, fill
@ -7,3 +7,4 @@ tile(x::AbstractArray, mult::AbstractArray) = repeat(x,outer=tuple(mult...))
fill{T}(x::T, dims::AbstractArray) = fill(x,tuple(dims...))
cast{T}(x::AbstractArray, ::Type{T}) = convert(Array{T},x)
solve(A::AbstractArray, b::AbstractArray) = A\b
triangular_solve(A::AbstractArray, b::AbstractArray) = A\b

View File

@ -56,6 +56,8 @@ end
A = randn(Float32,(5,5))
b = randn(Float32,(5,1))
@test tf(@net (x,y) -> solve(x,y))(A,b) A\b
_,A,_ = lu(A)
@test tf(@net (x,y) -> triangular_solve(x,y))(A,b) A\b
end
end