NOTICE: This package has been removed from pkgsrc

./wip/py-operators, Operators and solvers for high-performance computing

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ]


Branch: CURRENT, Version: 0.13.10, Package name: py27-operators-0.13.10, Maintainer: jihbed.research

The PyOperators package defines operators and solvers for high-performance
computing. These operators are multi-dimensional functions with optimised
and controlled memory management. If linear, they behave like matrices
with a sparse storage footprint


Required to run:
[math/py-scipy] [math/py-numpy] [devel/py-cython] [math/py-numexpr] [math/py-fftw]

Required to build:
[pkgtools/cwrappers]

Master sites:

RMD160: d7840940fb044d75b58338343a542155146db8c8
Filesize: 173.123 KB

Version history: (Expand)


CVS history: (Expand)


   2015-05-30 19:42:10 by Kamel Ibn Aziz Derouiche | Files touched by this commit (3) | Package updated
Log message:

	What?s new ?

    Python 3 support
    add settingerr context manager to contextually set error behaviour
    add environment variables PYOPERATORS_NO_MPI (to prevent importing mpi4py on \ 
supercomputers such as NERSC?s edison to avoid crashes on login nodes), \ 
PYOPERATORS_GC_NBYTES_THRESHOLD, PYOPERATORS_MEMORY_ALIGNMENT, \ 
PYOPERATORS_MEMORY_TOLERANCE and PYOPERATORS_VERBOSE (see config.py file)
    add helpers last, last_is_not, ilast and ilast_is_not, split
    improved ProxyOperator: operators in a proxy group may have different \ 
shapes, and can access the operator?s attributes
    Return algorithm instance in pcg ?s output
    add pool_threading context manager
    add MPI rank in strinfo
    in iterative algorithms, silence MPI processes with rank>0
    add timers to measure the time spent in Operator?s __call__ method and in \ 
MPI operations

API changes, deprecations:

    rename openmp_num_threads ? omp_num_threads
    deprecate distribute and distribute_slice
    change isclassattr calling sequence

Under the hood:

    common superclass for DiagonalOperator, DiagonalNumexprOperator and MaskOperator
    add Cartcomm communicator and Comm.Create_cart method in fake_mpi module
    morph MPIDistributionIdentityOperator into IdentityOperator is communicator \ 
size is 1
    allow implicit shape SparseBase subclasss
    update for scipy 0.14
    new decorator deprecated
    add setup.py?s clean command (contributed by G. Vaillant)
    automatic cythonization of files (contributed by G. Vaillant)

14 May 2014
  PyOperators 0.12

What?s new ?

    add a nbytes property, indicating the operator storage footprint.
    delete method for operators, to force deletion of an operator, alongside its \ 
associated operators. If the storage footprint of the deleted operators exceeds \ 
a certain threshold GC_NBYTES_THRESHOLD, a garbage collection is triggered.
    ProxyOperator for on-the-fly computations. In a group of proxy operators, \ 
only one actual operator is cached. The proxy operators inherit all the \ 
properties from the actual operators.
    add a context manager setting to change a global variable value.

Under the hood:

    Renamed operator flag ?inplace_reduction? ? ?update_output?. And make it a \ 
regular flag, i.e. the ?update_output? is no more inferred from the direct \ 
method signature.
    allow generators in composite operators.

26 Feb 2014
  PyOperators 0.11

What?s new ?

    New rule manager: new mechanism to enable or disable simplification rules \ 
inside a with context. The rule trigger none is implemented and it inhibits all \ 
algebraic simplifications if set to True.
    API change: the multiplication sign * is now context-dependent: composition \ 
for linear operators and element-wise multiplication otherwise.
    New operator DenseBlockDiagonalOperator. Extra dimensions of arrays are \ 
interpreted as diagonal blocks. This operator is broadcastable:
    ? against vectors: multiplying a DenseBlockDiagonalOperator initialised with \ 
an array of shape (L, 1, M, N) by a tensor of shape (P, N) gives a tensor of \ 
shape (L, P, M)
    ? against other DenseBlockDiagonalOperators: multiplying two of them \ 
initialised with arrays of shapes (K, 1, M, N) and (L, N, P) gives a \ 
DenseBlockDiagonalOperator initialised with an array of shape (K, L, M, P)
    DenseOperator is now implicit shape and broadcastable: an M?N DenseOperator \ 
multiplied by a tensor of shape (P, Q, N) gives a tensor of shape (P, Q, M).
    Make asoperator return an explicit shape DiagonalOperator, DenseOperator or \ 
DenseBlockDiagonalOperator for arrays of dimensions 1, 2 or more if the keyword \ 
constant is not set to True.
    New operators: PowerOperator, ReciprocalOperator, SqrtOperator and \ 
SquareOperator.
    Helper functions:
    ? reshape_broadcast to reshape an array to a broadcastable shape, by using \ 
0-strides along the missing dimensions
    ? broadcast_shapes to return the shape of the output obtained by \ 
