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

Reply via email to