annotate ext/DiffinitiveSparseArrayKitExt.jl @ 1998:6dd00ea0511a feature/grids/manifolds

Add check if the logical coordinates are in the parameter space when calling a chart
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 25 Apr 2025 08:28:34 +0200
parents 471a948cd2b2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1726
471a948cd2b2 Rename project from Sbplib to Diffinitive
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents: 1721
diff changeset
1 module DiffinitiveSparseArrayKitExt
1699
3e9c3986930d Add extensions for SparseArrays and SparseArrayKit that allow conversion of a LazyTensor
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2
1726
471a948cd2b2 Rename project from Sbplib to Diffinitive
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents: 1721
diff changeset
3 using Diffinitive
471a948cd2b2 Rename project from Sbplib to Diffinitive
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents: 1721
diff changeset
4 using Diffinitive.LazyTensors
1699
3e9c3986930d Add extensions for SparseArrays and SparseArrayKit that allow conversion of a LazyTensor
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5
3e9c3986930d Add extensions for SparseArrays and SparseArrayKit that allow conversion of a LazyTensor
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 using SparseArrayKit
3e9c3986930d Add extensions for SparseArrays and SparseArrayKit that allow conversion of a LazyTensor
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 using Tokens
3e9c3986930d Add extensions for SparseArrays and SparseArrayKit that allow conversion of a LazyTensor
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8
1708
8787b2f9f5f8 Add docstrings
Jonatan Werpers <jonatan@werpers.com>
parents: 1699
diff changeset
9 """
8787b2f9f5f8 Add docstrings
Jonatan Werpers <jonatan@werpers.com>
parents: 1699
diff changeset
10 SparseArray(t::LazyTensor)
8787b2f9f5f8 Add docstrings
Jonatan Werpers <jonatan@werpers.com>
parents: 1699
diff changeset
11
8787b2f9f5f8 Add docstrings
Jonatan Werpers <jonatan@werpers.com>
parents: 1699
diff changeset
12 The sparse tensor representation of `t` with range dimensions to the left and
1721
7379f492c4b3 Fix typos in docstring
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents: 1708
diff changeset
13 domain dimensions to the right. If `L` is a `LazyTensor` with range and
1708
8787b2f9f5f8 Add docstrings
Jonatan Werpers <jonatan@werpers.com>
parents: 1699
diff changeset
14 domain dimension 2 and `v` a 2-tensor, then `A = SparseArray(t)` is
1721
7379f492c4b3 Fix typos in docstring
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents: 1708
diff changeset
15 constructed so that `∑ₖ∑ₗA[i,j,k,l]*v[k,l] == L*v`.
1708
8787b2f9f5f8 Add docstrings
Jonatan Werpers <jonatan@werpers.com>
parents: 1699
diff changeset
16 """
1699
3e9c3986930d Add extensions for SparseArrays and SparseArrayKit that allow conversion of a LazyTensor
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 function SparseArrayKit.SparseArray(t::LazyTensor)
3e9c3986930d Add extensions for SparseArrays and SparseArrayKit that allow conversion of a LazyTensor
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 v = ArrayToken(:v, domain_size(t)...)
3e9c3986930d Add extensions for SparseArrays and SparseArrayKit that allow conversion of a LazyTensor
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 return Tokens._to_tensor(t*v, range_size(t), domain_size(t))
3e9c3986930d Add extensions for SparseArrays and SparseArrayKit that allow conversion of a LazyTensor
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 end
3e9c3986930d Add extensions for SparseArrays and SparseArrayKit that allow conversion of a LazyTensor
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21
3e9c3986930d Add extensions for SparseArrays and SparseArrayKit that allow conversion of a LazyTensor
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 end