diff --git a/fastlib/u/dongryel/series_expansion/Makefile b/fastlib/u/dongryel/series_expansion/Makefile index 9f7f6a2406..1121b347c4 100644 --- a/fastlib/u/dongryel/series_expansion/Makefile +++ b/fastlib/u/dongryel/series_expansion/Makefile @@ -17,7 +17,7 @@ pseudo_4: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libda @echo '... Making bin/x86_64_Linux_check_gcc_/obj/u_dongryel_series_expansion_main.o' @mkdir -p /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj @cd /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/dongryel/Research/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c main.cc -o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/u_dongryel_series_expansion_main.o -/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libu_dongryel_series_expansion_series_expansion.h: /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/series_expansion.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/series_expansion_aux.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/kernel_derivative.h /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfastlib_fastlib_int.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/farfield_expansion.h +/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libu_dongryel_series_expansion_series_expansion.h: /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/series_expansion_aux.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/local_expansion.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/kernel_derivative.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/farfield_expansion.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/series_expansion.h /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfastlib_fastlib_int.h @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libu_dongryel_series_expansion_series_expansion.h' @mkdir -p /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON @touch /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libu_dongryel_series_expansion_series_expansion.h @@ -27,7 +27,7 @@ pseudo_9: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libda @echo '... Making bin/x86_64_Linux_check_gcc_/libu_dongryel_series_expansion_series_expansion.a' @mkdir -p /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_ @ar r /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libu_dongryel_series_expansion_series_expansion.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/u_dongryel_series_expansion_series_expansion_aux.o -/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/u_dongryel_series_expansion_series_expansion_aux.o: /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/series_expansion_aux.cc /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/series_expansion_aux.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/kernel_derivative.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/farfield_expansion.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/series_expansion.h /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfastlib_fastlib_int.h +/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/u_dongryel_series_expansion_series_expansion_aux.o: /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/series_expansion_aux.cc /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/series_expansion_aux.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/local_expansion.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/kernel_derivative.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/farfield_expansion.h /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion/series_expansion.h /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfastlib_fastlib_int.h @echo '... Making bin/x86_64_Linux_check_gcc_/obj/u_dongryel_series_expansion_series_expansion_aux.o' @mkdir -p /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj @cd /net/hc293/dongryel/Research/fastlib/u/dongryel/series_expansion && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/dongryel/Research/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c series_expansion_aux.cc -o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/u_dongryel_series_expansion_series_expansion_aux.o @@ -59,9 +59,9 @@ pseudo_9: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libda @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libfx_fx.h' @mkdir -p /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON @touch /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfx_fx.h -pseudo_30: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libpar_par.a /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a +pseudo_31: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libpar_par.a /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a @echo '*** Done with /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libpar_par.a /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a' -pseudo_32: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libpar_par.a +pseudo_33: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libpar_par.a @echo '*** Done with /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libpar_par.a' /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libpar_par.a: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/par_thread.o @echo '... Making bin/x86_64_Linux_check_gcc_/libpar_par.a' @@ -71,9 +71,9 @@ pseudo_32: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libc @echo '... Making bin/x86_64_Linux_check_gcc_/obj/par_thread.o' @mkdir -p /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj @cd /net/hc293/dongryel/Research/fastlib/par && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/dongryel/Research/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c thread.cc -o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/par_thread.o -pseudo_39: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a +pseudo_40: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a @echo '*** Done with /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a' -pseudo_41: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a +pseudo_42: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a @echo '*** Done with /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a' /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/math_geometry.o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/math_discrete.o @echo '... Making bin/x86_64_Linux_check_gcc_/libmath_math.a' @@ -87,7 +87,7 @@ pseudo_41: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libm @echo '... Making bin/x86_64_Linux_check_gcc_/obj/math_discrete.o' @mkdir -p /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj @cd /net/hc293/dongryel/Research/fastlib/math && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/dongryel/Research/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c discrete.cc -o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/math_discrete.o -pseudo_51: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a +pseudo_52: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a @echo '*** Done with /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a' /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/data_dataset.o @echo '... Making bin/x86_64_Linux_check_gcc_/libdata_data.a' @@ -105,9 +105,9 @@ pseudo_51: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libd @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libfile_file.h' @mkdir -p /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON @touch /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfile_file.h -pseudo_59: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a +pseudo_60: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a @echo '*** Done with /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a' -pseudo_61: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a +pseudo_62: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a @echo '*** Done with /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a' /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/file_textfile.o @echo '... Making bin/x86_64_Linux_check_gcc_/libfile_file.a' @@ -117,7 +117,7 @@ pseudo_61: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libc @echo '... Making bin/x86_64_Linux_check_gcc_/obj/file_textfile.o' @mkdir -p /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj @cd /net/hc293/dongryel/Research/fastlib/file && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/dongryel/Research/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c textfile.cc -o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/file_textfile.o -pseudo_66: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a +pseudo_67: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a @echo '*** Done with /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a' /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_datastore.o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_fx.o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_timer.o @echo '... Making bin/x86_64_Linux_check_gcc_/libfx_fx.a' @@ -135,7 +135,7 @@ pseudo_66: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libb @echo '... Making bin/x86_64_Linux_check_gcc_/obj/fx_datastore.o' @mkdir -p /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj @cd /net/hc293/dongryel/Research/fastlib/fx && gcc -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/dongryel/Research/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c datastore.c -o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_datastore.o -Wall -pseudo_77: /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a +pseudo_78: /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a @echo '*** Done with /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a' /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/la_uselapack.o @echo '... Making bin/x86_64_Linux_check_gcc_/libla_la.a' @@ -172,7 +172,7 @@ pseudo_77: /net/hc293/dongryel/Research/fastlib/bin_keep/x86_64_Linux_COMMON_gcc @echo '... Making /net/hc293/dongryel/Research/fastlib/la/blaspack.tgz' @echo 'Downloading the file using curl...' @cd /net/hc293/dongryel/Research/fastlib/la && curl -L -o blaspack.tgz "http://www.cc.gatech.edu/~garryb/fastlib/blaspack.tgz" -pseudo_89: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a +pseudo_90: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a @echo '*** Done with /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a' /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/col_col.o @echo '... Making bin/x86_64_Linux_check_gcc_/libcol_col.a' @@ -186,7 +186,7 @@ pseudo_89: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libc @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h' @mkdir -p /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON @touch /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h -pseudo_101: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a +pseudo_102: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a @echo '*** Done with /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a' /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a: /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_cc.o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_common.o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_ccmem.o /net/hc293/dongryel/Research/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_otrav.o @echo '... Making bin/x86_64_Linux_check_gcc_/libbase_base.a' diff --git a/fastlib/u/dongryel/series_expansion/build.py b/fastlib/u/dongryel/series_expansion/build.py index d43031f65a..6f4e4609f9 100644 --- a/fastlib/u/dongryel/series_expansion/build.py +++ b/fastlib/u/dongryel/series_expansion/build.py @@ -4,6 +4,7 @@ librule( sources = ["series_expansion_aux.cc"], # files that must be compiled headers = ["farfield_expansion.h", "kernel_derivative.h", + "local_expansion.h", "series_expansion.h", "series_expansion_aux.h"], # include files part of the 'lib' deplibs = ["fastlib:fastlib_int"] # depends on fastlib core diff --git a/fastlib/u/dongryel/series_expansion/farfield_expansion.h b/fastlib/u/dongryel/series_expansion/farfield_expansion.h index 05d6e9d3e4..0c0c7eaead 100644 --- a/fastlib/u/dongryel/series_expansion/farfield_expansion.h +++ b/fastlib/u/dongryel/series_expansion/farfield_expansion.h @@ -13,6 +13,9 @@ #include "kernel_derivative.h" #include "series_expansion_aux.h" +template +class LocalExpansion; + /** * Far field expansion class */ @@ -66,6 +69,9 @@ class FarFieldExpansion { /** Get the approximation order */ int get_order() const { return order_; } + /** Set the approximation order */ + void set_order(int new_order) { order_ = new_order; } + // interesting functions... /** @@ -86,7 +92,7 @@ class FarFieldExpansion { * Evaluates the far-field coefficients at the given point */ double EvaluateField(Matrix* data=NULL, int row_num=-1, - Vector* point=NULL); + Vector* x_q=NULL); /** * Initializes the current far field expansion object with the given @@ -99,7 +105,7 @@ class FarFieldExpansion { * Computes the required order for evaluating the far field expansion * for any query point within the specified region for a given bound. */ - int OrderForEvaluating(const DHrectBound &far_field_region) const; + int OrderForEvaluating(const DHrectBound<2> &far_field_region) const; /** * Computes the required order for converting to the local expansion @@ -110,8 +116,8 @@ class FarFieldExpansion { * @return the minimum approximation order required for the error, * -1 if approximation up to the maximum order is not possible */ - int OrderForConverting(const DHrectBound &far_field_region, - const DHrectBound &local_field_region, + int OrderForConverting(const DHrectBound<2> &far_field_region, + const DHrectBound<2> &local_field_region, double min_dist_sqd_regions, double required_bound, double *actual_error) const; @@ -131,12 +137,13 @@ class FarFieldExpansion { * Translate to the given local expansion. The translated coefficients * are added up to the passed-in local expansion coefficients. */ - void TranslateToLocal(LocalExpansion &se); + void TranslateToLocal + (LocalExpansion &se); }; template -void SeriesExpansion::AccumulateCoeffs +void FarFieldExpansion::AccumulateCoeffs (const Matrix& data, const Vector& weights, const ArrayList& rows, int order) { @@ -218,7 +225,7 @@ void SeriesExpansion::AccumulateCoeffs } template -void SeriesExpansion::RefineCoeffs +void FarFieldExpansion::RefineCoeffs (const Matrix& data, const Vector& weights, const ArrayList& rows, int order) { @@ -297,10 +304,10 @@ void SeriesExpansion::RefineCoeffs } template -double EvaluateField(Matrix* data=NULL, int row_num=-1, - Vector* point=NULL) { - - // dimension +double FarFieldExpansion:: + EvaluateField(Matrix* data, int row_num, Vector* x_q) { + + // dimension int dim = sea_->get_dimension(); // total number of coefficients @@ -310,6 +317,8 @@ double EvaluateField(Matrix* data=NULL, int row_num=-1, double bandwidth_factor = kd_.BandwidthFactor(kernel_.bandwidth_sq()); // the evaluated sum + double pos_multipole_sum = 0; + double neg_multipole_sum = 0; double multipole_sum = 0; // computed derivative map @@ -338,18 +347,268 @@ double EvaluateField(Matrix* data=NULL, int row_num=-1, // compute deriative maps based on coordinate difference. kd_.ComputeDirectionalDerivatives(x_q_minus_x_R, derivative_map); - // compute h_{\alpha}((x_q - x_R)/sqrt(2h^2)) + // compute h_{\alpha}((x_q - x_R)/sqrt(2h^2)) ((x_r - x_R)/h)^{\alpha} for(index_t j = 0; j < total_num_coeffs; j++) { ArrayList mapping = sea_->get_multiindex(j); - arrtmp[j] = kd_.ComputePartialDerivative(derivative_map, mapping); - } - - // tally up the multipole sum - for(index_t j = 0; j < total_num_coeffs; j++) { - multipole_sum += coeffs_[j] * arrtmp[j]; + double arrtmp = kd_.ComputePartialDerivative(derivative_map, mapping); + double prod = coeffs_[j] * arrtmp; + + if(prod > 0) { + pos_multipole_sum += prod; + } + else { + neg_multipole_sum += prod; + } } + multipole_sum = pos_multipole_sum + neg_multipole_sum; return multipole_sum; } +template + void FarFieldExpansion::Init + (const TKernel& kernel, const Vector& center, SeriesExpansionAux *sea) { + + // copy kernel type, center, and bandwidth squared + kernel_.Init(sqrt(kernel.bandwidth_sq())); + center_.Copy(center); + order_ = 0; + sea_ = sea; + + // initialize coefficient array + coeffs_.Init(sea_->get_max_total_num_coeffs()); + coeffs_.SetZero(); +} + +template + int FarFieldExpansion::OrderForEvaluating + (const DHrectBound<2> &far_field_region) const { + + // needs to be ported over from auton + return 0; +} + +template + int FarFieldExpansion::OrderForConverting + (const DHrectBound<2> &far_field_region, + const DHrectBound<2> &local_field_region, double min_dist_sqd_regions, + double required_bound, double *actual_error) const { + + // needs to be ported over from auton... + return 0; +} + +template + void FarFieldExpansion::PrintDebug + (const char *name, FILE *stream) const { + + + int dim = sea_->get_dimension(); + int total_num_coeffs = sea_->get_total_num_coeffs(order_); + + fprintf(stream, "----- SERIESEXPANSION %s ------\n", name); + fprintf(stream, "Far field expansion\n"); + fprintf(stream, "Center: "); + + for (index_t i = 0; i < center_.length(); i++) { + fprintf(stream, "%g ", center_[i]); + } + fprintf(stream, "\n"); + + fprintf(stream, "f("); + for(index_t d = 0; d < dim; d++) { + fprintf(stream, "x_q%d", d); + if(d < dim - 1) + fprintf(stream, ","); + } + fprintf(stream, ") = \\sum\\limits_{x_r \\in R} K(||x_q - x_r||) = "); + + for (index_t i = 0; i < total_num_coeffs; i++) { + ArrayList mapping = sea_->get_multiindex(i); + fprintf(stream, "%g ", coeffs_[i]); + + fprintf(stream, "(-1)^("); + for(index_t d = 0; d < dim; d++) { + fprintf(stream, "%d", mapping[d]); + if(d < dim - 1) + fprintf(stream, " + "); + } + fprintf(stream, ") D^(("); + for(index_t d = 0; d < dim; d++) { + fprintf(stream, "%d", mapping[d]); + + if(d < dim - 1) + fprintf(stream, ","); + } + fprintf(stream, ")) f(x_q - x_R)"); + if(i < total_num_coeffs - 1) { + fprintf(stream, " + "); + } + } + fprintf(stream, "\n"); +} + +template + void FarFieldExpansion::TranslateFromFarField + (const FarFieldExpansion &se) { + + double bandwidth_factor = kd_.BandwidthFactor(se.bandwidth_sq()); + int dim = sea_->get_dimension(); + int order = se.get_order(); + int total_num_coeffs = sea_->get_total_num_coeffs(order); + Vector prev_coeffs; + Vector prev_center; + const ArrayList < int > *multiindex_mapping = sea_->get_multiindex_mapping(); + const ArrayList < int > *lower_mapping_index = + sea_->get_lower_mapping_index(); + + ArrayList tmp_storage; + Vector center_diff; + Vector inv_multiindex_factorials; + + center_diff.Init(dim); + + // retrieve coefficients to be translated and helper mappings + prev_coeffs.Alias(se.get_coeffs()); + prev_center.Alias(se.get_center()); + tmp_storage.Init(sea_->get_dimension()); + inv_multiindex_factorials.Alias(sea_->get_inv_multiindex_factorials()); + + // no coefficients can be translated + if(order == 0) + return; + else + order_ = order; + + // compute center difference + for(index_t j = 0; j < dim; j++) { + center_diff[j] = prev_center[j] - center_[j]; + } + + for(index_t j = 0; j < total_num_coeffs; j++) { + + ArrayList gamma_mapping = multiindex_mapping[j]; + ArrayList lower_mappings_for_gamma = lower_mapping_index[j]; + double pos_coeff = 0; + double neg_coeff = 0; + + for(index_t k = 0; k < lower_mappings_for_gamma.size(); k++) { + + ArrayList inner_mapping = + multiindex_mapping[lower_mappings_for_gamma[k]]; + + int flag = 0; + double diff1; + + // compute gamma minus alpha + for(index_t l = 0; l < dim; l++) { + tmp_storage[l] = gamma_mapping[l] - inner_mapping[l]; + + if(tmp_storage[l] < 0) { + flag = 1; + break; + } + } + + if(flag) { + continue; + } + + diff1 = 1.0; + + for(index_t l = 0; l < dim; l++) { + diff1 *= pow(center_diff[l] / bandwidth_factor, tmp_storage[l]); + } + + double prod = prev_coeffs[lower_mappings_for_gamma[k]] * diff1 * + inv_multiindex_factorials + [sea_->ComputeMultiindexPosition(tmp_storage)]; + + if(prod > 0) { + pos_coeff += prod; + } + else { + neg_coeff += prod; + } + + } // end of k-loop + + coeffs_[j] += pos_coeff + neg_coeff; + + } // end of j-loop +} + +template +void FarFieldExpansion::TranslateToLocal + (LocalExpansion &se) { + + Vector pos_arrtmp, neg_arrtmp; + Matrix derivative_map; + Vector local_center; + Vector cent_diff; + Vector local_coeffs; + int local_order = se.get_order(); + int dimension = sea_->get_dimension(); + int total_num_coeffs = sea_->get_total_num_coeffs(order_); + int limit; + double bandwidth_factor = kd_.BandwidthFactor(se.bandwidth_sq()); + + // get center and coefficients for local expansion + local_center.Alias(se.get_center()); + local_coeffs.Alias(se.get_coeffs()); + cent_diff.Init(dimension); + + // if the order of the far field expansion is greater than the + // local one we are adding onto, then increase the order. + if(local_order < order_) { + se.set_order(order_); + } + + // compute Gaussian derivative + limit = 2 * order_ + 1; + derivative_map.Init(dimension, limit); + pos_arrtmp.Init(total_num_coeffs); + neg_arrtmp.Init(total_num_coeffs); + + // compute center difference divided by bw_times_sqrt_two; + for(index_t j = 0; j < dimension; j++) { + cent_diff[j] = (local_center[j] - center_[j]) / bandwidth_factor; + } + + // compute required partial derivatives + kd_.ComputeDirectionalDerivatives(cent_diff, derivative_map); + ArrayList beta_plus_alpha; + beta_plus_alpha.Init(dimension); + + for(index_t j = 0; j < total_num_coeffs; j++) { + + ArrayList beta_mapping = sea_->get_multiindex(j); + pos_arrtmp[j] = neg_arrtmp[j] = 0; + + for(index_t k = 0; k < total_num_coeffs; k++) { + + ArrayList alpha_mapping = sea_->get_multiindex(k); + for(index_t d = 0; d < dimension; d++) { + beta_plus_alpha[d] = beta_mapping[d] + alpha_mapping[d]; + } + double derivative_factor = + kd_.ComputePartialDerivative(derivative_map, beta_plus_alpha); + + double prod = coeffs_[k] * derivative_factor; + + if(prod > 0) { + pos_arrtmp[j] += prod; + } + else { + neg_arrtmp[j] += prod; + } + } // end of k-loop + } // end of j-loop + + Vector C_k_neg = sea_->get_neg_inv_multiindex_factorials(); + for(index_t j = 0; j < total_num_coeffs; j++) { + local_coeffs[j] += (pos_arrtmp[j] + neg_arrtmp[j]) * C_k_neg[j]; + } +} + #endif diff --git a/fastlib/u/dongryel/series_expansion/local_expansion.h b/fastlib/u/dongryel/series_expansion/local_expansion.h new file mode 100644 index 0000000000..6fc45df0b0 --- /dev/null +++ b/fastlib/u/dongryel/series_expansion/local_expansion.h @@ -0,0 +1,242 @@ +/** + * @file local_expansion.h + * + * The header file for the local expansion + */ + +#ifndef LOCAL_EXPANSION +#define LOCAL_EXPANSION + +#include + +#include "fastlib/fastlib.h" +#include "kernel_derivative.h" +#include "series_expansion_aux.h" + +template +class FarFieldExpansion; + +/** + * Local expansion class + */ +template +class LocalExpansion { + FORBID_COPY(LocalExpansion); + + public: + + typedef TKernel Kernel; + + typedef TKernelDerivative KernelDerivative; + + private: + + /** The type of the kernel */ + Kernel kernel_; + + /** The center of the expansion */ + Vector center_; + + /** The coefficients */ + Vector coeffs_; + + /** order */ + int order_; + + /** precomputed quantities */ + SeriesExpansionAux *sea_; + + /** Derivative computer based on the kernel passed in */ + KernelDerivative kd_; + + public: + + FarFieldExpansion() {} + + ~FarFieldExpansion() {} + + // getters and setters + + /** Get the coefficients */ + double bandwidth_sq() const { return kernel_.bandwidth_sq(); } + + /** Get the center of expansion */ + const Vector& get_center() const { return center_; } + + /** Get the coefficients */ + const Vector& get_coeffs() const { return coeffs_; } + + /** Get the approximation order */ + int get_order() const { return order_; } + + /** Set the approximation order */ + void set_order(int new_order) { order_ = new_order; } + + // interesting functions... + + /** + * Accumulates the local moment represented by the given reference + * data into the coefficients + */ + void AccumulateCoeffs(const Matrix& data, const Vector& weights, + const ArrayList& rows, int order); + + /** + * This does not apply for local coefficients. + */ + void RefineCoeffs(const Matrix& data, const Vector& weights, + const ArrayList& rows, int order); + + /** + * Evaluates the local coefficients at the given point + */ + double EvaluateField(Matrix* data=NULL, int row_num=-1, + Vector* x_q=NULL); + + /** + * Initializes the current local expansion object with the given + * center. + */ + void Init(const TKernel& kernel, const Vector& center, + SeriesExpansionAux *sea); + + /** + * Computes the required order for evaluating the far field expansion + * for any query point within the specified region for a given bound. + */ + int OrderForEvaluating(const DHrectBound<2> &far_field_region) const; + + /** + * Computes the required order for converting to the local expansion + * inside another region, so that the total error (truncation error + * of the far field expansion plus the conversion error) is bounded + * above by the given user bound. + * + * @return the minimum approximation order required for the error, + * -1 if approximation up to the maximum order is not possible + */ + int OrderForConverting(const DHrectBound<2> &far_field_region, + const DHrectBound<2> &local_field_region, + double min_dist_sqd_regions, + double required_bound, + double *actual_error) const; + + /** + * Prints out the series expansion represented by this object. + */ + void PrintDebug(const char *name="", FILE *stream=stderr) const; + + /** + * Translate from a far field expansion to the expansion here. + * The translated coefficients are added up to the ones here. + */ + void TranslateFromFarField(const FarFieldExpansion &se); + + /** + * Translate to the given local expansion. The translated coefficients + * are added up to the passed-in local expansion coefficients. + */ + void TranslateToLocal + (LocalExpansion &se); + +} + +template +void LocalExpansion::AccumulateCoeffs +(const Matrix& data, const Vector& weights, + const ArrayList& rows, int order) { + + if(order > order_) { + order_ = order; + } + + int dim = sea_->get_dimension(); + int total_num_coeffs = sea_->get_total_num_coeffs(order); + + // get inverse factorials (precomputed) + Vector neg_inv_multiindex_factorials; + neg_inv_multiindex_factorials.Alias + (sea_->get_neg_inv_multiindex_factorials()); + + // declare deritave mapping + Matrix derivative_map; + derivative_map.Init(dim, order + 1); + + // some temporary variables + Vector arrtmp; + arrtmp.Init(total_num_coeffs); + Vector x_r_minus_x_Q; + x_r_minus_x_Q.Init(dim); + + // sqrt two times bandwidth + double bandwidth_factor = kd_.BandwidthFactor(kernel_.bandwidth_sq()); + + // for each data point, + for(index_t r = 0; r < rows.size(); r++) { + + // get the row number + int row_num = rows[r]; + + // calculate x_r - x_Q + for(index_t d = 0; d < dim; d++) { + x_r_minus_x_Q[d] = (center_[d] - data.get(d, row_num)) / + bandwidth_factor; + } + + // precompute necessary partial derivatives based on coordinate difference + kd_.ComputeDirectionalDerivatives(x_r_minus_x_Q, derivative_map); + + // compute h_{beta}((x_r - x_Q) / sqrt(2h^2)) + for(index_t j = 0; j < total_num_coeffs; j++) { + ArrayList mapping = sea_->get_multiindex(j); + arrtmp[j] = kd_.ComputePartialDerivative(derivative_map, mapping); + } + + for(index_t j = 0; j < total_num_coeffs; j++) { + coeffs_[j] += neg_inv_multiindex_factorials[j] * weights[row_num] * + arrtmp[j]; + } + } // End of looping through each reference point. +} + +template + void LocalExpansion::PrintDebug + (const char *name, FILE *stream) const { + + + int dim = sea_->get_dimension(); + int total_num_coeffs = sea_->get_total_num_coeffs(order_); + + fprintf(stream, "----- SERIESEXPANSION %s ------\n", name); + fprintf(stream, "Local expansion\n"); + fprintf(stream, "Center: "); + + for (index_t i = 0; i < center_.length(); i++) { + fprintf(stream, "%g ", center_[i]); + } + fprintf(stream, "\n"); + + fprintf(stream, "f("); + for(index_t d = 0; d < dim; d++) { + fprintf(stream, "x_q%d", d); + if(d < dim - 1) + fprintf(stream, ","); + } + fprintf(stream, ") = \\sum\\limits_{x_r \\in R} K(||x_q - x_r||) = "); + + for (index_t i = 0; i < total_num_coeffs; i++) { + ArrayList mapping = sea_->get_multiindex(i); + fprintf(stream, "%g", coeffs_[i]); + + for(index_t d = 0; d < dim; d++) { + fprintf(stream, "(x_q%d - (%g))^%d ", d, center_[d], mapping[d]); + } + + if(i < total_num_coeffs - 1) { + fprintf(stream, " + "); + } + } + fprintf(stream, "\n"); +} + +#endif diff --git a/fastlib/u/dongryel/series_expansion/main.cc b/fastlib/u/dongryel/series_expansion/main.cc index b23787c2bd..7ca9b40358 100644 --- a/fastlib/u/dongryel/series_expansion/main.cc +++ b/fastlib/u/dongryel/series_expansion/main.cc @@ -7,6 +7,7 @@ #include "fastlib/fastlib.h" #include "kernel_derivative.h" +#include "farfield_expansion.h" #include "series_expansion.h" #include "series_expansion_aux.h"