comp.lang.ada
 help / color / mirror / Atom feed
* Ann: Mathpaqs, release Feb. 2011
@ 2011-02-21 18:43 Gautier write-only
  2011-02-21 23:59 ` Nasser M. Abbasi
  0 siblings, 1 reply; 18+ messages in thread
From: Gautier write-only @ 2011-02-21 18:43 UTC (permalink / raw)


Hello,

There is a new release of Mathpaqs @ http://sf.net/projects/mathpaqs/
.

What's new:

- *new* Discrete_random_simulation package (this is for simulating any
discrete random distribution)
- updated the Finite_distributed_random function (this is for
simulating a random distribution for an enumerated type)
- cleanup of ConjGrad (Conjugate gradient iterative methods for
solving the matrix equation Ax=b)

______________________________________________________________
Gautier's Ada programming -- http://gautiersblog.blogspot.com/
NB: follow the above link for a working e-mail address



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-21 18:43 Ann: Mathpaqs, release Feb. 2011 Gautier write-only
@ 2011-02-21 23:59 ` Nasser M. Abbasi
  2011-02-22  2:34   ` Gautier write-only
  0 siblings, 1 reply; 18+ messages in thread
From: Nasser M. Abbasi @ 2011-02-21 23:59 UTC (permalink / raw)


On 2/21/2011 10:43 AM, Gautier write-only wrote:
> Hello,
>
> There is a new release of Mathpaqs @ http://sf.net/projects/mathpaqs/
> .
>
> What's new:
>
> - *new* Discrete_random_simulation package (this is for simulating any
> discrete random distribution)
> - updated the Finite_distributed_random function (this is for
> simulating a random distribution for an enumerated type)
> - cleanup of ConjGrad (Conjugate gradient iterative methods for
> solving the matrix equation Ax=b)
>

Thanks Gautier,

I do not use Ada now, but I was looking at your ConjGrad solver,
and was just wondering, why new Matrix and Vectors are
defined in that package, since with Ada now, there exist
such types now?

For example, in  ConjGrad.ads it says

type Vector is array(Index range <>) of Real

type Any_matrix (<>) is private;
   -- NB: 2 syntaxes for instanciating that as unconstrained type :
   -- [Ada 95+] type Any_matrix (<>) is private;
   -- [Ada 83]  type Any_matrix is private;

But when I look at Ada 2005,

http://www.adaic.org/resources/add_content/standards/05rat/html/Rat-7-6.html

"Ada 2005 includes two new packages which are Ada.Numerics.Generic_Real_Arrays and Ada.Numerics.Generic_Complex_Arrays.

type Real_Vector is array (Integer range <>) of Real'Base;
type Real_Matrix is array (Integer range <>, Integer range <>) of Real'Base;
"

So, was just wondering the reasoning, to learn something, that's all.

I wrote a conjugate gradient solver myself for a HW, with preconditioning
in Matlab, and I saw your post, so wanted to see how it would 'look' in Ada.

thanks
--Nasser



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-21 23:59 ` Nasser M. Abbasi
@ 2011-02-22  2:34   ` Gautier write-only
  2011-02-22  9:56     ` Nasser M. Abbasi
  0 siblings, 1 reply; 18+ messages in thread
From: Gautier write-only @ 2011-02-22  2:34 UTC (permalink / raw)


On 22 fév, 00:59, "Nasser M. Abbasi" <n...@12000.org> wrote:

> I do not use Ada now, but I was looking at your ConjGrad solver,
> and was just wondering, why new Matrix and Vectors are
> defined in that package, since with Ada now, there exist
> such types now?
>
> For example, in  ConjGrad.ads it says
>
> type Vector is array(Index range <>) of Real
>
> type Any_matrix (<>) is private;

These types are *not* defined in the package (since they appear before
the keyword "package" :-) ). They are imported as generic parameters.
So you can use whatever vector and matrix types, including Ada 2005's
Real_Vector and Real_Matrix.

So I guess the next question would be: why not using Real_Vector and
Real_Matrix by default ? My answer would be:
- you can use the package also with an Ada 95 compiler, even one which
doesn't yet has been extended with the new 2005 math packages
- more important: you can use non-trivial matrix types, like band
matrices or sparse matrices.

