```
From: Jim Paloander <dhmos.altiotis@gmail.com>
Subject: Re: Real_Arrays on heap with overloaded operators and clean syntax
Date: Mon, 23 Jan 2023 17:04:39 -0800 (PST) [thread overview]
Message-ID: <446867f7-526d-429f-951a-da1a97efff4dn@googlegroups.com> (raw)
In-Reply-To: <tqlgfv$1alo$1@gioia.aioe.org>
Dmitry,
you mentioned in a previous email
> You should not use the standard library anyway. It is not intended for
> large problems, which require specific approaches and methods, like
> sparse matrices, concurrent processing and so on.
> > The optimal way to work large linear algebra problem is what you describe because unfortunately ADA does not allow what Fortran does since 30 years ago or more.
> I am not sure what you mean. It is quite possible to design a wrapper
that the optimal way is to work with specific approaches and methods. Nevertheless, at least for vector operations, and/or dense matrices operations, ADA should provide native support of vector-math or Vector.Numerics, or AdvancedNumerics or Numerics.LinearAlgebra and/or Numerics.SparseLinearAlgebra. Honestly with all the mission critical applications ADA is used for, I would expect something like that to enable people working in scientific computing and in general wherever Linear Algebra kernels are essential tool of the core algorithms development.
So it seems that as you correctly implied even dense linear vector math are not enough. But it is at least what I hoped for. Sparse matrix times vector could be stored in a temporary vector. I would not expect that an expression such as
y := alpha*a + beta*(z-w*gamma) + alpha*beta*SparseMat*x;
is computed in a way similar to Fortran, which is
for I in 1 .. N loop
y[I] := alpha*a[I] + beta*(z[I] - w[I]*gamma) + alpha*beta*Sum_j ( SparseMat[I,j]*x[j])
end
where Sum_j is implemented in another loop. I would instead compute v := SparseMat*x, and then replace SparseMat*x with v in the above expression. So I would be happy if ADA would give me a library that allows Vector Math with performance similar to Fortran without temporaries for both Complex and Real numbers. If they could provide that also for Sparse Linear Algebra even better even for CSR format, because there are plenty Sparse Matrix formats for Sparse linear Algebra.
Thanks.
```

next prev parent reply other threads:[~2023-01-24 1:04 UTC|newest]Thread overview:34+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-01-22 21:34 Real_Arrays on heap with overloaded operators and clean syntax Jim Paloander 2023-01-22 21:56 ` Joakim Strandberg 2023-01-22 22:07 ` Jim Paloander 2023-01-22 22:42 ` Joakim Strandberg 2023-01-22 22:49 ` Jim Paloander 2023-01-22 23:11 ` Joakim Strandberg 2023-01-22 23:14 ` Gautier write-only address 2023-01-23 1:14 ` Leo Brewin 2023-01-23 6:01 ` Jim Paloander 2023-01-23 8:39 ` G.B. 2023-01-22 22:13 ` Dmitry A. Kazakov 2023-01-22 22:36 ` Jim Paloander 2023-01-23 8:28 ` Dmitry A. Kazakov2023-01-24 1:04 ` Jim Paloander [this message]2023-01-24 10:42 ` J-P. Rosen 2023-01-25 9:52 ` Jim Paloander 2023-01-25 12:21 ` J-P. Rosen 2023-01-25 22:41 ` Gautier write-only address 2023-01-26 19:08 ` Jim Paloander 2023-01-22 23:18 ` Rod Kay 2023-01-22 23:20 ` Jim Paloander 2023-01-22 23:34 ` Rod Kay 2023-01-22 23:53 ` Joakim Strandberg 2023-01-23 7:50 ` Egil H H 2023-01-23 8:51 ` J-P. Rosen 2023-01-23 6:34 ` Rod Kay 2023-01-23 6:56 ` Jim Paloander 2023-01-23 7:31 ` Rod Kay 2023-01-24 19:47 ` Gautier write-only address 2023-01-24 23:02 ` Gautier write-only address 2023-01-25 9:50 ` Jim Paloander 2023-01-26 20:39 ` Jerry 2023-01-26 21:52 ` Jim Paloander 2023-02-02 21:59 ` Jerry

replies disabled

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