Up |
|
|
  |
Author: Gary ScottGary Scott Date: Aug 10, 2007 21:00
I was reading a 1960's article by Edsger Dijkstra in which he lamented
absence of triangular arrays (or ability to specify different shapes for
arrays) in Algol 60.
What are some uses of triangular arrays (or other non rectangular shaped
arrays)?
What might a fortran-compatible/based declaration syntax look like?
What might an element access syntax look like?
--
Gary Scott
mailto:garylscott@sbcglobal dot net
Fortran Library: http://www.fortranlib.com
Support the Original G95 Project: http://www.g95.org
-OR-
Support the GNU GFortran Project: http://gcc.gnu.org/fortran/index.html
If you want to do the impossible, don't hire an expert because he knows
it can't be done.
-- Henry Ford
|
| |
|
| | 18 Comments |
|
  |
Author: Tim PrinceTim Prince Date: Aug 11, 2007 00:40
Gary Scott wrote:
> I was reading a 1960's article by Edsger Dijkstra in which he lamented
> absence of triangular arrays (or ability to specify different shapes for
> arrays) in Algol 60.
>
>
> What are some uses of triangular arrays (or other non rectangular shaped
> arrays)?
As in the storage of a symmetric matrix, I suppose.
>
> What might a fortran-compatible/based declaration syntax look like?
In traditional Fortran, a single subscripted array big enough to hold
the matrix elements.
>
> What might an element access syntax look like?
>
Paraphrasing from the Levine-Callahan-Dongarra vectors benchmark
( netlib.org)
|
| Show full article (1.08Kb) |
|
| | no comments |
|
  |
Author: Gordon SandeGordon Sande Date: Aug 11, 2007 06:39
On 2007-08-11 01:00:00 -0300, Gary Scott sbcglobal.net> said:
> I was reading a 1960's article by Edsger Dijkstra in which he lamented
> absence of triangular arrays (or ability to specify different shapes
> for arrays) in Algol 60.
>
>
> What are some uses of triangular arrays (or other non rectangular
> shaped arrays)?
>
> What might a fortran-compatible/based declaration syntax look like?
>
> What might an element access syntax look like?
Matrix inversion is for intoductory algebra books. Real men (to use a
curious metaphore) use TRIANGULAR decompositions to allow easy back
solving in a numerical stable fashion.
|
| Show full article (2.08Kb) |
| no comments |
|
  |
Author: Tim PrinceTim Prince Date: Aug 11, 2007 07:38
Gordon Sande wrote:
> On 2007-08-11 01:00:00 -0300, Gary Scott sbcglobal.net> said:
>
>> I was reading a 1960's article by Edsger Dijkstra in which he lamented
>> absence of triangular arrays (or ability to specify different shapes
>> for arrays) in Algol 60.
>>
>>
>> What are some uses of triangular arrays (or other non rectangular
>> shaped arrays)?
>>
>> What might a fortran-compatible/based declaration syntax look like?
>>
>> What might an element access syntax look like?
>
> Matrix inversion is for intoductory algebra books. Real men (to use a
> curious metaphore) use TRIANGULAR decompositions to allow easy back
> solving in a numerical stable fashion.
>
> Rather than A x = b becoming x = A^-1 b one use A = LU (or A = PLUQ^-1 ...
|
| Show full article (2.76Kb) |
| no comments |
|
  |
Author: Charles RussellCharles Russell Date: Aug 11, 2007 09:11
Gary Scott wrote:
>
> What are some uses of triangular arrays (or other non rectangular shaped
> arrays)?
>
Once upon a time memory was scant and expensive. With memory to spare,
it is simpler to store a second factor, or the original of a symmetric
matrix, in the other half of a square matrix. The additional memory
serves a potentially useful purpose and the array indexing remains
simple and routine.
|
| |
| no comments |
|
  |
Author: nospamnospam Date: Aug 11, 2007 09:54
Charles Russell bellsouth.net> wrote:
> Gary Scott wrote:
>>
>> What are some uses of triangular arrays (or other non rectangular shaped
>> arrays)?
>>
> Once upon a time memory was scant and expensive.
Yep, Been there. Done that. Wrote my own versions of some of those
in-place algorithms. (Not that mine were anything but mundane; in those
days one mostly wrote one's own code unless what you needed happened to
be in a library package that your site owned.)
> With memory to spare,
> it is simpler to store a second factor, or the original of a symmetric
> matrix, in the other half of a square matrix. The additional memory
> serves a potentially useful purpose and the array indexing remains
> simple and routine.
|
| Show full article (2.49Kb) |
| no comments |
|
  |
Author: Gary ScottGary Scott Date: Aug 11, 2007 10:44
Richard Maine wrote:
> Charles Russell bellsouth.net> wrote:
>
>
>>Gary Scott wrote:
>>
>>>What are some uses of triangular arrays (or other non rectangular shaped
>>>arrays)?
>>>
>>
>>Once upon a time memory...
|
| Show full article (3.07Kb) |
| no comments |
|
  |
Author: Gordon SandeGordon Sande Date: Aug 11, 2007 10:49
On 2007-08-11 11:38:04 -0300, Tim Prince sbcglobal.net> said:
> Gordon Sande wrote:
>> On 2007-08-11 01:00:00 -0300, Gary Scott sbcglobal.net> said:
>>
>>> I was reading a 1960's article by Edsger Dijkstra in which he lamented
>>> absence of triangular...
|
| Show full article (3.59Kb) |
| no comments |
|
  |
Author: nospamnospam Date: Aug 11, 2007 16:20
Gary Scott sbcglobal.net> wrote:
> The basis of my question was related to my inability to understand that
> triangular arrays would be widely useful enough to justify specific
> language support. But I'm not a math major;
Oh. I see. Well, triangular arrays are indeed used a lot. There are some
cases where triangular arrays are directly used. There are probably even
more cases where symmetric arrays are used, and a symmetric (or
Hermetian, if one is talking complex numbers) matrix can be stored as
(or reduced to) a triangular one. Many, many problems inherently involve
symmetric matrices. For example, your basic quadratic form uses a
symmetric matrix, and thus also does any algorithm that uses a quadratic
form as an approximation (that would be a lot of algorithms).
Many libraries have special procedures for handling symmetric or
triangular matrices. it isn't just for the storage benefit either. There
are cases where you can use far "better" algorithms that apply only to
symmetric matrices. That gets off into the "math stuff".
|
| Show full article (1.56Kb) |
| no comments |
|
  |
|
|
  |
Author: TerenceTerence Date: Aug 11, 2007 16:33
There is excellent commantary above on the maths and usfulness of
Triangular Matrices.
I won't (can't?) compete.
However, once upon a time you used triangula methods, but wrote out
full matrix rows as temporary storage, so the theoretical part was
internal and triangular and the practical part was external and square
(and usually tape). So you had no need for triangular-to-square and
back operations for internal work other than non-general private
solving of problems.
Now you just use general square internal operations and let the
operating system automatically handle the temporary storage problem
should it be needed and just call on your huge rows as (if ever?)
needed.
It's called "Moot".
|
| |
| no comments |
|
RELATED THREADS |
  |
|
|
|
|