Consider the example here:
  http://www.youtube.com/watch?v=_NIZmYd8oUw
The mesh is 220x220 points, which is still probably a "toy" size for
finite element problems. But you have then 220*220=48,400 dimensions
and then 48400*48400=2,342,560,000 cells in a matrix like Real_Matrix,
which makes around 16 GB in storage with double precision! Even if you
have enough RAM on your computer, the solver might run very slowly
because of poor CPU cache-ing (and perhaps also because of the 2
billion multiplications and additions for each iteration!).
A sparse matrix storage takes a few MB instead.

Regards
Gautier



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-22  2:34   ` Gautier write-only
@ 2011-02-22  9:56     ` Nasser M. Abbasi
  2011-02-22 10:27       ` Dmitry A. Kazakov
  2011-02-22 17:21       ` Gautier write-only
  0 siblings, 2 replies; 18+ messages in thread
From: Nasser M. Abbasi @ 2011-02-22  9:56 UTC (permalink / raw)


On 2/21/2011 6:34 PM, Gautier write-only wrote:

>
> So I guess the next question would be: why not using Real_Vector and
> Real_Matrix by default ? My answer would be:
> - you can use the package also with an Ada 95 compiler, even one which
> doesn't yet has been extended with the new 2005 math packages

OK, makes sense.

> - more important: you can use non-trivial matrix types, like band
> matrices or sparse matrices.
>

What packages or binding to which library should one use in Ada
to use sparse matrices?

In Matlab, almost all build-in functions that work with normal matrices,
also work as in with sparse matrices. Makes life very easy.

To solve Ax=b, even when A is sparse, one can still write A\b.

Is it possible to do something like this in Ada? There are number
of sparse libraries out there, but googling around, do not see
an Ada binding at this time.

I think Ada is much behind when it comes to ready to use functions
and libraries for computational science. Too bad, since the language
itself is probably the best for this sort of thing.

thanks,
--Nasser




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-22  9:56     ` Nasser M. Abbasi
@ 2011-02-22 10:27       ` Dmitry A. Kazakov
  2011-02-22 10:40         ` Nasser M. Abbasi
  2011-02-22 17:21       ` Gautier write-only
  1 sibling, 1 reply; 18+ messages in thread
From: Dmitry A. Kazakov @ 2011-02-22 10:27 UTC (permalink / raw)


On Tue, 22 Feb 2011 01:56:30 -0800, Nasser M. Abbasi wrote:

> What packages or binding to which library should one use in Ada
> to use sparse matrices?

That depends on the type of sparseness, I guess.

> In Matlab, almost all build-in functions that work with normal matrices,
> also work as in with sparse matrices. Makes life very easy.
> 
> To solve Ax=b, even when A is sparse, one can still write A\b.

I don't understand the problem here. You can define a function

   function "/" (Left : My_Sparse_Matrix; Right : Vector) return Vector;

It is not very common because solver usually returns some additional
valuable information, which gets lost when the solver is wrapped into a
function.

> Is it possible to do something like this in Ada? There are number
> of sparse libraries out there, but googling around, do not see
> an Ada binding at this time.

Do you see MATLAB bindings instead? You seem comparing MATLAB libraries
with non-Ada ones.

BTW, writing MATLAB bindings is much more complicated than doing Ada
bindings.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-22 10:27       ` Dmitry A. Kazakov
@ 2011-02-22 10:40         ` Nasser M. Abbasi
  2011-02-22 11:33           ` Dmitry A. Kazakov
  2011-02-22 17:35           ` Simon Wright
  0 siblings, 2 replies; 18+ messages in thread
From: Nasser M. Abbasi @ 2011-02-22 10:40 UTC (permalink / raw)


On 2/22/2011 2:27 AM, Dmitry A. Kazakov wrote:

>
>> Is it possible to do something like this in Ada? There are number
>> of sparse libraries out there, but googling around, do not see
>> an Ada binding at this time.
>

> Do you see MATLAB bindings instead? You seem comparing MATLAB libraries
> with non-Ada ones.
>

I was really asking a simple question :)

