Skip to content

More concise show for maps that combine many maps #197

Closed
@JeffFessler

Description

@JeffFessler

Here's just part of the show output for a LinearMap I've constructed for a dynamic MRI application here
https://juliaimagerecon.github.io/Examples/generated/mri/3-2d-t/
This toy example has just 8 frames; a real-world problem could have 100s of frames, so a BlockDiagonalMap with 100s of maps.
I'd propose that for any LinearMap type where there are more than, say, 4 maps combined, we just show the first two and last two with in between (or such). This is a minor and non-urgent issue but I hoped to get your thoughts before submitting a PR.

21504×30720 LinearMaps.BlockDiagonalMap{ComplexF64} with 8 diagonal block maps:
  2688×3840 LinearMaps.BlockMap{ComplexF64} with 2 block maps in 2 block rows
    1344×3840 LinearMaps.CompositeMap{ComplexF64} with 2 maps:
      3840×3840 LinearMaps.WrappedMap{ComplexF32} of
        3840×3840 Diagonal{ComplexF32, Base.ReshapedArray{ComplexF32, 1, SubArray{ComplexF32, 2, Array{ComplexF32, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{}}}
      1344×3840 LinearMaps.FunctionMap{ComplexF64}(#5, #7; ismutating=true, issymmetric=false, ishermitian=false, isposdef=false)
    1344×3840 LinearMaps.CompositeMap{ComplexF64} with 2 maps:
      3840×3840 LinearMaps.WrappedMap{ComplexF32} of
        3840×3840 Diagonal{ComplexF32, Base.ReshapedArray{ComplexF32, 1, SubArray{ComplexF32, 2, Array{ComplexF32, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{}}}
      1344×3840 LinearMaps.FunctionMap{ComplexF64}(#5, #7; ismutating=true, issymmetric=false, ishermitian=false, isposdef=false)
  2688×3840 LinearMaps.BlockMap{ComplexF64} with 2 block maps in 2 block rows
    1344×3840 LinearMaps.CompositeMap{ComplexF64} with 2 maps:
      3840×3840 LinearMaps.WrappedMap{ComplexF32} of
        3840×3840 Diagonal{ComplexF32, Base.ReshapedArray{ComplexF32, 1, SubArray{ComplexF32, 2, Array{ComplexF32, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{}}}
      1344×3840 LinearMaps.FunctionMap{ComplexF64}(#5, #7; ismutating=true, issymmetric=false, ishermitian=false, isposdef=false)
    1344×3840 LinearMaps.CompositeMap{ComplexF64} with 2 maps:
      3840×3840 LinearMaps.WrappedMap{ComplexF32} of
        3840×3840 Diagonal{ComplexF32, Base.ReshapedArray{ComplexF32, 1, SubArray{ComplexF32, 2, Array{ComplexF32, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{}}}
      1344×3840 LinearMaps.FunctionMap{ComplexF64}(#5, #7; ismutating=true, issymmetric=false, ishermitian=false, isposdef=false)
  2688×3840 LinearMaps.BlockMap{ComplexF64} with 2 block maps in 2 block rows
    1344×3840 LinearMaps.CompositeMap{ComplexF64} with 2 maps:
      3840×3840 LinearMaps.WrappedMap{ComplexF32} of
        3840×3840 Diagonal{ComplexF32, Base.ReshapedArray{ComplexF32, 1, SubArray{ComplexF32, 2, Array{ComplexF32, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{}}}
      1344×3840 LinearMaps.FunctionMap{ComplexF64}(#5, #7; ismutating=true, issymmetric=false, ishermitian=false, isposdef=false)
    1344×3840 LinearMaps.CompositeMap{ComplexF64} with 2 maps:
      3840×3840 LinearMaps.WrappedMap{ComplexF32} of
        3840×3840 Diagonal{ComplexF32, Base.ReshapedArray{ComplexF32, 1, SubArray{ComplexF32, 2, Array{ComplexF32, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{}}}
      1344×3840 LinearMaps.FunctionMap{ComplexF64}(#5, #7; ismutating=true, issymmetric=false, ishermitian=false, isposdef=false)
  2688×3840 LinearMaps.BlockMap{ComplexF64} with 2 block maps in 2 block rows
    1344×3840 LinearMaps.CompositeMap{ComplexF64} with 2 maps:
      3840×3840 LinearMaps.WrappedMap{ComplexF32} of
        3840×3840 Diagonal{ComplexF32, Base.ReshapedArray{ComplexF32, 1, SubArray{ComplexF32, 2, Array{ComplexF32, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{}}}
      1344×3840 LinearMaps.FunctionMap{ComplexF64}(#5, #7; ismutating=true, issymmetric=false, ishermitian=false, isposdef=false)
    1344×3840 LinearMaps.CompositeMap{ComplexF64} with 2 maps:
      3840×3840 LinearMaps.WrappedMap{ComplexF32} of
        3840×3840 Diagonal{ComplexF32, Base.ReshapedArray{ComplexF32, 1, SubArray{ComplexF32, 2, Array{ComplexF32, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{}}}
      1344×3840 LinearMaps.FunctionMap{ComplexF64}(#5, #7; ismutating=true, issymmetric=false, ishermitian=false, isposdef=false)
  2688×3840 LinearMaps.BlockMap{ComplexF64} with 2 block maps in 2 block rows
    1344×3840 LinearMaps.CompositeMap{ComplexF64} with 2 maps:
      3840×3840 LinearMaps.WrappedMap{ComplexF32} of
        3840×3840 Diagonal{ComplexF32, Base.ReshapedArray{ComplexF32, 1, SubArray{ComplexF32, 2, Array{ComplexF32, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{}}}
      1344×3840 LinearMaps.FunctionMap{ComplexF64}(#5, #7; ismutating=true, issymmetric=false, ishermitian=false, isposdef=false)
    1344×3840 LinearMaps.CompositeMap{ComplexF64} with 2 maps:
      3840×3840 LinearMaps.WrappedMap{ComplexF32} of
        3840×3840 Diagonal{ComplexF32, Base.ReshapedArray{ComplexF32, 1, SubArray{ComplexF32, 2, Array{ComplexF32, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{}}}
      1344×3840 LinearMaps.FunctionMap{ComplexF64}(#5, #7; ismutating=true, issymmetric=false, ishermitian=false, isposdef=false)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions