mikestillman / m2 Goto Github PK
View Code? Open in Web Editor NEWThis project forked from macaulay2/m2
The primary source code repository for Macaulay2
This project forked from macaulay2/m2
The primary source code repository for Macaulay2
Should we test more ffpack fields?
Are we testing all of the ffpack linear algebra functions implemented in M2?
we should figure out, how to debug memory errors using valgrind+garbage collector,
or is it possible to disable gc?
(recall the bug in ColumnRankProfile, see
https://groups.google.com/forum/#!topic/ffpack-devel/2mwmhJpvQQ4
)
somewhat useful:
GC_DONT_GC environment flag
another helpful way is replacing GC_MALLOC
with malloc
using LD_PRELOAD
e.g.
with malloc.c:
#include <stdio.h>
#include <stdlib.h>
void * GC_malloc(size_t a)
{
// printf("calling my malloc\n");
return malloc(a);
}
gcc -fPIC -shared malloc.c -o libmygc.so
export LD_PRELOAD = ./libmygc.so
configuring and building flint succeeds, but
flint seems to link with gmp rather than with mpir and the check fails.
I looked at the generated Makefile which always seems to contain lgmp
I suggest that at least if we configure M2 with --enable-build-libraries=mpir
,
flint gets passed configure option --with-mpir
and if that is the case, flint will link with MPIR
( I have a patch for flint's configure file)
testNorm(CC_53) -- fails from time to time
testNorm(CC_100) -- fails from time to time
testNorm(CC_200) -- fails from time to time
testNorm(CC_54) -- fails from time to time
here is the minimal CC_53 failing setup :
entry := toCC( .81662363033492791p53, .97905576575740838p53 )
MM := mutableMatrix {{ entry }}
a := norm MM
b := norm matrix M
ans := (flatten entries MM)/abs//max;
a==b --ok
a==ans --false
((flatten entries MM)/abs)#0 ==a --false
if the failure is not reproducible, I will provide more information.
Collect my list of bugs for factorization and characteristic sets to Jakob. He can try them on the latest devel versions of that library.
jk: put tests into Macaulay2/tests ?
R = ZZpFFPACK( 2 );
M = mutableMatrix(R,10,10)
while (zero M ) do (fillMatrix M ) --infinite loop; M always zero...
needs some debugging.
Hi Mike,
I just completed an upstream report related to out Flint patch:
flintlib/flint#43
flintlib/flint#44
Are some of our/your remaining changes to Flint worthwhile for an upstream report?
have no clue why.
Workaround:
add '-' at the start of correspionding line in
Macaulay2/bin/Makefile
if you want to use the older mpfr 3.0.1
in the linalg branch
you have to replace the
mpz_clears() call in
M2/Macaulay2/e/cra.cpp
by single mpz_clear calls:
// mpz_clears(a1,a2,u1,u2,q,h,mhalf,u2sqr,a2sqr,(void *)0);
mpz_clear(a1);
mpz_clear(a2);
mpz_clear(u1);
mpz_clear(u2);
mpz_clear(q);
mpz_clear(h);
mpz_clear(mhalf);
mpz_clear(u2sqr);
mpz_clear(a2sqr);
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.