In Ada, how can one work with sparse matrices? Say I want to make Ax=b,
where A is sparse, and solve for x.

How would you do that in Ada 2005? What libraries/bindings etc... does
one need to use.

Using Sparse matrices is so common in matlab world, since it is build-in,
and I was just giving an example, that is all.

thanks,
--Nasser



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-22 10:40         ` Nasser M. Abbasi
@ 2011-02-22 11:33           ` Dmitry A. Kazakov
  2011-02-22 20:45             ` Nasser M. Abbasi
  2011-02-22 17:35           ` Simon Wright
  1 sibling, 1 reply; 18+ messages in thread
From: Dmitry A. Kazakov @ 2011-02-22 11:33 UTC (permalink / raw)


On Tue, 22 Feb 2011 02:40:17 -0800, Nasser M. Abbasi wrote:

> On 2/22/2011 2:27 AM, Dmitry A. Kazakov wrote:
> 
>>> Is it possible to do something like this in Ada? There are number
>>> of sparse libraries out there, but googling around, do not see
>>> an Ada binding at this time.
> 
>> Do you see MATLAB bindings instead? You seem comparing MATLAB libraries
>> with non-Ada ones.
> 
> I was really asking a simple question :)

It is not a simple question, or I didn't understand you. Sparse matrices is
a huge research area with an uncounted number of algorithms and their
implementations.

> In Ada, how can one work with sparse matrices? Say I want to make Ax=b,
> where A is sparse, and solve for x.

Ax=b is an equation. Both Ada and MATLAB are imperative languages, you
cannot "make" equations there. 

> How would you do that in Ada 2005? What libraries/bindings etc... does
> one need to use.

Whatever library that solves the problem of this class with the required
size and accuracy. Either you find a library or write it by yourself. That
has little to do with the language. Except that it would be difficult to
implement anything efficiently in MATLAB. MATLAB plug-ins are normally
written not in MATLAB itself.

> Using Sparse matrices is so common in matlab world, since it is build-in,
> and I was just giving an example, that is all.

Sparse matrices are impossible to build in. It is only possible to do
certain categories of sparse matrices. I don't know which ones MATLAB has.
Are you asking why Ada does not include them in the standard library?

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-22  9:56     ` Nasser M. Abbasi
  2011-02-22 10:27       ` Dmitry A. Kazakov
@ 2011-02-22 17:21       ` Gautier write-only
  1 sibling, 0 replies; 18+ messages in thread
From: Gautier write-only @ 2011-02-22 17:21 UTC (permalink / raw)


On 22 fév, 10:56, "Nasser M. Abbasi" <n...@12000.org> wrote:

> What packages or binding to which library should one use in Ada
> to use sparse matrices?

For instance the package Sparse in Mathpaqs :-) .
NB: that package doesn't claim to be especially user-friendly. But
it's there.
______________________________________________________________
Gautier's Ada programming -- http://gautiersblog.blogspot.com/
NB: follow the above link for a working e-mail address



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-22 10:40         ` Nasser M. Abbasi
  2011-02-22 11:33           ` Dmitry A. Kazakov
@ 2011-02-22 17:35           ` Simon Wright
  1 sibling, 0 replies; 18+ messages in thread
From: Simon Wright @ 2011-02-22 17:35 UTC (permalink / raw)


"Nasser M. Abbasi" <nma@12000.org> writes:

> In Ada, how can one work with sparse matrices? Say I want to make
> Ax=b, where A is sparse, and solve for x.
>
> How would you do that in Ada 2005? What libraries/bindings etc... does
> one need to use.

During conversations about my Ada 2005 Math Extensions project
(https://sourceforge.net/projects/gnat-math-extn/), someone pointed me
at http://www-users.cs.umn.edu/~saad/software/SPARSKIT/index.html

I don't think there's an Ada binding to this.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-22 11:33           ` Dmitry A. Kazakov
@ 2011-02-22 20:45             ` Nasser M. Abbasi
  2011-02-22 21:03               ` Dmitry A. Kazakov
  2011-02-23 14:38               ` Simon Wright
  0 siblings, 2 replies; 18+ messages in thread
From: Nasser M. Abbasi @ 2011-02-22 20:45 UTC (permalink / raw)


On 2/22/2011 3:33 AM, Dmitry A. Kazakov wrote:

> Are you asking why Ada does not include them in the standard library?
>

My question is the same, a very simple user question, I will repeat it again:

What do I need to do to solve Ax=b in Ada, with A being sparse matrix.

If no one has done this before in Ada, that is fine. I am just asking.

The format of the sparse is not important, the package used is not
important. I am just asking if the tools, the bindings, the
library, or whatever, is there now, today, to do this in Ada.

It is really a simple question :)