broadcasting arrays of given shapes
    ? add reverse option for first, first_is_not, ifirst and ifirst_is_not.
    Improved __str__ for non-linear operators.
    New ufunc abs2, which returns the square modulus of a complex input.
    DEPRECATED: use isscalarlike instead of isscalar.

Under the hood:

    Add PyOperatorsWarning and PyOperatorsDeprecationWarnings.
    Rename the decorators module ? flags.
    Move operator?s rules ? rules module.
    Add CopyOperator.

16 Jan 2014
  PyOperators 0.10

What?s new ?

    SparseOperator. The sparse storage can be anyone from the scipy.sparse \ 
package (except the LIL format, which is not suited for matrix-vector \ 
multiplication)
    Change binary rule priorities to favour specialized rules and subclasses
    Add mechanism to prevent CompositeOperator from morphing into their unique \ 
component. This mechanism allow GroupOperator to only have one operand
    Remove DiagonalNumexprNonSeparableOperator, it?s not possible to avoid \ 
calling get_data in __init__ and it complicates the broadcasting operators too \ 
much
    API change: the mask convention for PackOperator and UnpackOperator is \ 
changed. True means kept (similar to Fortran?s pack & unpack). Make \ 
PackOperator and UnpackOperator subclass BroadcastingBase

Under the hood:

    Handle infinity in assert_same
    Improve rule?s __str__ when the predicate in a lambda function
    Add ?_reset? method for Operators
    Add ?broadcast? keyword to strshape
    Add debugging for the composition and commutative rules
    Cleanup broadcasting operators, including shape and dtype. Improved testing
    Fix ?square? flag when morphing from a DiagonalOperator or a MaskOperator to \ 
ZeroOperator
    In ?todense?, use dtype=int when the operator?s dtype is None
    Hack to add shapein and shapeout to Operator?s __repr__
    In CommutativeCompositeOperator, get info from the operands before applying \ 
the simplification rules
    Add ZeroOperator rule for MultiplicationOperator. Make sure a copy of the \ 
other operator is done for AdditionOperator
    In ?uninterruptible? contextmanager, ensure that the SIGINT handler is \ 
always put back in

14 Oct 2013
  PyOperators 0.9

What?s new ?

    Rotation2dOperator for rotations in a plane
    Rotation3dOperator, about 1 axis (3 conventions), 2 axes (6 conventions, \ 
including intrinsic and extrinsic rotations) or 3 axes (12 conventions)
    Spherical2CartesianOperator & Cartesian2SphericalOperator with \ 
conventions ?zenith,azimuth?, ?azimuth,zenith?, ?elevation,azimuth? and \ 
?azimuth,elevation?
    NormalizeOperator to obtain unit vectors
    DegreesOperator & RadiansOperator for degrees/radians conversions
    Implement __ne__ for Operators
    Add helper function float_dtype. Rename complex_dtype_for?complex_dtype
    Add helper functions one, pi and zero, which return a value of the specified \ 
dtype.
    API change in Operator?s rule:
    ? in unary rules, use ?C?, ?T?, ?H? or ?I? instead of ?.C?, ?.T?, ?.H? or ?.I?
    ? binary rule subjects are now specified by a 2-tuple
    ? use Operator subclass type instead of the string ?{MyOperator}?
    API change: IntegrationTrapezeWeightOperator ? IntegrationTrapezeOperator

Under the hood:

    benchmark and memory_usage functions moved to a distinct distribution \ 
pybenchmarks
    Add test and coverage commands in setup.py
    Automatically compute adjoint from transpose, transpose from adjoint, \ 
inverse_adjoint from inverse_transpose and inverse_tranpose from inverse_adjoint
    Fix attribute copy during scalar absorption
    In binary rules, use ?==? instead of ?is? in subject matching
    In assert_same, allow broadcasting for integer types
    Remove obsolete Operator?s isalias method
    Make shape_input, shape_output and inplace_reduction non-settable flags
    Take forward FFTW instance dtype into account for the backward instance
    Remove DirectOperatorFactory and ReverseOperatorFactory
    DenseOperator output and input shapes can now be implicit. Don?t rely on \ 
this feature yet, it will be changed in future versions.
   2014-01-25 11:38:08 by Thomas Klausner | Files touched by this commit (171) | Package updated
Log message:
Mark packages as not ready for python-3.x where applicable;
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE=  33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE=  33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.

Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.

Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.

Whitespace cleanups and other nits corrected, where necessary.
   2013-02-24 19:05:31 by Aleksej Saushev | Files touched by this commit (1)
Log message:
Don't allow python 3, py-fftw doesn't support it yet.
Fixes bulk build.
   2012-10-20 22:46:43 by Kamel Derouiche | Files touched by this commit (4)
Log message:
Import py27-operators-0.6.2 as wip/py-operators.

The pyoperators package defines operators and solvers for high-performance
computing. These operators are multi-dimensional functions that, if linear,
behave like matrices with a sparse storage footprint. The chaining of the
operations is optimised and controlled by a stack-based memory manager