Adept Scientific - English
The world's best software for research, science and engineering.
flag arrow
clearclear
 

 Adept Store | register Join My Adept | Flags  
Adept Scientific | Amor Way | Letchworth Garden City | Herts | SG6 1ZA | Tel: +44 (0)1462 480055  
UKusdedksvnofi
Home
Products
Training
Consultancy
 Buy Online
Downloads
Education
Support
My Adept
International |  About Us |  Contact Us |  Press Room |  Jobs


The Next Steps

• Ask us a question
• Maple Product Tour
• Buy Maple Now
• View Maple Pricing
• Download a Brochure
• Request a Brochure
• Download a Demo
• Request a Demo
• Meet Our Team
• Read our RSS Feeds

Learn More

Maple Home
Maple 12 Professional
Maple 12 Academic
Maple 12 Student Use
Recorded Online Seminars
FREE Training Resources
Maple Application Briefs
Maple Adoption Program

MapleNet
Maple T.A.
MapleConnect
BlockImporter for Simulink
BlockBuilder for Simulink
Maple Toolboxes
Maple Rave Reviews
Maple Study Guides
Books about Maple
System Requirements

Latest Information

New Features: Professional
New Features: Academic
The Maple Reporter Online
Numerical Algorithms Group
(NAG)


Service & Support

Maple Primes
blogs, forums etc

Elite Maintenance Program
Application Centre
Powertools
Search the Knowledge Base
Technical Support request

List Archives >  Maple User Group List Archive >  Archive by date >  This Month By Date >  This Month By Topic

[MUG] Re: Matrix and filling it up

Search email archive for  

[MUG] Re: Matrix and filling it up
Author: Carl Devore    Posted: Sat, 26 Oct 2002 20:40:22 -0400

>> From: Carl Devore "devore"

On Wed, 23 Oct 2002, Caroline Ibrahim wrote:
> I want to create this huge matrix (say 1048576 by 5) and fill it up with
> 0, 1, 2 and 3 in an ordered manner. For example the first column of the
> matrix will have 262144 zeros, then 262144 ones,then 262144 twos and
> 262144 threes. In the second column, the first 65536 rows will have
> zeros, the next 65536 rows ones, then 65536 rows of twos and 65536 rows of
> threes. The rest of the rows of the second column are filled the same way
> the first 262144 are filled up. I hope you got the pattern here of
> filling up the rest of the columns.
>
> What's the best way to create this matrix with less running time? Can
> this be done using sequences? (I need to use it in some other
> calculations).

More important than filling it up efficiently is using it efficiently.
Yes, the fastest way that I can find to fill it is with sequences:

A:= Matrix(
[seq]([seq](seq(i $ 4^(10-j), i= 0..3), k= 1..4^(j-1)), j= 1..5)
,scan= columns
,datatype= integer[1]
);

This takes 6.6 secs on my computer. The datatype= integer[1] will cut the
memory usage by a factor 4, but does not have a significant effect on the
fill time. The restricted datatype may inhibit some subsequent
calculations.

It might be better to use an indexing function, escpecially if you do not
plan to change the Matrix. The indexing function giving the value as a
function of the row & column (i & j) would be:
(i,j)-> irem(iquo(i-1, 4^(10-j)), 4);

This will use almost 0 memory, but makes the lookups take a bit longer.

Example:

`index/Caroline`:= IJ-> irem(iquo(IJ[1]-1, 4^(10-IJ[2])), 4);
proc() :-A:= Matrix(4^10,5, storage= empty, shape= Caroline); [][] end();
A[746908,3];
1
The matrix creation needs to be done in a procedure to avoid processing
every (i,j) at creation time.

[View Complete Thread]



Previous by date: [MUG] filter transformations -- basic algebraic manipulations, Ben Nevile
Next by date: [MUG] Re: How to plot with a constraint on the domain, Carl Devore
Previous thread: [MUG] solving inequality, M A Suzen
Next thread: [MUG] How to plot with a constraint on the domain, Anders Poulsen



Ready to buy?

Maple - single user licence
Add to shopping basket
$ 1,895.00
Upgrade to Maple 12 from v11
Add to shopping basket
$ 995.00
Upgrade to Maple 12 from v10 & below
Add to shopping basket
$ 1,395.00

Featured Downloads

Maple White Paper: Technical Knowledge - An Asset You Can Afford to Lose?
Maple in Electronics Application Pack
Maple in Robotics & Aerospace Application Pack
Maple in Finance Application Pack

Product Reviews

"Without the Maple software, we would have to spend weeks generating the equations of motion for every experiment. Then the chances that we did it right would basically be near zero. There would always be a mistake somewhere. It is very difficult to set up a dynamic motion model by hand."
- Jean-Claude PiedBeouf, Ph.D Manager of Robotics, Canadian Space Agency

"Its very good - highly accurate and easy to use. The speed of Maple allows me to change equations and quickly reintegrate them into the application, so more possibilities can be explored to achieve the precise effect desired."
Shawn Neely, Senior R & D Director for PDI/Dreamworks
adept

Top of the Page

Our Privacy and Terms and Conditions Statement
All Trademarks Recognised. Copyright © 2007, Adept Scientific plc.
Site designed and maintained by Adeptise

Adept Scientific | Amor Way | Letchworth Garden City | Herts | SG6 1ZA | Tel: +44 (0)1462 480055