Hi Evan, vector ranges and slices for sparse matrices are not yet supported, only for dense matrices.
Best regards, Karli On 07/21/2013 04:52 PM, Evan Bollig wrote: > Karl, I'm facing issues with the matrix_range projection on a > rectangular ELL matrix: > > matrix_proxy.hpp(34): error: class > "viennacl::ell_matrix<ScalarType={double}, 1U>" has no member > "cpu_value_type" > class matrix_range : public matrix_base<typename > MatrixType::cpu_value_type, typename MatrixType::orientation_functor> > ^ > detected during instantiation of class > "viennacl::matrix_range<MatrixType> [with MatrixType=VCL_ELL_MAT_t]" > at line 213 > > Does projection work on sparse MATs? > > -E > > > > > On Sun, Jul 21, 2013 at 4:30 PM, Evan Bollig <bol...@gmail.com> wrote: >> For now I get past this with a type cast to enforce the RHS type: >> >> vector_range_M = (viennacl::vector<double>) >> viennacl::linalg::prod(A_MxN, vector_N); >> >> -E >> >> On Sun, Jul 21, 2013 at 4:23 PM, Evan Bollig <bol...@gmail.com> wrote: >>> Btw Karl: >>> >>> vector_range_M = viennacl::linalg::prod(A_MxN, vector_N); >>> >>> does not work. That would be equivalent to: >>> >>> vector_range_M = project( viennacl::linalg::prod(A_MxN, vector_N) , 0,M ); >>> >>> -E >>> >>> >>> >>> >>> On Sun, Jul 21, 2013 at 4:13 PM, Evan Bollig <bol...@gmail.com> wrote: >>>> Ah I see. Thanks for the clarification on projecting the LHS. I was >>>> trying to assign the result to an unprojected vector assuming (vector >>>> - vector_range) would return a vector and (vector_range - vector) >>>> would return a vector_range (i.e., operation returns operand type). >>>> >>>> -E >>>> >>>> On Sun, Jul 21, 2013 at 4:09 PM, Karl Rupp <r...@iue.tuwien.ac.at> wrote: >>>>> Hi Evan, >>>>> >>>>> >>>>>> Can you refresh my memory on how ViennaCL behaves with this operation: >>>>>> >>>>>> >>>>>> vector = vector - vector_range >>>>>> >>>>>> I would like to subtract an M < N sized vector_range from an N sized >>>>>> vector (by operating on the first M elements). Is this supported in >>>>>> 1.4.2? >>>>> >>>>> >>>>> Yes, this is supported. You can just use >>>>> >>>>> project(x, range(a, b)) = project(y, range(c, d)) - z; >>>>> >>>>> where z is some existing vector_range. Mixing of vectors with ranges and >>>>> slices is perfectly fine and supported. >>>>> >>>>> Best regards, >>>>> Karli >>>>> >>>> >>>> >>>> >>>> -- >>>> -Evan Bollig >>>> bol...@gmail.com >>>> bol...@scs.fsu.edu >>> >>> >>> >>> -- >>> -Evan Bollig >>> bol...@gmail.com >>> bol...@scs.fsu.edu >> >> >> >> -- >> -Evan Bollig >> bol...@gmail.com >> bol...@scs.fsu.edu > > > ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ ViennaCL-devel mailing list ViennaCL-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viennacl-devel