Hi Tim,
I don't really understand the problem with passing the more flexible
SubMatrix (or SubArray) to Lapack. Suppose you have something as follows,
typealias Index Union(Int, Vector{Int}, RangeIndex, ...)
type SubMatrix{T,I<:Index, J<:Index}
data :: Matrix{T}
rows :: I
cols :: J
end
A = rand(10,10)
B = SubMatrix(A,[1,3,5], [1,6,7,10])
C = B.data[B.rows, B.cols]
Then we can always pass C to Lapack, right?
Rene
On Friday, March 22, 2013 at 9:52:35 AM UTC+1, Tim Holy wrote:
>
> I'm guessing it's because you've (properly) made it a type of
> AbstractArray,
> but you haven't provided a size(A, d) method. The generic show() method
> for
> AbstractArray relies on that being available.
>
> I'm guessing you should be able to at least see whether it's been properly
> created using dump().
>
> --Tim
>
> On Thursday, March 21, 2013 05:51:24 PM dr wrote:
> > Thanks for that pointer. I tried for a bit to get this to work but could
> > not quite get there. My julia knowhow is a bit too basic to understand
> the
> > problem.
> > I have attached my attempt at an "ArrayView".
> >
> > julia> require("ArrayView.jl")
> >
> > julia> x=reshape([1:100],10,10);
> >
> > julia> xx=view(x,[1,3,5],[2,5,7])
> > ERROR: Error showing value of type
> >
> AbstractArrayView{Int64,2,Array{Int64,2},(Array{Int64,1},Array{Int64,1})}:
> > MethodError(size,(SYSTEM: show(lasterr) caused an error
> > ERROR: no method
> >
> size(AbstractArrayView{Int64,2,Array{Int64,2},(Array{Int64,1},Array{Int64,1}
>
> > )},) in length at abstractarray.jl:15
> > in show_delim_array at show.jl:61
> > in show at show.jl:85
> > in show at show.jl:6
> > in show at base.jl:83
> > in error_show at repl.jl:22
> > in error_show at repl.jl:67
> > in anonymous at no file:57
> > in with_output_color at error.jl:36
> > in display_error at client.jl:55
> >
> > julia> xx[1,1]
> > ERROR: no method
> >
> ref(AbstractArrayView{Int64,2,Array{Int64,2},(Array{Int64,1},Array{Int64,1})
>
> > },Int64,Int64)
> > On Saturday, March 16, 2013 7:42:18 AM UTC-7, Tim Holy wrote:
> > > A bit of archaeology here...if someone wants to add a "view" type that
> > > supports irregular indexing, it seems that
> > >
> > > git show 49462addba9555810fce8938ccbedad8a558db05:j/tensor.j
> > >
> > > from the main julia directory will get you a version of SubArray that
> did
> > > this.
> > >
> > > Probably the main challenge will be coming up with a decent name for
> the
> > > type.
> > >
> > > --Tim
>