This looks very, very cool.

On Sunday, June 15, 2014 12:08:52 PM UTC-5, Jutho wrote:
>
> Dear Julia users,
>
> I have just added a new Julia package for working with linear maps, also 
> known as linear transformations or linear operators (although the latter 
> term restricts to the slightly more restricted case where domain and 
> codomain are the same, i.e. number of rows and columns of the matrix 
> representation are the same). The idea is that a LinearMap object is like 
> an AbstractMatrix in that it transforms vectors into vectors by 
> multiplication, but that it does not need to be represented as a Matrix.
>
> The package provides functionality for wrapping linear functions without 
> explicit matrix representation (e.g. cumsum, fft, diff, ... ) as LinearMap 
> objects, for combining LinearMap objects via composition or linear 
> combination, and for taking transposes. All of these operations are 
> evaluated 'lazily', i.e. only when the combined object is multiplied with a 
> vector will the operations be performed, and in such a way that only matrix 
> vector multiplications and vector additions need to be computed. In 
> addition, these operations are implemented  with efficiency in mind. They 
> try to minimise the number of temporaries (i.e. minimal memory allocation) 
> and make available mutating operations such as A_mul_B!, even when this was 
> not provided by e.g. the function that performs the matrix vector product. 
> In addition, they can be combined with normal AbstractMatrix objects and 
> with the built in identity I (UniformScaling). 
>
> The application of this package is in first place in the context of 
> iterative algorithms for linear systems or eigenvalue problems, which 
> should be implemented using duck typing of the matrix/operator argument. In 
> particular, it works well in combination with eigs, Julia's built in 
> wrapper for Arpack. Like AbstractMatrix objects, LinearMap objects respond 
> to the methods size, isreal, eltype, issym, ishermitian and isposdef, where 
> it is even attempted to cleverly guess the correct values for these latter 
> properties (i.e. A'*B*B'*A will be recognised as a positive definite 
> hermitian linear map).
>
> Check it out at https://github.com/Jutho/LinearMaps.jl . Comments and 
> suggestions are appreciated.
>
> Jutho
>

Reply via email to