(Some of these are already done???)
-
Allow "ancillary" derived parameters/calculations in addition to the MCMC model params (e.g., the ML amplitudes in a marginalized gaussian model -- could store alongside or even as part of MCMC.samples)
-
problem when a window is always 0 (or ~0) in a bin for a single experiment? seems to want very large bandpowers? [[iS THIS THE low-ell PROBLEM???]]
-
translate/wrap wmap3 likelihood
-
polarization in
ClData/
andbinnedCl/
modules -
allow linear combinations of params
-
which methods should take the linear combination and which the real parameters?
- how about
package
/unpackage
?
- how about
-
For sequences, (strings, lists, tuples), use the fact that empty sequences are false, so
if not seq
orif seq
is preferable toif len(seq)
orif not len(seq)
. [ but doesn't work for arrays ] -
just make window fns
win[nbin, ncl, lmax]
-
change mixedCase names to lower_with_underscores as per pep?
-
get rid of map in favor of list comprehension? (a la python regret)
-
get rid of static methods in favor of module-level functions?
-
may need to modify
__init__ = blabla
todef __init__(self, stuff) = self.blabla(stuff)
-
rename
Likelihood
->beamLikelihood
? -
data.get_quadratic_form
method which does A^T N^-1 B or A^T N^-1 A without full inverse if uncorrelated? (Otherwise likelihood needs to know which is appropriate) -
allow
MCMC
to take a sequence of likelihoods? -
or allow
likelihood
to take a sequence of data?- need to wrap
lnLike
,lnNorm
in something like[for dat in self.data]
- (latter enforces the requirement that they all have the same model, which is crucial, but may be harder to deal with, and requires that every likelihood class do this. or could do with a lnLike1, lnNorm1 which are then wrapped only in the superclass?
- need to wrap
-
reorganize package/modules
-
allow priors from the data? (e.g., reasonable limits on parameter values?)
- or could subclass the model for specific cases?
-
need to make Likelihood take an instance of the model class?
-
can't do that -- need to make the xy ranges into static class variables.
-
need to link the data, model, likelihood classes more strongly?
-
[done with classmethod]
-
-
how to determine if an object is a vector or an array?
len(asarray(obj))
?-
or:
try: l=len(obj) except: TypeError: l=1
-
[use
asarray(object).size()
-- is there a better way?]
-
-
generic gaussian data
(d, sigma/sig2/noise_matrix)
subclassed for extra info (x, y for beams, bins for C_l , etc)
Created using svn2git (installed with sudo gem install svn2git
):
svn2git svn+ssh://mekon.ph.imperial.ac.uk/Library/Subversion/Repository/MCMC --no-minimize-url --exclude TOIbeams.pickle --authors ../MCMC/authors-transform.txt
- Need
--no-minimize
since this repo has several projects at the top level. - Need
--exclude TOIbeams.pickle
since that file is too big for github. - Need
--authors ../MCMC/authors-transform.txt
to get full git-style author namesauthors-transform.txt
has been added to root of the project.
Push to github at the end (should I use --all -u
below?):
git remote add origin https://github.com/defjaf/MCMC.git
git push -u origin master
git push --all
git push --tags
(Also tried git push --mirror https://github.com/defjaf/MCMC.git
but this seems to be the official way...)
Note also that git svn show-ignore
seems to fail, alas.
I previously tried to follow these instructions, but the branch structure seems weird. Could be due to the same structure that required --no-minimize
above.
git svn clone svn+ssh://mekon.ph.imperial.ac.uk/Library/Subversion/Repository/MCMC --no-metadata -A authors-transform.txt --stdlayout ~/temp
with the following additions:
- remove large file:
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch ./TOIbeams.pickle' --prune-empty --tag-name-filter cat -- --all
- See https://help.github.com/articles/removing-sensitive-data-from-a-repository/
- For some reason, the master branch is called
origin/trunk
, so neededgit branch -m origin/trunk master
- Push to github at the end:
git push --mirror https://github.com/defjaf/MCMC.git