Added LocalExpansion class (to be ported over from SeriesExpansion class)

This commit is contained in:
Dongryeol Lee
2007-09-19 23:55:52 +00:00
parent 98fc958b6b
commit 3cc66ad2dc
5 changed files with 534 additions and 31 deletions
+13 -13
View File
@@ -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'
@@ -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
@@ -13,6 +13,9 @@
#include "kernel_derivative.h"
#include "series_expansion_aux.h"
template<typename TKernel, typename TKernelDerivative>
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<TKernel, TKernelDerivative> &se);
};
template<typename TKernel, typename TKernelDerivative>
void SeriesExpansion<TKernel, TKernelDerivative>::AccumulateCoeffs
void FarFieldExpansion<TKernel, TKernelDerivative>::AccumulateCoeffs
(const Matrix& data, const Vector& weights, const ArrayList<int>& rows,
int order) {
@@ -218,7 +225,7 @@ void SeriesExpansion<TKernel, TKernelDerivative>::AccumulateCoeffs
}
template<typename TKernel, typename TKernelDerivative>
void SeriesExpansion<TKernel, TKernelDerivative>::RefineCoeffs
void FarFieldExpansion<TKernel, TKernelDerivative>::RefineCoeffs
(const Matrix& data, const Vector& weights, const ArrayList<int>& rows,
int order) {
@@ -297,10 +304,10 @@ void SeriesExpansion<TKernel, TKernelDerivative>::RefineCoeffs
}
template<typename TKernel, typename TKernelDerivative>
double EvaluateField(Matrix* data=NULL, int row_num=-1,
Vector* point=NULL) {
// dimension
double FarFieldExpansion<TKernel, TKernelDerivative>::
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<int> 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<typename TKernel, typename TKernelDerivative>
void FarFieldExpansion<TKernel, TKernelDerivative>::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<typename TKernel, typename TKernelDerivative>
int FarFieldExpansion<TKernel, TKernelDerivative>::OrderForEvaluating
(const DHrectBound<2> &far_field_region) const {
// needs to be ported over from auton
return 0;
}
template<typename TKernel, typename TKernelDerivative>
int FarFieldExpansion<TKernel, TKernelDerivative>::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<typename TKernel, typename TKernelDerivative>
void FarFieldExpansion<TKernel, TKernelDerivative>::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<int> 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<typename TKernel, typename TKernelDerivative>
void FarFieldExpansion<TKernel, TKernelDerivative>::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 <int> 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 <int> gamma_mapping = multiindex_mapping[j];
ArrayList <int> 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 <int> 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<typename TKernel, typename TKernelDerivative>
void FarFieldExpansion<TKernel, TKernelDerivative>::TranslateToLocal
(LocalExpansion<TKernel, TKernelDerivative> &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<int> beta_plus_alpha;
beta_plus_alpha.Init(dimension);
for(index_t j = 0; j < total_num_coeffs; j++) {
ArrayList<int> beta_mapping = sea_->get_multiindex(j);
pos_arrtmp[j] = neg_arrtmp[j] = 0;
for(index_t k = 0; k < total_num_coeffs; k++) {
ArrayList<int> 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
@@ -0,0 +1,242 @@
/**
* @file local_expansion.h
*
* The header file for the local expansion
*/
#ifndef LOCAL_EXPANSION
#define LOCAL_EXPANSION
#include <values.h>
#include "fastlib/fastlib.h"
#include "kernel_derivative.h"
#include "series_expansion_aux.h"
template<typename TKernel, typename TKernelDerivative>
class FarFieldExpansion;
/**
* Local expansion class
*/
template<typename TKernel, typename TKernelDerivative>
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<int>& rows, int order);
/**
* This does not apply for local coefficients.
*/
void RefineCoeffs(const Matrix& data, const Vector& weights,
const ArrayList<int>& 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<TKernel, TKernelDerivative> &se);
}
template<typename TKernel, typename TKernelDerivative>
void LocalExpansion<Tkernel, TKernelDerivative>::AccumulateCoeffs
(const Matrix& data, const Vector& weights,
const ArrayList<int>& 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<int> 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<typename TKernel, typename TKernelDerivative>
void LocalExpansion<TKernel, TKernelDerivative>::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<int> 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
@@ -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"