--Nasser









^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-22 20:45             ` Nasser M. Abbasi
@ 2011-02-22 21:03               ` Dmitry A. Kazakov
  2011-02-23 14:38               ` Simon Wright
  1 sibling, 0 replies; 18+ messages in thread
From: Dmitry A. Kazakov @ 2011-02-22 21:03 UTC (permalink / raw)


On Tue, 22 Feb 2011 12:45:05 -0800, Nasser M. Abbasi wrote:

> On 2/22/2011 3:33 AM, Dmitry A. Kazakov wrote:
> 
>> Are you asking why Ada does not include them in the standard library?
> 
> My question is the same, a very simple user question, I will repeat it again:
> 
> What do I need to do to solve Ax=b in Ada, with A being sparse matrix.
> 
> If no one has done this before in Ada, that is fine. I am just asking.
> 
> The format of the sparse is not important, the package used is not
> important.

Then I choose diagonal matrices, which is sparse of course. The answer is

   x(I) = b(I) / A (I ,I)

> I am just asking if the tools, the bindings, the
> library, or whatever, is there now, today, to do this in Ada.
> 
> It is really a simple question :)

Simple question simple answer! (:-)) 

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-22 20:45             ` Nasser M. Abbasi
  2011-02-22 21:03               ` Dmitry A. Kazakov
@ 2011-02-23 14:38               ` Simon Wright
  2011-02-24  9:51                 ` comp.lang.php
  1 sibling, 1 reply; 18+ messages in thread
From: Simon Wright @ 2011-02-23 14:38 UTC (permalink / raw)


"Nasser M. Abbasi" <nma@12000.org> writes:

> On 2/22/2011 3:33 AM, Dmitry A. Kazakov wrote:
>
>> Are you asking why Ada does not include them in the standard library?
>>
>
> My question is the same, a very simple user question, I will repeat it again:
>
> What do I need to do to solve Ax=b in Ada, with A being sparse matrix.
>
> If no one has done this before in Ada, that is fine. I am just asking.
>
> The format of the sparse is not important, the package used is not
> important. I am just asking if the tools, the bindings, the
> library, or whatever, is there now, today, to do this in Ada.
>
> It is really a simple question :)

I'm pretty sure the answer is -- there is no Ada binding to do what you
want.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-23 14:38               ` Simon Wright
@ 2011-02-24  9:51                 ` comp.lang.php
  2011-02-25 21:09                   ` Simon Wright
  0 siblings, 1 reply; 18+ messages in thread
From: comp.lang.php @ 2011-02-24  9:51 UTC (permalink / raw)


On Feb 23, 2:38 pm, Simon Wright <si...@pushface.org> wrote:
> "Nasser M. Abbasi" <n...@12000.org> writes:
>
>
>
>
>
>
>
>
>
> > On 2/22/2011 3:33 AM, Dmitry A. Kazakov wrote:
>
> >> Are you asking why Ada does not include them in the standard library?
>
> > My question is the same, a very simple user question, I will repeat it again:
>
> > What do I need to do to solve Ax=b in Ada, with A being sparse matrix.
>
> > If no one has done this before in Ada, that is fine. I am just asking.
>
> > The format of the sparse is not important, the package used is not
> > important. I am just asking if the tools, the bindings, the
> > library, or whatever, is there now, today, to do this in Ada.
>
> > It is really a simple question :)
>
> I'm pretty sure the answer is -- there is no Ada binding to do what you
> want.

A sparse matrix is one whose elements are mostly zero. Hence, the
designer of code for such problems needs to avoid the store of zero
terms and silly operations such as 0 + 0*0. The matrix can be stored
in several ways.

