You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2009 |
Jan
(3) |
Feb
(1) |
Mar
|
Apr
|
May
(5) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Kshipra S. <ksh...@pa...> - 2010-03-23 09:06:00
|
Hi All, I am writing to you for Packt Publishing, the publishers of computer related books. We are planning to extend our catalogue of books based on Scientific Computing Tools and are currently inviting authors interested in writing for Packt. This doesn't need any previous writing experience. Just an expert knowledge of your subject and a passion to share it with others is all that we require. So, if you love Apophenia and are interested in authoring a book, here's an opportunity knocking your door. Write to us with your Apophenia book ideas at au...@pa.... Even if you don't have a book idea and are simply interested in authoring a book, we are still keen to hear from you. More details about the opportunity are available at: http://authors.packtpub.com/content/scientific-compting-tools-write-Packt Thanks Kshipra Singh Author Relationship Manager Packt Publishing www.PacktPub.com Skype: kshiprasingh15 Twitter: http://twitter.com/kshipras Interested in becoming an author? Visit http://authors.packtpub.com for all the information you need about writing for Packt. |
|
From: Matt P. D. <ma...@gm...> - 2009-05-12 18:30:11
|
Hi!
I have encountered an issue when trying to compile the library under
MinGW32 -- one of the files ("vasnprintf.c") seems to expect presence of
POSIX-style "alloc.h" and fails due to its lack. I think that on MinGW32
the relevant header defining the mem. alloc. functions is "malloc.h"
(alternatively, there is also glib-2.0's "galloca.h"), but, as far as I
recall, "alloc.h" is not and has never been a part of MinGW32 (or any
well-known/googleable package/library).
Hence - is MinGW32 even supported or am I missing something (and if so,
what would you suggest on how to proceed)?
Below is the error message resulting from the failed build attempt:
$ make
make all-am
make[1]: Entering directory `/home/matt/apophenia-0.22'
if /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I. -g -Wall -I./ -I
/usr/include/mysql -lpthread -g -O2 -MT vasnprintf.lo -MD -MP -MF
".deps/vasnprintf.Tpo" -c -o v
asnprintf.lo `test -f 'vasprintf/vasnprintf.c' || echo
'./'`vasprintf/vasnprintf.c; \
then mv -f ".deps/vasnprintf.Tpo" ".deps/vasnprintf.Plo"; else
rm -f ".deps/vasnprintf.T
po"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -Wall -I./ -I/usr/include/mysql
-lpthread -g -O2 -MT vasnpri
ntf.lo -MD -MP -MF .deps/vasnprintf.Tpo -c vasprintf/vasnprintf.c
-DDLL_EXPORT -DPIC -o .libs/v
asnprintf.o
vasprintf/vasnprintf.c:29:21: error: alloca.h: No such file or directory
vasprintf/vasnprintf.c: In function 'vasnprintf':
vasprintf/vasnprintf.c:156: warning: implicit declaration of function
'alloca'
vasprintf/vasnprintf.c:156: warning: incompatible implicit declaration
of built-in function 'all
oca'
make[1]: *** [vasnprintf.lo] Error 1
make[1]: Leaving directory `/home/matt/apophenia-0.22'
make: *** [all] Error 2
Best,
Matt
|
|
From: Sergey P. <pl...@cs...> - 2009-05-08 05:56:51
|
On 05/07/2009 06:10 PM, B K wrote: > I haven't used either myself, but they may be more what you have in mind Thanks for the information. marray and tensor are not very good because they are allowing access only to single elements of a multidimentional array. This is suboptimal: using GSL's matrix structure fields (tda in particular) I can easily slice some of the dimensions of multarrays without moving a single bit of their contents. I have my own implementation that allows me to slice certain dimensions, but it gets hairy, when I need to provide a really arbitrary slicing. Inspired by your library I googled a little and found this paper: http://www.springerlink.com/content/2tdwv88rr5m8hl11/ which talks exactly about implementing multidimensional arrays on top of a DBMS system. Compared to the idea you are describing, where each dimension has its separate field (and takes additional memory just for these (computable) indices), the idea of the paper is to pre-compute indices and then just pass sequences to DBMS to extract the matrices (something similar to what apop_db_to_crosstab does). Too bad SQL queries becomes unwieldy and a special preprocessor is required which sqlite seems to not have :( In any case, thanks for the library and a different view on data modeling. -- Sergey |
|
From: B K <bkl...@gm...> - 2009-05-08 00:11:09
|
Hi, Sergey. There is one function for querying out a 2-D matrix, apop_db_to_crosstab. Given a database table listing dimensions and values, like dim1 dim2 val 1 2 8 1 1 7 2 1 5 2 2 3 the function will produce a matrix of the form 7 8 5 3. The database may have more columns for more dimensions, in which case you could pull out slices using a query like "select dim1, dim3, val where dim2=0". Or you could not bother with the crosstabbing function and just read each row as a multidimensional vector. The db-to-crosstab is about all Apohenia does readily, because that's the most common thing one sees in the statistics context. If you want more from your multidimensional matrices, you may find more use in one of the two sister projects implementing a multidimensional array extension to the GSL and a tensor extension: http://savannah.nongnu.org/projects/marray/ and http://savannah.nongnu.org/projects/tensor/ . I haven't used either myself, but they may be more what you have in mind. Regards, B Klemens 2009/5/4 Sergey Plis <pl...@cs...>: > Hi! > > I have stumbled upon apophenia library online and got excited by the > idea of fusing databases and scientific computation. What I can't get > from documentation is how to create multidimensional arrays. I mean > databases from which I can query 2D slices as gls_matrices. It seems > like the feature is provided. > > Thank you! > > -- > Sergey > > ------------------------------------------------------------------------------ > Register Now & Save for Velocity, the Web Performance & Operations > Conference from O'Reilly Media. Velocity features a full day of > expert-led, hands-on workshops and two days of sessions from industry > leaders in dedicated Performance & Operations tracks. Use code vel09scf > and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf > _______________________________________________ > Apophenia-discuss mailing list > Apo...@li... > https://lists.sourceforge.net/lists/listinfo/apophenia-discuss > |
|
From: Thomas La B. <bo...@gf...> - 2009-05-04 21:23:48
|
A little background first: I am running
Ubuntu 9.04 64-bit
Codeblocks 8.02
Apophenia 0.22-28
and I am trying to learn c, linux, and apophenia at the same time. I
have gcc, gsl and sqlite installed. I have successfully compiled and run
a gsl example, so gcc and gsl are OK. I compiled and installed apophenia
and then tried to compile the following Apophenia example:
#include <apop.h>
int main(){
int draws = 1e7;
int bins = 100;
double mu = 0.492; //also try 3./8.
double sigmasq = 0.093; //also try 1./24.
gsl_rng *r = apop_rng_alloc(0);
apop_data *d = apop_data_alloc(0, draws, 1);
apop_model *m = apop_beta_from_mean_var(mu, sigmasq);
for (int i =0; i < draws; i++)
apop_draw(apop_data_ptr(d, i, 0), r, m);
Apop_settings_add_group(&apop_histogram, apop_histogram, d, bins)
apop_histogram_normalize(&apop_histogram);
apop_plot_histogram(&apop_histogram, NULL);
}
and got the following errors
/usr/include/apophenia/apop.h|3|error: apophenia/model.h: No such file
or directory|
/home/thomas/Desktop/drawbeta.c||In function ‘main’:|
/home/thomas/Desktop/drawbeta.c|10|warning: implicit declaration of
function ‘apop_beta_from_mean_var’|
/home/thomas/Desktop/drawbeta.c|10|warning: initialization makes pointer
from integer without a cast|
/home/thomas/Desktop/drawbeta.c|11|error: ‘for’ loop initial declaration
used outside C99 mode|
/home/thomas/Desktop/drawbeta.c|12|warning: implicit declaration of
function ‘apop_draw’|
/home/thomas/Desktop/drawbeta.c|13|error: ‘apop_histogram’ undeclared
(first use in this function)|
/home/thomas/Desktop/drawbeta.c|13|error: (Each undeclared identifier is
reported only once|
/home/thomas/Desktop/drawbeta.c|13|error: for each function it appears in.)|
/home/thomas/Desktop/drawbeta.c|13|error: ‘apop_histogram_settings_free’
undeclared (first use in this function)|
/home/thomas/Desktop/drawbeta.c|13|error: ‘apop_histogram_settings_copy’
undeclared (first use in this function)|
/home/thomas/Desktop/drawbeta.c|13|warning: implicit declaration of
function ‘apop_histogram_settings_alloc’|
/home/thomas/Desktop/drawbeta.c|13|warning: passing argument 5 of
‘apop_settings_group_alloc’ makes pointer from integer without a cast|
/home/thomas/Desktop/drawbeta.c|15|warning: passing argument 2 of
‘apop_plot_histogram’ makes integer from pointer without a cast|
/home/thomas/Desktop/drawbeta.c|15|error: too few arguments to function
‘apop_plot_histogram’|
/home/thomas/Desktop/drawbeta.c|16|warning: control reaches end of
non-void function|
||=== Build finished: 8 errors, 7 warnings ===|
apop.h expands to
#include <apophenia/db.h>
#include <apophenia/asst.h>
#include <apophenia/model.h>
#include <apophenia/types.h>
#include <apophenia/stats.h>
#include <apophenia/output.h>
#include <apophenia/mapply.h>
#include <apophenia/settings.h>
#include <apophenia/bootstrap.h>
#include <apophenia/histogram.h>
#include <apophenia/regression.h>
#include <apophenia/conversions.h>
#include <apophenia/likelihoods.h>
#include <apophenia/missing_data.h>
#include <apophenia/linear_algebra.h>
//Part of the intent of a convenience header like this is that you
//don't have to remember what else you're including. So here are
//some other common GSL headers:
#include <gsl/gsl_rng.h>
#include <gsl/gsl_sort.h>
#include <gsl/gsl_eigen.h>
#include <gsl/gsl_histogram.h>
#include <gsl/gsl_sort_vector.h>
#include <gsl/gsl_permutation.h>
#include <gsl/gsl_integration.h>
//And common headers for other uses (such as seeding an RNG):
#include <time.h>
#include <unistd.h>
All the headers EXCEPT for the offending model.h appear to be in
/usr/include/apophenia. model.h is in /usr/include/apophenia/model. So,
the question is, what is wrong here with my install of apophenia and how
do I fix it?
Tom
|
|
From: Sergey P. <pl...@cs...> - 2009-05-04 20:37:06
|
Hi! I have stumbled upon apophenia library online and got excited by the idea of fusing databases and scientific computation. What I can't get from documentation is how to create multidimensional arrays. I mean databases from which I can query 2D slices as gls_matrices. It seems like the feature is provided. Thank you! -- Sergey |
|
From: Damion M. <dam...@ir...> - 2009-02-03 16:16:41
|
Hi,
I am running Cygwin (on XP) with sqlite3 v 3.6.2-1
I compiled Apophenia ok, but when I try to run any program that
uses a sqlite database, I get an error, either:
callback requested query abort
or:
assertion "apop_table_exists(tabname, 0)" failed: file "apop_conversions.c"
line 713
I attach the above error messages that I got from the sample C programs that
come with Apophenia.
My guess is that something has changed between sqlite and Apophenia
since about a year ago; back then I had compiled and used Apophenia with sqlite
and had no problem.
(I have tried the sample C program that comes with sqlite and that works fine.)
Many thanks.
All the best,
Damion
|
|
From: Shige S. <shi...@gm...> - 2009-01-30 19:47:37
|
Hi Ben, That is exactly where the problem was. After I set the environment variable (LD_LIBRARY_PATH) correctly, the problem goes away. Many thanks. Great work, by the way. Best, Shige On Fri, Jan 30, 2009 at 11:11 AM, B K <bkl...@gm...> wrote: > > > 2009/1/30 Shige Song <shi...@gm...> > > Dear All, >> >> I have just apophenia 0.21 compiled and installed on my Unbuntu 8.10 box. >> I was able to build the test program (in the "tests" subdirectory) but could >> not get it running. When I typed "./test" I got error message "./test: error >> while loading shared libraries: libapophenia.so.0: cannot open shared object >> file: No such file or directory." >> >> I checked the installed directory (/usr/local/lib), I can see " >> libapophenia.la", "libapophenia.so", "libapophenia.so.0", and >> "libapophenia.so.0.0.0". Can anybody tell me how to fix this? >> >> Many thanks. >> >> Best, >> Shige >> > > My first guess is that this is a problem with your library path, probably > the environment variable named LD_LIBRARY_PATH. This is what the system > checks during both compile time and run time to find libraries. The make > utility sets the libpath during compile time, but you may have to set it > yourself during run time. If you don't already have a copy of _Modeling with > Data_, download a PDF of it at modelingwithdata.org and have a look at > Appendix A, which covers some of the details of path-setting in detail. > There's also an online appendix on the same site which covers some of these > issues. > > Please let us know if that's the problem (or not), > > Ben > |
|
From: B K <bkl...@gm...> - 2009-01-30 19:11:21
|
2009/1/30 Shige Song <shi...@gm...> > Dear All, > > I have just apophenia 0.21 compiled and installed on my Unbuntu 8.10 box. I > was able to build the test program (in the "tests" subdirectory) but could > not get it running. When I typed "./test" I got error message "./test: error > while loading shared libraries: libapophenia.so.0: cannot open shared object > file: No such file or directory." > > I checked the installed directory (/usr/local/lib), I can see " > libapophenia.la", "libapophenia.so", "libapophenia.so.0", and > "libapophenia.so.0.0.0". Can anybody tell me how to fix this? > > Many thanks. > > Best, > Shige > My first guess is that this is a problem with your library path, probably the environment variable named LD_LIBRARY_PATH. This is what the system checks during both compile time and run time to find libraries. The make utility sets the libpath during compile time, but you may have to set it yourself during run time. If you don't already have a copy of _Modeling with Data_, download a PDF of it at modelingwithdata.org and have a look at Appendix A, which covers some of the details of path-setting in detail. There's also an online appendix on the same site which covers some of these issues. Please let us know if that's the problem (or not), Ben |
|
From: Shige S. <shi...@gm...> - 2009-01-30 15:21:15
|
Dear All, I have just apophenia 0.21 compiled and installed on my Unbuntu 8.10 box. I was able to build the test program (in the "tests" subdirectory) but could not get it running. When I typed "./test" I got error message "./test: error while loading shared libraries: libapophenia.so.0: cannot open shared object file: No such file or directory." I checked the installed directory (/usr/local/lib), I can see " libapophenia.la", "libapophenia.so", "libapophenia.so.0", and "libapophenia.so.0.0.0". Can anybody tell me how to fix this? Many thanks. Best, Shige |
|
From: Mary E. F. <mfi...@bu...> - 2008-12-01 19:44:49
|
Hi ,
I am having trouble install apophenia-0.21 on my 64-bit linux system.
I have successfully installed gsl-1.11 and sqlite-3.6.6.2 under the
install dir /data
Below are the errors I get when I run make:
genomics:/data/apophenia-0.21# ./configure --prefix=/data/apophenia-0.21
genomics:/data/apophenia-0.21# make
make all-am
make[1]: Entering directory `/data/apophenia-0.21'
if /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I. -g -Wall -I./ -I/usr/include/mysql -pthread -g -O2 -MT
apop_conversions.lo -MD -MP -MF ".deps/apop_conversions.Tpo" -c -o
apop_conversions.lo apop_conversions.c; \
then mv -f ".deps/apop_conversions.Tpo" ".deps/apop_conversions.Plo";
else rm -f ".deps/apop_conversions.Tpo"; exit 1; fi
mkdir .libs
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -Wall -I./ -I/usr/include/mysql
-pthread -g -O2 -MT apop_conversions.lo -MD -MP -MF
.deps/apop_conversions.Tpo -c apop_conversions.c -fPIC -DPIC -o
.libs/apop_conversions.o
In file included from db.h:4,
from conversions.h:11,
from apop_conversions.c:4:
types.h:7:25: gsl/gsl_rng.h: No such file or directory
types.h:8:28: gsl/gsl_matrix.h: No such file or directory
In file included from db.h:4,
from conversions.h:11,
from apop_conversions.c:4:
types.h:85: error: syntax error before "gsl_vector"
The error is that it cannot find gsl/gsl_rng.h, but I have added those
dirs to my path and created a ld.so.conf.d file for gsl, sqlite, and
apophenia.
--
Thanks
Mary Ellen
|
|
From: B K <bkl...@gm...> - 2008-01-16 19:35:52
|
Dear model estimator,
The system for modifying model settings has been changed significantly,
and the shift merits more than a single line in the ChangeLog. So here's
a summary of the changes, and their motivation, pros and cons.
Apophenia is really only based on two objects, the apop_data set and
the apop_model. Data sets come in a pretty standard form, so the data
object is basically settled. But describing a statistical, agent-based,
social, or physical model in a reasonably standardized form is much more
difficult, primarily because every model has significantly different
settings. E.g., an MLE requires a method of search (conjugate gradient,
simplex, simulated annealing), and a histogram needs the number of slots
to be filled with data.
Apophenia's former way of doing things was to have two elements of the
apop_model struct: the method_settings and the model_settings, which was
sufficient for most purposes. You could set your histogram's parameters,
and pick a maximum likelihood method, and there would be no conflict. But
with only two slots, things started to get a bit crowded, and it was
hard to work out how to retain space for applying multiple estimation
methods to one model, or how to put multilevel models into a single model
(rather than chaining them together in various ways).
So, the method_settings and model_settings elements have been replaced
with a single list, which is simply named settings, which can hold an
arbitrary number of groups of settings. For example, you can have a
set of closed-form variables for estimating the log likelihood, and a
histogram for making random draws.
To get/set a setting, you would need to specify the model, the settings
group, and the name of the setting itself. This is much like a config
file (or for Windows users, a .ini file), which would have settings
divided into sections, like
[MLE]
verbose = 0
method = APOP_CG_PR
[least squares]
weights = your_weight_vector
[histogram]
bins = {0.1, 0.3, 0.2,...}
Using it
If you don't need to change settings from a model's default, you don't
need to care about any of this; a form like
> apop_model_show(apop_estimate(your_data_here, apop_ols));
still works fine.
If you do need to change settings, then the process takes another step
or two. Here's a sample:
1 apop_data *data = your_data_here;
2 apop_data *w = your_weights_here;
3 apop_model *m = apop_model_copy(apop_wls);
4 Apop_settings_alloc(m, apop_ls, data);
5 Apop_settings_add(m, apop_ls, weights, w);
6 apop_model *est = apop_estimate(data, *m);
Line three establishes the baseline form of the model. Line four adds
a settings group of type apop_ls_settings to the model. If you check the
manual for apop_ls_settings_alloc, you'll see that it takes one
argument---the input data---and the inputs to the alloc function appear
after the model and settings group name. Line five sets the weights
element in that group to w, and looks like the config-file format above.
Also, the output to any of Apophenia's estimations will have an
appropriate group of settings allocated, so you can chain estimations
pretty easily. Continuing the above example, you could re-estimate with
an alternative set of weights via:
> Apop_settings_add(est, apop_ls, weights, weight_set_two);
> apop_model *est2 = apop_estimate(data, *est);
[Notice that the 'settings_add' function really just modifies the setting.]
Many people are incredibly averse to additional lines of code, so there's
a convenience macro to allocate and modify a setting on the same line
(joining lines 4 and 5 above):
> Apop_settings_alloc_add(m, apop_ls, weights, w, data);
If you need to read a setting, such as to check whether things have
changed after an estimation, use:
Apop_settings_get(m, apop_ls, weights);
Notice the use of a single capital to remind you that you are using a
macro, and so surprising errors can crop up. Here in the modern day, we
read things like APOP_SETTINGS_ALLOC_ADD as yelling, but if you prefer
all caps to indicate macros, those work as well.
For just using a model, that's about 100% of what you need to know, and
you can just skip to the optimistic conclusion below.
Writing new settings
To store the settings for your own models, you don't necessarily
need any of this. The apop_model structure has a void pointer named
more which you can use as you see fit. If more_size is larger than zero
(i.e., you set it to sizeof(your_struct)), then it will be copied via
memcpy as necessary. Apohenia's estimation routines will never impinge
on this item, so do what you feel with it.
If you do want to use the settings system to set up a new model, then
you will need four items. This is the sort of boilerplate that will
be familiar to users of object oriented languages in the style of C++
or Java. Let your settings group be named ysg; then you will need
--The settings struct
typedef struct {
...
} ysg_settings
--The allocate function
ysg_settings *ysg_settings_alloc(...){
ysg_settings *out = malloc(sizeof(ysg_settings));
/* Give default values for all elements here. */
return out; }
--The copy function
void *ysg_settings_copy(ysg_settings *copyme) {
ysg_settings *out = malloc(sizeof(ysg_settings));
...
return out; }
--The free function, which can be as brief as:
void ysg_settings_free(ysg_settings *copyme) {
free(copyme);
}
(but may include a freeing of pointed-to subelements as necessary).
The names are not negotiable: when you call
> Apop_settings_alloc(m, ysg, ...)
the macro will look for ysg_settings, ysg_settings_alloc, et cetera.
The lines-of-code averse will cringe at having to write such boilerplate
code (I do), but we've tried a few alternatives, and it's the least of
all evils.
You can retrieve the whole group or individual elements via:
> Apop_settings_get_group(m, ysg)
or the one-element macro mentioned above,
> Apop_settings_get(m, ysg, an_element)
As you saw above, once the typedef/alloc/copy/free machinery is written,
you can declare, get, and set in a reasonably graceful manner.
In conclusion
OK, thanks for bearing with these exceptionally user-visible changes, and
I hope you find that beyond the main goal of allowing models to go through
an arbitrary number of filters, it does make your code a little cleaner.
This has good odds of being the last major reform the basic system sees,
meaning that from here on out it's just a question of adding more models,
tests, and estimation routines.
Bk
PS: On to new business, the next item on the reform agenda is
representations of multidimensional histograms. The GSL only provides 1-
and 2-d histograms, which is a somewhat low limit. The problem is that
in many dimensions, writing down the full grid becomes infeasible, and we
need to instead use a list representing a sparse matrix---but smoothing,
integrating over a range, or otherwise giving a good representation
of a high-dimensional surface is nontrivial. Suggestions (or better,
contributions of code) are welcome.
|
|
From: <jan...@fr...> - 2007-12-02 08:18:42
|
Hi All, =20 My question is how to compile the Apophenia library with Dev-c++ environment ?=20 =20 Regards, =20 Janos =20 =20 =20 ______________________________________________________ Kor=E1n keltem, hol az arany? :-) =20 |
|
From: <ja...@gy...> - 2007-12-02 08:12:52
|
Hi All, =20 My question is how to compile the Apophenia library with Dev-c++ environment ?=20 =20 Regards, =20 Janos =20 =20 =20 ______________________________________________________ Kor=E1n keltem, hol az arany? :-) =20 |