Re: limit

Andrew Lumsdaine <[email protected]>
Newsgroups gmane.comp.lib.mtl.devel
Message-ID <[email protected]>
One fix that was suggested was to use something like this to increase  
space dynamically, rather than quitting:


  if (k + tmp1.nnz() > nzmax) {
       nzmax = std::max((int)((k + tmp1.nnz())*2),(int)(nzmax*1.5));
       c.resize(nzmax);
       jc.resize(nzmax);
       std::cerr << "Not enough work space, increasing the capacity to:  
" <<
nzmax << std::endl;
       //return;
     }


On Saturday, October 4, 2003, at 05:41  PM, Leandro Franco Londoño  
wrote:

>
> Thank you Janusz, your suggestion was really appreciated.
>
> I converted the matrices type to compressed and I fixed some problems
> (the unsigned long int index helped a lot), now I have some problems
> because the rows and columns methods don't work with these matices but  
> I will
> figure out how to solve them later.
>
> Well,  I'm writing again because I found another funny problem. This  
> time
> I get a "Not enough work space, increase capacity of C.", I found a  
> similar
> question in the mail archives where someone suggested "to allocate  
> enough
> storage to C to contain the result of the multiplication".
>
> I think I get the idea.. you need to tell the matrix how big it is  
> going to be
> after the multiplication, but if both matrices are sparse and you  
> don't know
> their sizes what should you do? should you allocate enough space for a  
> full
> matrix, or could you do it dynamically ?
>
> Finally, ( I know I'm really boring but... ) could someone give me  
> some hints
> about the space allocation for the compressed matrices?
>
>
> Thank you very much.
>
>
>
> Leandro Franco Londoño
> Ing. de Sistemas y Computación
> Universidad de los Andes
> Bogota
> Colombia
>
>
>
> Selon Janusz opechowski <[email protected]>:
>
>> Hello!
>>
>> So probably it will be a sparse matrix
>> (having zeroes in much more than a half of all
>> positions) ,
>> like this :
>>
>>   typedef matrix<double,
>>                  rectangle<>,
>>                  compressed<int, external,
>>                                  index_from_one>,
>>                  row_major>::type MatA;
>>
>> but here instead of "int"  you should take
>> as a index type something "safer"  i.e.
>> "unsigned long int", because
>> on some architectures
>> int is 16 bit only so : around + - 32000
>> and you need 20 bits one way so 32 bits
>> would be enough.
>>
>> If those matrices are not sparse ... ,
>>  (10^6)^2 = 10^12,
>>    so ..  terabyte matrices ?
>> Congratulations!
>>
>> Probably :
>> typedef matrix<double>::type MatA,
>> will be sutable if no
>> try to play with arrays :
>>
>>   typedef matrix< double,
>>                   rectangle<>,
>>                   array< dense<> >,
>>                   row_major>::type MatA;
>>
>> Cheers
>> Janusz
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>  --- Leandro Franco Londoño <[email protected]>
>> wrote: > Hello there,
>>>
>>> In the first place I would like to thank you guys
>>> for developing MTL,
>>> it was nice to find just exactly what I was looking
>>> for.
>>>
>>> Well... here is my question : I'am using matrices of
>>> type complex<double>
>>> for some calculations (a quantum computing
>>> simulator) but these matrices are
>>> really big (from 2^10 to 2^20 ) and I having some
>>> problems in the
>>> implementation.
>>>
>>> I would like to know how I should work with that
>>> type of matrices (that is a
>>> little bit general so all kind of ideas are welcome)
>>> and it will be specially
>>> usefull if someone could tell me what are the limits
>>> in the sizes using MTL
>>> ( can I do something like Matrix(2^32,2^32) ? ).
>>>
>>>
>>> Thank you very much for your help
>>>
>>>
>>>
>>> Leandro Franco Londoño
>>> Ing. de Sistemas y Computación
>>> Universidad de los Andes
>>> Bogota
>>> Colombia
>>>
>>> _______________________________________________
>>> This list is archived at
>> http://www.osl.iu.edu/MailArchives/mtl-devel/
>>
>> ______________________________________________________________________ 
>> __
>> Want to chat instantly with your online friends?  Get the FREE Yahoo!
>> Messenger http://mail.messenger.yahoo.co.uk
>> _______________________________________________
>> This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/
>>
>
>
> _______________________________________________
> This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/


_______________________________________________
This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.