We can instantiate the package Ada.Containers.Ordered_Maps with the
index as key_type, the chosen real type as element_type or use the
compact row storage formula (or variants) of Saad. The first way gives
a dynamic data structure the latter a bounded one.

To solve linear equations directly by Gaussian elimination the problem
is "fill in" where zeros become nonzeros. Reordering the rows and
columns can help considerably. Modern methods try to work with blocks
of dense matrices in order to exploit level 3 blas operations. A good
method is UMFPACK  http://www.cise.ufl.edu/research/sparse/umfpack/ ,
it is written in C and Ada bindings are possible.

I have worked with sparse matrices in my finite element codes written
in Ada. I have a crude binding to UMFPACK that needs tidying before
public release.

I have not used the gnat tool to generate automatic bindings yet. It
would be very useful if it could be added to GPS and appear in a menu.

Ken Thomas



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-24  9:51                 ` comp.lang.php
@ 2011-02-25 21:09                   ` Simon Wright
  2011-02-26  0:21                     ` Nasser M. Abbasi
  0 siblings, 1 reply; 18+ messages in thread
From: Simon Wright @ 2011-02-25 21:09 UTC (permalink / raw)


"comp.lang.php" <kst@ecs.soton.ac.uk> writes:

>  A good method is UMFPACK
> http://www.cise.ufl.edu/research/sparse/umfpack/ , it is written in C
> and Ada bindings are possible.

Very interesting.

I'm wondering whether -- in the spirit of competition -- to have a go at
including a binding in Ada 2005 Math extensions, even though it's
somewhat outside the scope as I'd seen it.

I can see a problem writing a general binding for code like this
(umf_solve.h):

   GLOBAL Int UMF_solve
   (
       Int sys,
       const Int Ap [ ],
       const Int Ai [ ],
       const double Ax [ ],
       double Xx [ ],
       const double Bx [ ],
   #ifdef COMPLEX
       const double Az [ ],
       double Xz [ ],
       const double Bz [ ],
   #endif
       NumericType *Numeric,
       Int irstep,
       double Info [UMFPACK_INFO],
       Int Pattern [ ],
       double SolveWork [ ]
   ) ;



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-25 21:09                   ` Simon Wright
@ 2011-02-26  0:21                     ` Nasser M. Abbasi
  2011-02-26  7:53                       ` Simon Wright
  2011-02-26 18:38                       ` Gautier write-only
  0 siblings, 2 replies; 18+ messages in thread
From: Nasser M. Abbasi @ 2011-02-26  0:21 UTC (permalink / raw)


On 2/25/2011 1:09 PM, Simon Wright wrote:
> "comp.lang.php"<kst@ecs.soton.ac.uk>  writes:
>
>>   A good method is UMFPACK
>> http://www.cise.ufl.edu/research/sparse/umfpack/ , it is written in C
>> and Ada bindings are possible.
>
> Very interesting.
>
> I'm wondering whether -- in the spirit of competition -- to have a go at
> including a binding in Ada 2005 Math extensions, even though it's
> somewhat outside the scope as I'd seen it.
>
> I can see a problem writing a general binding for code like this
> (umf_solve.h):
>
>     GLOBAL Int UMF_solve
>     (
>         Int sys,
>         const Int Ap [ ],
>         const Int Ai [ ],
>         const double Ax [ ],
>         double Xx [ ],
>         const double Bx [ ],
>     #ifdef COMPLEX
>         const double Az [ ],
>         double Xz [ ],
>         const double Bz [ ],
>     #endif
>         NumericType *Numeric,
>         Int irstep,
>         double Info [UMFPACK_INFO],
>         Int Pattern [ ],
>         double SolveWork [ ]
>     ) ;


Someone more skilled than me, and with time, can probably implement
the whole thing in just Ada (the matrix storage, and the solver).

There are few standard formats for sparse storage that are known,
wiki describes them, here I found an intel page which also describes
storage in more details

http://software.intel.com/sites/products/documentation/hpc/mkl/webhelp/appendices/mkl_appA_SMSF.html

<RANT/>

Ada is good language, but what is important, is not how good the
language is, but what you can do with it.

I'd love to use Ada for my numerical projects at school, but
every time I try, I find it is missing things I need, so
I give up, and go back to using other systems, even though
those do not produce robust software as would be with Ada,
but at least, I can get the HW done with them, even if it takes
longer to debug things.

Looking at many languages out there, they all now have huge amount of
numerical libraries now, all written in that language: Java, Python,
C/C++, Fortran, etc... I am actually now thinking of using Java
for numerical work. At least Java is closer to Ada in terms
of having a better typing system than say C/C++ family. The New
modern Fortran looks to me so messed up and convoluted. They
threw so many things to it, they broke it.

When it comes to Ada, which is probably the best language to write
large numerical software in due to its strong typing and robustness,
there is so little numerical software and libraries for it.

</END RANT>

--Nasser



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-26  0:21                     ` Nasser M. Abbasi
@ 2011-02-26  7:53                       ` Simon Wright
  2011-02-26 18:38                       ` Gautier write-only
  1 sibling, 0 replies; 18+ messages in thread
