Skip to main content

Alternating Conditional Expectation Algorithm

Project description

Build Status PyPI Windows

This project provides a wrapper program of Python for ACE algorithm implementation of Fortran.

Install Binary Distribution

Currently, only 64-bit binary distribution is provided. Run pip install ace_cream==0.4.post4 to install the binary distribution.

Platform py3.5 py3.6 py2.7
Windows T T T
MacOS   T T
Linux T T T

How to build

You need numpy and fortran compiler to build from source.


  • Install Visual C++ toolchain.
  • Download MinGW-w64 from sourceforge, which provides the necessary fortran compiler
  • Install MinGW-w64 and add {install_dir}\mingw64\bin path to environment variable (make gfortran accessible from command line).
  • (for conda environment) Add {install_dir}\Anaconda3\Scripts to environment variable (make f2py accessible from command line).


You can use package manager to install gfortran (included within gnu compiler collection). For example, with Homebrew you can use

brew install gcc


To install gfortran, use the default package manager:

sudo apt-get install gfortran

Run python install from command line at the project root directory.

How to use

import numpy as np
from ace_cream import ace_cream
# discrete case, binary symmetric channel with crossover probability 0.1
x = np.random.choice([0,1], size=N_SIZE)
n = np.random.choice([0,1], size=N_SIZE, p=[0.9, 0.1])
y = np.mod(x + n, 2)
# set both x(cat=0) and y(cat=-1) as categorical type
tx, ty = ace_cream(x, y, cat=[-1,0])

# continuous case
x = np.random.uniform(0, np.pi, 200)
y = np.exp(np.sin(x)+np.random.normal(size=200)/2)
tx, ty = ace_cream(x, y)




change log

  1. v0.1 initial commit
  2. v0.2 modify to relative import in
  3. v0.3 add support for multiple columns of x and other directions of transformation
  4. v0.4 add f_mapping function and unittests for this function


Apache License Version 2.0

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ace-cream, version 0.4.post6
Filename, size File type Python version Upload date Hashes
Filename, size ace_cream-0.4.post6-cp36-cp36m-macosx_10_7_x86_64.whl (117.3 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size ace_cream-0.4.post6.tar.gz (35.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page