diff src/LazyTensors/lazy_tensor_operations.jl @ 399:3b4b1758a8ad feature/lazy_linear_map

Add a check for permuted indecies.
author Jonatan Werpers <jonatan@werpers.com>
date Sun, 04 Oct 2020 21:37:00 +0200
parents 7ad644d112de
children c640f37d1c74
line wrap: on
line diff
--- a/src/LazyTensors/lazy_tensor_operations.jl	Fri Oct 02 15:57:53 2020 +0200
+++ b/src/LazyTensors/lazy_tensor_operations.jl	Sun Oct 04 21:37:00 2020 +0200
@@ -114,6 +114,14 @@
     A::AA
     range_indicies::NTuple{R,Int}
     domain_indicies::NTuple{D,Int}
+
+    function LazyLinearMap(A::AA, range_indicies::NTuple{R,Int}, domain_indicies::NTuple{D,Int}) where {T,R,D, RD, AA<:AbstractArray{T,RD}}
+        if !issorted(range_indicies) || !issorted(domain_indicies)
+            throw(DomainError("range_indicies and domain_indicies must be sorted in ascending order"))
+        end
+
+        return new{T,R,D,RD,AA}(A,range_indicies,domain_indicies)
+    end
 end
 export LazyLinearMap