From: Simon Wright @ 2011-02-26  7:53 UTC (permalink / raw)


"Nasser M. Abbasi" <nma@12000.org> writes:

> Someone more skilled than me, and with time, can probably implement
> the whole thing in just Ada (the matrix storage, and the solver).

They also have to have a reason to do it. Sometimes that's the need to
pay the rent, sometimes the need to get a problem solved, sometimes the
technical challenge. For you it would be the second, for me it would
have to be the third.

> <RANT/>
> </END RANT>

That should have been

<RANT>
</RANT>



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-26  0:21                     ` Nasser M. Abbasi
  2011-02-26  7:53                       ` Simon Wright
@ 2011-02-26 18:38                       ` Gautier write-only
  2011-02-26 20:59                         ` Simon Wright
  1 sibling, 1 reply; 18+ messages in thread
From: Gautier write-only @ 2011-02-26 18:38 UTC (permalink / raw)


On 26 fév, 01:21, "Nasser M. Abbasi" <n...@12000.org> wrote:

> Someone more skilled than me, and with time, can probably implement
> the whole thing in just Ada (the matrix storage, and the solver).

Sure, and with probability 1, since it's already done in Mathpaqs!

G.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Ann: Mathpaqs, release Feb. 2011
  2011-02-26 18:38                       ` Gautier write-only
@ 2011-02-26 20:59                         ` Simon Wright
  0 siblings, 0 replies; 18+ messages in thread
From: Simon Wright @ 2011-02-26 20:59 UTC (permalink / raw)


Gautier write-only <gautier_niouzes@hotmail.com> writes:

> On 26 fév, 01:21, "Nasser M. Abbasi" <n...@12000.org> wrote:
>
>> Someone more skilled than me, and with time, can probably implement
>> the whole thing in just Ada (the matrix storage, and the solver).
>
> Sure, and with probability 1, since it's already done in Mathpaqs!

Apologies. I hadn't realised that Mathpaqs already includes sparse
matrix facilities. Only excuse is that 'sparse' doesn't appear in the
announcement.



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2011-02-26 20:59 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-21 18:43 Ann: Mathpaqs, release Feb. 2011 Gautier write-only
2011-02-21 23:59 ` Nasser M. Abbasi
2011-02-22  2:34   ` Gautier write-only
2011-02-22  9:56     ` Nasser M. Abbasi
2011-02-22 10:27       ` Dmitry A. Kazakov
2011-02-22 10:40         ` Nasser M. Abbasi
2011-02-22 11:33           ` Dmitry A. Kazakov
2011-02-22 20:45             ` Nasser M. Abbasi
2011-02-22 21:03               ` Dmitry A. Kazakov
2011-02-23 14:38               ` Simon Wright
2011-02-24  9:51                 ` comp.lang.php
2011-02-25 21:09                   ` Simon Wright
2011-02-26  0:21                     ` Nasser M. Abbasi
2011-02-26  7:53                       ` Simon Wright
2011-02-26 18:38                       ` Gautier write-only
2011-02-26 20:59                         ` Simon Wright
2011-02-22 17:35           ` Simon Wright
2011-02-22 17:21       ` Gautier write-only

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox