pytexgen 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pytexgen-1.0.0/.claude/settings.local.json +10 -0
- pytexgen-1.0.0/.gitignore +23 -0
- pytexgen-1.0.0/CMakeLists.txt +96 -0
- pytexgen-1.0.0/CSparse/CMakeLists.txt +5 -0
- pytexgen-1.0.0/CSparse/Demo/Makefile +39 -0
- pytexgen-1.0.0/CSparse/Demo/README.txt +4 -0
- pytexgen-1.0.0/CSparse/Demo/cs_demo.c +286 -0
- pytexgen-1.0.0/CSparse/Demo/cs_demo.h +15 -0
- pytexgen-1.0.0/CSparse/Demo/cs_demo.out +170 -0
- pytexgen-1.0.0/CSparse/Demo/cs_demo1.c +27 -0
- pytexgen-1.0.0/CSparse/Demo/cs_demo2.c +9 -0
- pytexgen-1.0.0/CSparse/Demo/cs_demo3.c +9 -0
- pytexgen-1.0.0/CSparse/Doc/ChangeLog +250 -0
- pytexgen-1.0.0/CSparse/Doc/License.txt +19 -0
- pytexgen-1.0.0/CSparse/Doc/lesser.txt +504 -0
- pytexgen-1.0.0/CSparse/Include/cs.h +143 -0
- pytexgen-1.0.0/CSparse/Lib/Makefile +35 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/Contents.m +53 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/Makefile +259 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/README.txt +1 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/ccspy.m +67 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_add.m +17 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_add_mex.c +28 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_amd.m +25 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_amd_mex.c +23 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_chol.m +19 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_chol_mex.c +28 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_cholsol.m +17 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_cholsol_mex.c +28 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_counts.m +19 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_counts_mex.c +32 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_dmperm.m +64 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_dmperm_mex.c +41 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_dmsol.m +33 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_dmspy.m +66 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_droptol.m +18 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_droptol_mex.c +26 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_esep.m +20 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_etree.m +19 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_etree_mex.c +33 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_gaxpy.m +15 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_gaxpy_mex.c +22 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lsolve.m +17 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lsolve_mex.c +59 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_ltsolve.m +15 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_ltsolve_mex.c +21 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lu.m +29 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lu_mex.c +53 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lusol.m +23 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lusol_mex.c +40 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_make.m +169 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_mex.c +118 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_mex.h +10 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_multiply.m +16 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_multiply_mex.c +25 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_must_compile.m +23 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_nd.m +27 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_nsep.m +18 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_permute.m +15 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_permute_mex.c +30 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_print.m +14 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_print_mex.c +20 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qleft.m +36 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qr.m +33 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qr_mex.c +46 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qright.m +26 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qrsol.m +23 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qrsol_mex.c +31 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_randperm.m +18 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_randperm_mex.c +28 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_scc.m +17 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_scc2.m +61 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_scc_mex.c +32 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_sep.m +21 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_sparse.m +17 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_sparse_mex.c +31 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_sqr.m +25 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_sqr_mex.c +40 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_symperm.m +20 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_symperm_mex.c +30 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_thumb_mex.c +56 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_transpose.m +17 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_transpose_mex.c +19 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_updown.m +26 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_updown_mex.c +53 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_usolve.m +21 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_usolve_mex.c +59 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_utsolve.m +19 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_utsolve_mex.c +21 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/cspy.m +100 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/private/drawbox.m +29 -0
- pytexgen-1.0.0/CSparse/MATLAB/CSparse/private/drawboxes.m +29 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/Contents.m +11 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/README.txt +1 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/cs_demo.m +47 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/cs_demo1.m +56 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/cs_demo2.m +42 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/cs_demo3.m +41 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/demo2.m +109 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/demo3.m +97 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/ex2.m +91 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/ex3.m +42 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/ex_1.m +86 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/frand.m +28 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/get_problem.m +57 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/is_sym.m +23 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/mesh2d1.m +25 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/mesh2d2.m +15 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/mesh3d1.m +33 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/mesh3d2.m +15 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/print_order.m +21 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/print_resid.m +12 -0
- pytexgen-1.0.0/CSparse/MATLAB/Demo/private/rhs.m +10 -0
- pytexgen-1.0.0/CSparse/MATLAB/Makefile +14 -0
- pytexgen-1.0.0/CSparse/MATLAB/README.txt +18 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/Contents.m +102 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/Makefile +51 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/README.txt +4 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/another_colormap.m +30 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/check_if_same.m +22 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/chol_downdate.m +28 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/chol_example.m +35 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/chol_left.m +15 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/chol_left2.m +20 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/chol_right.m +16 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/chol_super.m +19 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/chol_up.m +15 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/chol_update.m +26 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/chol_updown.m +36 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/choldn.m +46 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cholup.m +26 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cholupdown.m +58 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cond1est.m +23 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_fiedler.m +27 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_frand.m +15 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_frand_mex.c +59 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_ipvec.m +12 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_ipvec_mex.c +37 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_maxtransr.m +12 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_maxtransr_mex.c +87 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_pvec.m +12 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_pvec_mex.c +37 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_q1.m +19 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_reach.m +14 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_reach_mex.c +39 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_reachr.m +15 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_reachr_mex.c +67 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_rowcnt.m +15 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_rowcnt_mex.c +86 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_sparse2.m +15 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_sparse2_mex.c +41 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cs_test_make.m +33 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/cspy_test.m +50 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/dmperm_test.m +126 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/dmspy_test.m +28 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/etree_sample.m +71 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/givens2.m +17 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/gqr3.m +30 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/happly.m +11 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/hmake1.m +39 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/house.m +29 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/lu_left.m +25 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/lu_right.m +17 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/lu_rightp.m +22 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/lu_rightpr.m +29 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/lu_rightr.m +21 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/mynormest1.m +92 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/myqr.m +56 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/norm1est.m +34 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/qr2.m +21 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/qr_givens.m +24 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/qr_givens_full.m +17 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/qr_left.m +26 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/qr_right.m +19 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/sample_colormap.m +41 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/signum.m +13 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/sqr_example.m +29 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test1.m +64 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test10.m +96 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test11.m +51 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test12.m +44 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test13.m +82 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test14.m +38 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test15.m +48 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test16.m +90 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test17.m +108 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test18.m +34 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test19.m +200 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test2.m +102 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test20.m +47 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test21.m +118 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test22.m +71 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test23.m +32 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test24.m +55 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test25.m +66 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test26.m +70 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test27.m +47 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test28.m +113 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test3.m +100 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test4.m +33 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test5.m +60 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test6.m +93 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test7.m +107 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test8.m +85 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test9.m +114 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test_qr.m +55 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test_qr1.m +58 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test_qrsol.m +50 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test_randperms.m +60 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/test_sep.m +102 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/testall.m +42 -0
- pytexgen-1.0.0/CSparse/MATLAB/Test/testh.m +85 -0
- pytexgen-1.0.0/CSparse/MATLAB/UFget/Contents.m +16 -0
- pytexgen-1.0.0/CSparse/MATLAB/UFget/README.txt +67 -0
- pytexgen-1.0.0/CSparse/MATLAB/UFget/UFget.m +142 -0
- pytexgen-1.0.0/CSparse/MATLAB/UFget/UFget_defaults.m +43 -0
- pytexgen-1.0.0/CSparse/MATLAB/UFget/UFget_example.m +30 -0
- pytexgen-1.0.0/CSparse/MATLAB/UFget/UFget_lookup.m +77 -0
- pytexgen-1.0.0/CSparse/MATLAB/UFget/UFgrep.m +53 -0
- pytexgen-1.0.0/CSparse/MATLAB/UFget/UFweb.m +135 -0
- pytexgen-1.0.0/CSparse/MATLAB/UFget/mat/UF_Index.mat +0 -0
- pytexgen-1.0.0/CSparse/MATLAB/cs_install.m +73 -0
- pytexgen-1.0.0/CSparse/Makefile +30 -0
- pytexgen-1.0.0/CSparse/Matrix/ash219 +438 -0
- pytexgen-1.0.0/CSparse/Matrix/bcsstk01 +224 -0
- pytexgen-1.0.0/CSparse/Matrix/bcsstk16 +147631 -0
- pytexgen-1.0.0/CSparse/Matrix/fs_183_1 +1069 -0
- pytexgen-1.0.0/CSparse/Matrix/ibm32a +123 -0
- pytexgen-1.0.0/CSparse/Matrix/ibm32b +123 -0
- pytexgen-1.0.0/CSparse/Matrix/lp_afiro +102 -0
- pytexgen-1.0.0/CSparse/Matrix/mbeacxc +49920 -0
- pytexgen-1.0.0/CSparse/Matrix/t1 +10 -0
- pytexgen-1.0.0/CSparse/Matrix/west0067 +299 -0
- pytexgen-1.0.0/CSparse/README.txt +428 -0
- pytexgen-1.0.0/CSparse/Source/README.txt +3 -0
- pytexgen-1.0.0/CSparse/Source/cs_add.c +28 -0
- pytexgen-1.0.0/CSparse/Source/cs_amd.c +364 -0
- pytexgen-1.0.0/CSparse/Source/cs_chol.c +58 -0
- pytexgen-1.0.0/CSparse/Source/cs_cholsol.c +26 -0
- pytexgen-1.0.0/CSparse/Source/cs_compress.c +22 -0
- pytexgen-1.0.0/CSparse/Source/cs_counts.c +61 -0
- pytexgen-1.0.0/CSparse/Source/cs_cumsum.c +17 -0
- pytexgen-1.0.0/CSparse/Source/cs_dfs.c +36 -0
- pytexgen-1.0.0/CSparse/Source/cs_dmperm.c +144 -0
- pytexgen-1.0.0/CSparse/Source/cs_droptol.c +9 -0
- pytexgen-1.0.0/CSparse/Source/cs_dropzeros.c +9 -0
- pytexgen-1.0.0/CSparse/Source/cs_dupl.c +34 -0
- pytexgen-1.0.0/CSparse/Source/cs_entry.c +13 -0
- pytexgen-1.0.0/CSparse/Source/cs_ereach.c +23 -0
- pytexgen-1.0.0/CSparse/Source/cs_etree.c +30 -0
- pytexgen-1.0.0/CSparse/Source/cs_fkeep.c +25 -0
- pytexgen-1.0.0/CSparse/Source/cs_gaxpy.c +17 -0
- pytexgen-1.0.0/CSparse/Source/cs_happly.c +19 -0
- pytexgen-1.0.0/CSparse/Source/cs_house.c +23 -0
- pytexgen-1.0.0/CSparse/Source/cs_ipvec.c +9 -0
- pytexgen-1.0.0/CSparse/Source/cs_leaf.c +22 -0
- pytexgen-1.0.0/CSparse/Source/cs_load.c +15 -0
- pytexgen-1.0.0/CSparse/Source/cs_lsolve.c +18 -0
- pytexgen-1.0.0/CSparse/Source/cs_ltsolve.c +18 -0
- pytexgen-1.0.0/CSparse/Source/cs_lu.c +86 -0
- pytexgen-1.0.0/CSparse/Source/cs_lusol.c +26 -0
- pytexgen-1.0.0/CSparse/Source/cs_malloc.c +35 -0
- pytexgen-1.0.0/CSparse/Source/cs_maxtrans.c +92 -0
- pytexgen-1.0.0/CSparse/Source/cs_multiply.c +35 -0
- pytexgen-1.0.0/CSparse/Source/cs_norm.c +15 -0
- pytexgen-1.0.0/CSparse/Source/cs_permute.c +25 -0
- pytexgen-1.0.0/CSparse/Source/cs_pinv.c +11 -0
- pytexgen-1.0.0/CSparse/Source/cs_post.c +24 -0
- pytexgen-1.0.0/CSparse/Source/cs_print.c +36 -0
- pytexgen-1.0.0/CSparse/Source/cs_pvec.c +9 -0
- pytexgen-1.0.0/CSparse/Source/cs_qr.c +73 -0
- pytexgen-1.0.0/CSparse/Source/cs_qrsol.c +53 -0
- pytexgen-1.0.0/CSparse/Source/cs_randperm.c +22 -0
- pytexgen-1.0.0/CSparse/Source/cs_reach.c +19 -0
- pytexgen-1.0.0/CSparse/Source/cs_scatter.c +22 -0
- pytexgen-1.0.0/CSparse/Source/cs_scc.c +41 -0
- pytexgen-1.0.0/CSparse/Source/cs_schol.c +26 -0
- pytexgen-1.0.0/CSparse/Source/cs_spsolve.c +28 -0
- pytexgen-1.0.0/CSparse/Source/cs_sqr.c +88 -0
- pytexgen-1.0.0/CSparse/Source/cs_symperm.c +39 -0
- pytexgen-1.0.0/CSparse/Source/cs_tdfs.c +24 -0
- pytexgen-1.0.0/CSparse/Source/cs_transpose.c +25 -0
- pytexgen-1.0.0/CSparse/Source/cs_updown.c +37 -0
- pytexgen-1.0.0/CSparse/Source/cs_usolve.c +18 -0
- pytexgen-1.0.0/CSparse/Source/cs_util.c +119 -0
- pytexgen-1.0.0/CSparse/Source/cs_utsolve.c +18 -0
- pytexgen-1.0.0/CSparse/Tcov/Makefile +102 -0
- pytexgen-1.0.0/CSparse/Tcov/README.txt +13 -0
- pytexgen-1.0.0/CSparse/Tcov/cov.awk +17 -0
- pytexgen-1.0.0/CSparse/Tcov/covall +7 -0
- pytexgen-1.0.0/CSparse/Tcov/covall.linux +7 -0
- pytexgen-1.0.0/CSparse/Tcov/covall.sol +5 -0
- pytexgen-1.0.0/CSparse/Tcov/cover +9 -0
- pytexgen-1.0.0/CSparse/Tcov/covs +7 -0
- pytexgen-1.0.0/CSparse/Tcov/cstcov_malloc_test.c +34 -0
- pytexgen-1.0.0/CSparse/Tcov/cstcov_malloc_test.h +5 -0
- pytexgen-1.0.0/CSparse/Tcov/cstcov_test.c +30 -0
- pytexgen-1.0.0/CSparse/Tcov/gcovs +6 -0
- pytexgen-1.0.0/CSparse/Tcov/nil +0 -0
- pytexgen-1.0.0/CSparse/Tcov/zero +1 -0
- pytexgen-1.0.0/Core/AdjustMeshInterference.cpp +826 -0
- pytexgen-1.0.0/Core/AdjustMeshInterference.h +148 -0
- pytexgen-1.0.0/Core/BasicVolumes.cpp +1082 -0
- pytexgen-1.0.0/Core/BasicVolumes.h +140 -0
- pytexgen-1.0.0/Core/BendingPeriodicBoundaries.cpp +233 -0
- pytexgen-1.0.0/Core/BendingPeriodicBoundaries.h +43 -0
- pytexgen-1.0.0/Core/CMakeLists.txt +131 -0
- pytexgen-1.0.0/Core/DefaultProperties.h +40 -0
- pytexgen-1.0.0/Core/Domain.cpp +201 -0
- pytexgen-1.0.0/Core/Domain.h +116 -0
- pytexgen-1.0.0/Core/DomainPlanes.cpp +1252 -0
- pytexgen-1.0.0/Core/DomainPlanes.h +93 -0
- pytexgen-1.0.0/Core/DomainPrism.cpp +1361 -0
- pytexgen-1.0.0/Core/DomainPrism.h +133 -0
- pytexgen-1.0.0/Core/Elements.cpp +510 -0
- pytexgen-1.0.0/Core/Elements.h +172 -0
- pytexgen-1.0.0/Core/FibreDistribution.cpp +48 -0
- pytexgen-1.0.0/Core/FibreDistribution.h +54 -0
- pytexgen-1.0.0/Core/FibreDistribution1DQuad.cpp +94 -0
- pytexgen-1.0.0/Core/FibreDistribution1DQuad.h +48 -0
- pytexgen-1.0.0/Core/FibreDistributionConst.cpp +79 -0
- pytexgen-1.0.0/Core/FibreDistributionConst.h +45 -0
- pytexgen-1.0.0/Core/GeometrySolver.cpp +899 -0
- pytexgen-1.0.0/Core/GeometrySolver.h +176 -0
- pytexgen-1.0.0/Core/Interpolation.cpp +354 -0
- pytexgen-1.0.0/Core/Interpolation.h +112 -0
- pytexgen-1.0.0/Core/InterpolationAdjusted.cpp +115 -0
- pytexgen-1.0.0/Core/InterpolationAdjusted.h +65 -0
- pytexgen-1.0.0/Core/InterpolationBezier.cpp +109 -0
- pytexgen-1.0.0/Core/InterpolationBezier.h +49 -0
- pytexgen-1.0.0/Core/InterpolationCubic.cpp +255 -0
- pytexgen-1.0.0/Core/InterpolationCubic.h +78 -0
- pytexgen-1.0.0/Core/InterpolationLinear.cpp +96 -0
- pytexgen-1.0.0/Core/InterpolationLinear.h +49 -0
- pytexgen-1.0.0/Core/LinearTransformation.cpp +108 -0
- pytexgen-1.0.0/Core/LinearTransformation.h +75 -0
- pytexgen-1.0.0/Core/Logger.cpp +76 -0
- pytexgen-1.0.0/Core/Logger.h +130 -0
- pytexgen-1.0.0/Core/Materials.cpp +249 -0
- pytexgen-1.0.0/Core/Materials.h +84 -0
- pytexgen-1.0.0/Core/Matrix.h +1141 -0
- pytexgen-1.0.0/Core/MatrixUtils.h +70 -0
- pytexgen-1.0.0/Core/Mesh.cpp +2737 -0
- pytexgen-1.0.0/Core/Mesh.h +523 -0
- pytexgen-1.0.0/Core/MeshData.h +175 -0
- pytexgen-1.0.0/Core/MeshDomainPlane.cpp +418 -0
- pytexgen-1.0.0/Core/MeshDomainPlane.h +76 -0
- pytexgen-1.0.0/Core/MeshOctreeClasses.cpp +332 -0
- pytexgen-1.0.0/Core/MeshOctreeClasses.h +158 -0
- pytexgen-1.0.0/Core/Mesher.cpp +1974 -0
- pytexgen-1.0.0/Core/Mesher.h +227 -0
- pytexgen-1.0.0/Core/Misc.cpp +188 -0
- pytexgen-1.0.0/Core/Misc.h +302 -0
- pytexgen-1.0.0/Core/Node.cpp +120 -0
- pytexgen-1.0.0/Core/Node.h +79 -0
- pytexgen-1.0.0/Core/ObjectContainer.h +143 -0
- pytexgen-1.0.0/Core/OctreeVoxelMesh.cpp +2493 -0
- pytexgen-1.0.0/Core/OctreeVoxelMesh.h +194 -0
- pytexgen-1.0.0/Core/PatternDraft.cpp +230 -0
- pytexgen-1.0.0/Core/PatternDraft.h +67 -0
- pytexgen-1.0.0/Core/PeriodicBoundaries.cpp +560 -0
- pytexgen-1.0.0/Core/PeriodicBoundaries.h +87 -0
- pytexgen-1.0.0/Core/Plane.h +49 -0
- pytexgen-1.0.0/Core/PrecompiledHeaders.cpp +25 -0
- pytexgen-1.0.0/Core/PrecompiledHeaders.h +45 -0
- pytexgen-1.0.0/Core/PrismVoxelMesh.cpp +220 -0
- pytexgen-1.0.0/Core/PrismVoxelMesh.h +61 -0
- pytexgen-1.0.0/Core/Properties.cpp +378 -0
- pytexgen-1.0.0/Core/Properties.h +241 -0
- pytexgen-1.0.0/Core/PropertiesTextile.cpp +146 -0
- pytexgen-1.0.0/Core/PropertiesTextile.h +104 -0
- pytexgen-1.0.0/Core/PropertiesYarn.cpp +61 -0
- pytexgen-1.0.0/Core/PropertiesYarn.h +67 -0
- pytexgen-1.0.0/Core/Property.cpp +129 -0
- pytexgen-1.0.0/Core/Property.h +61 -0
- pytexgen-1.0.0/Core/RectangularVoxelMesh.cpp +98 -0
- pytexgen-1.0.0/Core/RectangularVoxelMesh.h +56 -0
- pytexgen-1.0.0/Core/ReedData.cpp +45 -0
- pytexgen-1.0.0/Core/ReedData.h +42 -0
- pytexgen-1.0.0/Core/RotatedPeriodicBoundaries.cpp +372 -0
- pytexgen-1.0.0/Core/RotatedPeriodicBoundaries.h +42 -0
- pytexgen-1.0.0/Core/RotatedVoxelMesh.cpp +116 -0
- pytexgen-1.0.0/Core/RotatedVoxelMesh.h +49 -0
- pytexgen-1.0.0/Core/Section.cpp +308 -0
- pytexgen-1.0.0/Core/Section.h +132 -0
- pytexgen-1.0.0/Core/SectionBezier.cpp +130 -0
- pytexgen-1.0.0/Core/SectionBezier.h +58 -0
- pytexgen-1.0.0/Core/SectionEllipse.cpp +72 -0
- pytexgen-1.0.0/Core/SectionEllipse.h +54 -0
- pytexgen-1.0.0/Core/SectionHybrid.cpp +167 -0
- pytexgen-1.0.0/Core/SectionHybrid.h +72 -0
- pytexgen-1.0.0/Core/SectionLenticular.cpp +140 -0
- pytexgen-1.0.0/Core/SectionLenticular.h +55 -0
- pytexgen-1.0.0/Core/SectionMesh.cpp +84 -0
- pytexgen-1.0.0/Core/SectionMesh.h +78 -0
- pytexgen-1.0.0/Core/SectionMeshRectangleSection.cpp +220 -0
- pytexgen-1.0.0/Core/SectionMeshRectangleSection.h +53 -0
- pytexgen-1.0.0/Core/SectionMeshRectangular.cpp +342 -0
- pytexgen-1.0.0/Core/SectionMeshRectangular.h +52 -0
- pytexgen-1.0.0/Core/SectionMeshTriangulate.cpp +230 -0
- pytexgen-1.0.0/Core/SectionMeshTriangulate.h +59 -0
- pytexgen-1.0.0/Core/SectionPolygon.cpp +193 -0
- pytexgen-1.0.0/Core/SectionPolygon.h +73 -0
- pytexgen-1.0.0/Core/SectionPowerEllipse.cpp +112 -0
- pytexgen-1.0.0/Core/SectionPowerEllipse.h +65 -0
- pytexgen-1.0.0/Core/SectionRectangle.cpp +154 -0
- pytexgen-1.0.0/Core/SectionRectangle.h +63 -0
- pytexgen-1.0.0/Core/SectionRotated.cpp +84 -0
- pytexgen-1.0.0/Core/SectionRotated.h +56 -0
- pytexgen-1.0.0/Core/SectionScaled.cpp +83 -0
- pytexgen-1.0.0/Core/SectionScaled.h +54 -0
- pytexgen-1.0.0/Core/ShearedPeriodicBoundaries.cpp +266 -0
- pytexgen-1.0.0/Core/ShearedPeriodicBoundaries.h +43 -0
- pytexgen-1.0.0/Core/ShearedTextileWeave2D.cpp +1135 -0
- pytexgen-1.0.0/Core/ShearedTextileWeave2D.h +96 -0
- pytexgen-1.0.0/Core/ShearedVoxelMesh.cpp +114 -0
- pytexgen-1.0.0/Core/ShearedVoxelMesh.h +47 -0
- pytexgen-1.0.0/Core/ShellElementExport.cpp +372 -0
- pytexgen-1.0.0/Core/ShellElementExport.h +84 -0
- pytexgen-1.0.0/Core/Shiny.h +33 -0
- pytexgen-1.0.0/Core/ShinyConfig.h +84 -0
- pytexgen-1.0.0/Core/ShinyData.h +84 -0
- pytexgen-1.0.0/Core/ShinyMacros.h +238 -0
- pytexgen-1.0.0/Core/ShinyManager.h +236 -0
- pytexgen-1.0.0/Core/ShinyNode.h +107 -0
- pytexgen-1.0.0/Core/ShinyNodePool.h +60 -0
- pytexgen-1.0.0/Core/ShinyOutput.h +57 -0
- pytexgen-1.0.0/Core/ShinyPrereqs.h +81 -0
- pytexgen-1.0.0/Core/ShinyTools.h +70 -0
- pytexgen-1.0.0/Core/ShinyZone.h +87 -0
- pytexgen-1.0.0/Core/Simulation.cpp +59 -0
- pytexgen-1.0.0/Core/Simulation.h +82 -0
- pytexgen-1.0.0/Core/SimulationAbaqus.cpp +1122 -0
- pytexgen-1.0.0/Core/SimulationAbaqus.h +315 -0
- pytexgen-1.0.0/Core/Singleton.h +48 -0
- pytexgen-1.0.0/Core/SlaveNode.cpp +201 -0
- pytexgen-1.0.0/Core/SlaveNode.h +101 -0
- pytexgen-1.0.0/Core/StaggeredPeriodicBoundaries.cpp +263 -0
- pytexgen-1.0.0/Core/StaggeredPeriodicBoundaries.h +46 -0
- pytexgen-1.0.0/Core/StaggeredVoxelMesh.cpp +210 -0
- pytexgen-1.0.0/Core/StaggeredVoxelMesh.h +45 -0
- pytexgen-1.0.0/Core/SurfaceMesh.cpp +77 -0
- pytexgen-1.0.0/Core/SurfaceMesh.h +68 -0
- pytexgen-1.0.0/Core/TetgenMesh.cpp +361 -0
- pytexgen-1.0.0/Core/TetgenMesh.h +68 -0
- pytexgen-1.0.0/Core/TexGen.cpp +318 -0
- pytexgen-1.0.0/Core/TexGen.h +174 -0
- pytexgen-1.0.0/Core/Textile.cpp +1258 -0
- pytexgen-1.0.0/Core/Textile.h +347 -0
- pytexgen-1.0.0/Core/Textile3DWeave.cpp +2910 -0
- pytexgen-1.0.0/Core/Textile3DWeave.h +460 -0
- pytexgen-1.0.0/Core/TextileAngleInterlock.cpp +516 -0
- pytexgen-1.0.0/Core/TextileAngleInterlock.h +59 -0
- pytexgen-1.0.0/Core/TextileDecoupledLToL.cpp +158 -0
- pytexgen-1.0.0/Core/TextileDecoupledLToL.h +76 -0
- pytexgen-1.0.0/Core/TextileDeformer.cpp +155 -0
- pytexgen-1.0.0/Core/TextileDeformer.h +85 -0
- pytexgen-1.0.0/Core/TextileDeformerVolumeMesh.cpp +125 -0
- pytexgen-1.0.0/Core/TextileDeformerVolumeMesh.h +74 -0
- pytexgen-1.0.0/Core/TextileKnit.cpp +59 -0
- pytexgen-1.0.0/Core/TextileKnit.h +58 -0
- pytexgen-1.0.0/Core/TextileLayerToLayer.cpp +812 -0
- pytexgen-1.0.0/Core/TextileLayerToLayer.h +95 -0
- pytexgen-1.0.0/Core/TextileLayered.cpp +652 -0
- pytexgen-1.0.0/Core/TextileLayered.h +77 -0
- pytexgen-1.0.0/Core/TextileOffsetAngleInterlock.cpp +579 -0
- pytexgen-1.0.0/Core/TextileOffsetAngleInterlock.h +63 -0
- pytexgen-1.0.0/Core/TextileOrthogonal.cpp +2868 -0
- pytexgen-1.0.0/Core/TextileOrthogonal.h +177 -0
- pytexgen-1.0.0/Core/TextileWeave.cpp +1259 -0
- pytexgen-1.0.0/Core/TextileWeave.h +236 -0
- pytexgen-1.0.0/Core/TextileWeave2D.cpp +651 -0
- pytexgen-1.0.0/Core/TextileWeave2D.h +84 -0
- pytexgen-1.0.0/Core/TextileWeave3D.cpp +294 -0
- pytexgen-1.0.0/Core/TextileWeave3D.h +81 -0
- pytexgen-1.0.0/Core/TextileWeftKnit.cpp +190 -0
- pytexgen-1.0.0/Core/TextileWeftKnit.h +77 -0
- pytexgen-1.0.0/Core/Timer.h +121 -0
- pytexgen-1.0.0/Core/VoxelMesh.cpp +847 -0
- pytexgen-1.0.0/Core/VoxelMesh.h +128 -0
- pytexgen-1.0.0/Core/Yarn.cpp +1995 -0
- pytexgen-1.0.0/Core/Yarn.h +549 -0
- pytexgen-1.0.0/Core/YarnSection.cpp +109 -0
- pytexgen-1.0.0/Core/YarnSection.h +117 -0
- pytexgen-1.0.0/Core/YarnSectionAdjusted.cpp +140 -0
- pytexgen-1.0.0/Core/YarnSectionAdjusted.h +74 -0
- pytexgen-1.0.0/Core/YarnSectionConstant.cpp +67 -0
- pytexgen-1.0.0/Core/YarnSectionConstant.h +55 -0
- pytexgen-1.0.0/Core/YarnSectionInterp.cpp +186 -0
- pytexgen-1.0.0/Core/YarnSectionInterp.h +61 -0
- pytexgen-1.0.0/Core/YarnSectionInterpNode.cpp +350 -0
- pytexgen-1.0.0/Core/YarnSectionInterpNode.h +108 -0
- pytexgen-1.0.0/Core/YarnSectionInterpPosition.cpp +223 -0
- pytexgen-1.0.0/Core/YarnSectionInterpPosition.h +75 -0
- pytexgen-1.0.0/Core/mymath.h +1658 -0
- pytexgen-1.0.0/Core/tetgen.h +3334 -0
- pytexgen-1.0.0/LICENSE +339 -0
- pytexgen-1.0.0/LatinHypercube/CMakeLists.txt +2 -0
- pytexgen-1.0.0/LatinHypercube/latin_random.cpp +715 -0
- pytexgen-1.0.0/LatinHypercube/latin_random.hpp +11 -0
- pytexgen-1.0.0/Octree/Array.cpp +42 -0
- pytexgen-1.0.0/Octree/Array.hpp +392 -0
- pytexgen-1.0.0/Octree/CMakeLists.txt +19 -0
- pytexgen-1.0.0/Octree/LICENSE.txt +27 -0
- pytexgen-1.0.0/Octree/Octree.cpp +45 -0
- pytexgen-1.0.0/Octree/Octree.hpp +633 -0
- pytexgen-1.0.0/Octree/OctreeAuxiliary.cpp +296 -0
- pytexgen-1.0.0/Octree/OctreeAuxiliary.hpp +415 -0
- pytexgen-1.0.0/Octree/OctreeExample.cpp +474 -0
- pytexgen-1.0.0/Octree/OctreeImplementation.cpp +725 -0
- pytexgen-1.0.0/Octree/OctreeImplementation.hpp +300 -0
- pytexgen-1.0.0/Octree/OctreeStreamOut.cpp +300 -0
- pytexgen-1.0.0/Octree/OctreeStreamOut.hpp +266 -0
- pytexgen-1.0.0/Octree/OctreeTest.cpp +1160 -0
- pytexgen-1.0.0/Octree/OctreeTest.hpp +72 -0
- pytexgen-1.0.0/Octree/Primitives.hpp +185 -0
- pytexgen-1.0.0/Octree/Vector3f.cpp +879 -0
- pytexgen-1.0.0/Octree/Vector3f.hpp +240 -0
- pytexgen-1.0.0/Octree/build-gcc.bat +27 -0
- pytexgen-1.0.0/Octree/build-vc.bat +25 -0
- pytexgen-1.0.0/Octree/hxa7241-octree-cpp.readme.txt +133 -0
- pytexgen-1.0.0/Octree/hxa7241_general.hpp +61 -0
- pytexgen-1.0.0/Octree/hxa7241_graphics.hpp +64 -0
- pytexgen-1.0.0/Octree/octree-general-cpp_hxa7241_2005.html +2601 -0
- pytexgen-1.0.0/Octree/ogc-class-relations-diagram.png +0 -0
- pytexgen-1.0.0/Octree/ogc-visit-sequence-diagram.png +0 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est.h +495 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_algorithms.h +310 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_balance.h +65 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_base.h +482 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_bits.h +614 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_communication.h +412 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_config.h +386 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_connectivity.h +773 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_extended.h +399 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_geometry.h +86 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_ghost.h +387 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_io.h +69 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_iterate.h +294 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_lnodes.h +391 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_mesh.h +227 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_nodes.h +176 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_plex.h +84 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_points.h +75 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_search.h +184 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_to_p8est.h +453 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_vtk.h +268 -0
- pytexgen-1.0.0/OctreeRefinement/include/p4est_wrap.h +368 -0
- pytexgen-1.0.0/OctreeRefinement/include/p6est.h +629 -0
- pytexgen-1.0.0/OctreeRefinement/include/p6est_communication.h +114 -0
- pytexgen-1.0.0/OctreeRefinement/include/p6est_extended.h +288 -0
- pytexgen-1.0.0/OctreeRefinement/include/p6est_ghost.h +199 -0
- pytexgen-1.0.0/OctreeRefinement/include/p6est_lnodes.h +284 -0
- pytexgen-1.0.0/OctreeRefinement/include/p6est_profile.h +112 -0
- pytexgen-1.0.0/OctreeRefinement/include/p6est_vtk.h +174 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est.h +495 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_algorithms.h +311 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_balance.h +73 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_bits.h +716 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_communication.h +412 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_connectivity.h +987 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_extended.h +401 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_geometry.h +106 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_ghost.h +386 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_io.h +69 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_iterate.h +404 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_lnodes.h +431 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_mesh.h +230 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_nodes.h +220 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_plex.h +84 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_points.h +75 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_search.h +222 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_tets_hexes.h +88 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_vtk.h +253 -0
- pytexgen-1.0.0/OctreeRefinement/include/p8est_wrap.h +352 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc.h +685 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_allgather.h +58 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_amr.h +136 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_avl.h +212 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_blas.h +148 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_bspline.h +168 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_builtin/getopt.h +177 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_builtin/getopt_int.h +130 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_builtin/obstack.h +509 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_config.h +470 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_containers.h +978 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_dmatrix.h +478 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_flops.h +109 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_functions.h +136 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_getopt.h +38 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_io.h +301 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_keyvalue.h +220 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_lapack.h +149 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_lua.h +57 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_mpi.h +416 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_notify.h +61 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_obstack.h +38 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_options.h +341 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_private.h +49 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_ranges.h +115 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_reduce.h +70 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_refcount.h +120 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_search.h +72 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_shmem.h +169 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_sort.h +46 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_statistics.h +165 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_string.h +107 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_unique_counter.h +76 -0
- pytexgen-1.0.0/OctreeRefinement/include/sc_warp.h +57 -0
- pytexgen-1.0.0/OctreeRefinement/include/unistd.h +61 -0
- pytexgen-1.0.0/OctreeRefinement/libp4est.lib +0 -0
- pytexgen-1.0.0/OctreeRefinement/libsc.lib +0 -0
- pytexgen-1.0.0/PKG-INFO +79 -0
- pytexgen-1.0.0/Python/CMakeLists.txt +256 -0
- pytexgen-1.0.0/Python/Core.i +375 -0
- pytexgen-1.0.0/Python/Core_wrap.h +107 -0
- pytexgen-1.0.0/Python/Export.i +44 -0
- pytexgen-1.0.0/Python/FindPythonSitePackages.cmake +16 -0
- pytexgen-1.0.0/Python/Lib/Abaqus.py +330 -0
- pytexgen-1.0.0/Python/Lib/Ansys.py +153 -0
- pytexgen-1.0.0/Python/Lib/AnsysExport.txt +17714 -0
- pytexgen-1.0.0/Python/Lib/Completer.py +131 -0
- pytexgen-1.0.0/Python/Lib/FlowTex.py +70 -0
- pytexgen-1.0.0/Python/Lib/GridFile.py +133 -0
- pytexgen-1.0.0/Python/Lib/TexGenv2.py +168 -0
- pytexgen-1.0.0/Python/Lib/WeavePattern.py +249 -0
- pytexgen-1.0.0/Python/Lib/WiseTex.py +194 -0
- pytexgen-1.0.0/Python/Lib/dataHandling.py +296 -0
- pytexgen-1.0.0/Python/Lib/dataHandlingInPlane.py +205 -0
- pytexgen-1.0.0/Python/Lib/effectiveMatPropRVE.py +52 -0
- pytexgen-1.0.0/Python/Renderer.i +49 -0
- pytexgen-1.0.0/Python/Scripts/2dweave.py +41 -0
- pytexgen-1.0.0/Python/Scripts/3dweave.py +49 -0
- pytexgen-1.0.0/Python/Scripts/LayeredTextile.py +77 -0
- pytexgen-1.0.0/Python/Scripts/LayeredTextile2.py +95 -0
- pytexgen-1.0.0/Python/Scripts/cotton.py +79 -0
- pytexgen-1.0.0/Python/Scripts/example.py +68 -0
- pytexgen-1.0.0/Python/Scripts/polyester.py +67 -0
- pytexgen-1.0.0/Python/Tests/AbaqusTest.py +59 -0
- pytexgen-1.0.0/Python/Tests/Data/test.cfl +7186 -0
- pytexgen-1.0.0/Python/Tests/Data/test.pth +478 -0
- pytexgen-1.0.0/Python/Tests/FlowTexTest.py +35 -0
- pytexgen-1.0.0/Python/Tests/GridFileTest.py +43 -0
- pytexgen-1.0.0/Python/Tests/RunTests.py +15 -0
- pytexgen-1.0.0/Python/Tests/TestUtils.py +22 -0
- pytexgen-1.0.0/Python/Tests/TexGenv2Test.py +58 -0
- pytexgen-1.0.0/Python/Tests/WiseTexTest.py +50 -0
- pytexgen-1.0.0/README_pypi.md +48 -0
- pytexgen-1.0.0/TexGenConfig.cmake.in +4 -0
- pytexgen-1.0.0/Triangle/A.poly +62 -0
- pytexgen-1.0.0/Triangle/CMakeLists.txt +80 -0
- pytexgen-1.0.0/Triangle/README +198 -0
- pytexgen-1.0.0/Triangle/acute.c +3665 -0
- pytexgen-1.0.0/Triangle/eps_writer.c +242 -0
- pytexgen-1.0.0/Triangle/makefile +116 -0
- pytexgen-1.0.0/Triangle/predicates.c +1787 -0
- pytexgen-1.0.0/Triangle/private/acute.h +31 -0
- pytexgen-1.0.0/Triangle/private/acute_internal.h +38 -0
- pytexgen-1.0.0/Triangle/private/eps_writer.h +25 -0
- pytexgen-1.0.0/Triangle/private/predicates.h +42 -0
- pytexgen-1.0.0/Triangle/private/triangle_helper.h +12 -0
- pytexgen-1.0.0/Triangle/private/triangle_internal.h +460 -0
- pytexgen-1.0.0/Triangle/showme.c +3375 -0
- pytexgen-1.0.0/Triangle/triangle.c +8190 -0
- pytexgen-1.0.0/Triangle/triangle.h +1091 -0
- pytexgen-1.0.0/Triangle/triangle_api.c +557 -0
- pytexgen-1.0.0/Triangle/triangle_api.h +245 -0
- pytexgen-1.0.0/Triangle/triangle_config.h +168 -0
- pytexgen-1.0.0/Triangle/triangle_export.h +42 -0
- pytexgen-1.0.0/Triangle/triangle_helper.c +97 -0
- pytexgen-1.0.0/Triangle/triangle_io.c +875 -0
- pytexgen-1.0.0/Triangle/triangle_version.h +21 -0
- pytexgen-1.0.0/Triangle/triangle_version.h.in +21 -0
- pytexgen-1.0.0/Triangle/tricall.c +273 -0
- pytexgen-1.0.0/pyproject.toml +96 -0
- pytexgen-1.0.0/src/pytexgen/__init__.py +43 -0
- pytexgen-1.0.0/src/pytexgen/py.typed +0 -0
- pytexgen-1.0.0/test_write.txt +0 -0
- pytexgen-1.0.0/tetgenlib/CMakeLists.txt +22 -0
- pytexgen-1.0.0/tetgenlib/LICENSE +666 -0
- pytexgen-1.0.0/tetgenlib/README +25 -0
- pytexgen-1.0.0/tetgenlib/ReadMe.txt +30 -0
- pytexgen-1.0.0/tetgenlib/example.poly +84 -0
- pytexgen-1.0.0/tetgenlib/makefile +62 -0
- pytexgen-1.0.0/tetgenlib/predicates.cxx +4706 -0
- pytexgen-1.0.0/tetgenlib/stdafx.cpp +8 -0
- pytexgen-1.0.0/tetgenlib/stdafx.h +14 -0
- pytexgen-1.0.0/tetgenlib/targetver.h +13 -0
- pytexgen-1.0.0/tetgenlib/tetgen.cxx +31244 -0
- pytexgen-1.0.0/tetgenlib/tetgen.h +3334 -0
- pytexgen-1.0.0/tetgenlib/tetgenlib.vcproj +211 -0
- pytexgen-1.0.0/tetgenlib/tetgenlib.vcproj.AD.epzlpb.user +65 -0
- pytexgen-1.0.0/tinyxml/CMakeLists.txt +11 -0
- pytexgen-1.0.0/tinyxml/Makefile +208 -0
- pytexgen-1.0.0/tinyxml/changes.txt +254 -0
- pytexgen-1.0.0/tinyxml/docs/annotated.html +39 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlAttribute-members.html +53 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlAttribute.html +181 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlAttribute.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlBase-members.html +35 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlBase.html +196 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlBase.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlComment-members.html +99 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlComment.html +108 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlComment.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlDeclaration-members.html +103 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlDeclaration.html +129 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlDeclaration.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlDocument-members.html +118 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlDocument.html +430 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlDocument.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlElement-members.html +115 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlElement.html +419 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlElement.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlHandle-members.html +44 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlHandle.html +419 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlNode-members.html +97 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlNode.html +780 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlNode.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlPrinter-members.html +42 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlPrinter.html +184 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlPrinter.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlText-members.html +101 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlText.html +145 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlText.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlUnknown-members.html +97 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlUnknown.html +103 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlUnknown.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlVisitor-members.html +34 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlVisitor.html +84 -0
- pytexgen-1.0.0/tinyxml/docs/classTiXmlVisitor.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/deprecated.html +38 -0
- pytexgen-1.0.0/tinyxml/docs/doxygen.css +358 -0
- pytexgen-1.0.0/tinyxml/docs/doxygen.png +0 -0
- pytexgen-1.0.0/tinyxml/docs/files.html +23 -0
- pytexgen-1.0.0/tinyxml/docs/functions.html +195 -0
- pytexgen-1.0.0/tinyxml/docs/functions_enum.html +39 -0
- pytexgen-1.0.0/tinyxml/docs/functions_func.html +188 -0
- pytexgen-1.0.0/tinyxml/docs/functions_rela.html +40 -0
- pytexgen-1.0.0/tinyxml/docs/functions_vars.html +39 -0
- pytexgen-1.0.0/tinyxml/docs/hierarchy.html +45 -0
- pytexgen-1.0.0/tinyxml/docs/index.html +275 -0
- pytexgen-1.0.0/tinyxml/docs/pages.html +23 -0
- pytexgen-1.0.0/tinyxml/docs/tab_b.gif +0 -0
- pytexgen-1.0.0/tinyxml/docs/tab_l.gif +0 -0
- pytexgen-1.0.0/tinyxml/docs/tab_r.gif +0 -0
- pytexgen-1.0.0/tinyxml/docs/tabs.css +102 -0
- pytexgen-1.0.0/tinyxml/docs/tinystr_8h-source.html +338 -0
- pytexgen-1.0.0/tinyxml/docs/tinyxml_8h-source.html +1180 -0
- pytexgen-1.0.0/tinyxml/docs/tutorial0.html +721 -0
- pytexgen-1.0.0/tinyxml/echo.dsp +113 -0
- pytexgen-1.0.0/tinyxml/readme.txt +530 -0
- pytexgen-1.0.0/tinyxml/tinyXmlTest.dsp +92 -0
- pytexgen-1.0.0/tinyxml/tinyXmlTestSTL.dsp +92 -0
- pytexgen-1.0.0/tinyxml/tinystr.cpp +116 -0
- pytexgen-1.0.0/tinyxml/tinystr.h +319 -0
- pytexgen-1.0.0/tinyxml/tinyxml.cpp +1866 -0
- pytexgen-1.0.0/tinyxml/tinyxml.dsw +71 -0
- pytexgen-1.0.0/tinyxml/tinyxml.h +1776 -0
- pytexgen-1.0.0/tinyxml/tinyxmlSTL.dsp +126 -0
- pytexgen-1.0.0/tinyxml/tinyxml_lib.dsp +130 -0
- pytexgen-1.0.0/tinyxml/tinyxmlerror.cpp +53 -0
- pytexgen-1.0.0/tinyxml/tinyxmlparser.cpp +1606 -0
- pytexgen-1.0.0/tinyxml/utf8test.gif +0 -0
- pytexgen-1.0.0/tinyxml/utf8test.xml +11 -0
- pytexgen-1.0.0/tinyxml/utf8testverify.xml +11 -0
- pytexgen-1.0.0/tinyxml/xmltest.cpp +1227 -0
- pytexgen-1.0.0/units/CHANGES +62 -0
- pytexgen-1.0.0/units/Makefile.in +404 -0
- pytexgen-1.0.0/units/README +121 -0
- pytexgen-1.0.0/units/aclocal.m4 +1 -0
- pytexgen-1.0.0/units/configure +1999 -0
- pytexgen-1.0.0/units/configure.in +275 -0
- pytexgen-1.0.0/units/install-sh +119 -0
- pytexgen-1.0.0/units/license.terms +38 -0
- pytexgen-1.0.0/units/manpage.css +185 -0
- pytexgen-1.0.0/units/mkinstalldirs +40 -0
- pytexgen-1.0.0/units/pkgIndex.tcl +29 -0
- pytexgen-1.0.0/units/tcl.m4 +1995 -0
- pytexgen-1.0.0/units/units.c +1276 -0
- pytexgen-1.0.0/units/units.h +197 -0
- pytexgen-1.0.0/units/units.html +355 -0
- pytexgen-1.0.0/units/units.i +469 -0
- pytexgen-1.0.0/units/units.mdl +4670 -0
- pytexgen-1.0.0/units/units.n +487 -0
- pytexgen-1.0.0/units/units.tcl +690 -0
- pytexgen-1.0.0/units/units.test +522 -0
- pytexgen-1.0.0/units/units.xml +419 -0
- pytexgen-1.0.0/units/units_wrap.c +1708 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(xargs -0 ls -1)",
|
|
5
|
+
"Bash(grep -rn \"def.*/$\\\\|def.*/, \" /e/Code/TexGen-master --include=\"*.py\")",
|
|
6
|
+
"Bash(find /e/Code/TexGen-master -name \"*.py\" -exec grep -l \"typing\\\\|Type\\\\|Optional\\\\|List\\\\|Dict\\\\|Tuple\" {} \\\\;)",
|
|
7
|
+
"Bash(grep -rn \"\\\\.pyi$\\\\|__annotations__\" /e/Code/TexGen-master --include=\"*.py\")"
|
|
8
|
+
]
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Build artifacts
|
|
2
|
+
build/
|
|
3
|
+
dist/
|
|
4
|
+
*.egg-info/
|
|
5
|
+
__pycache__/
|
|
6
|
+
*.pyc
|
|
7
|
+
*.pyo
|
|
8
|
+
*.so
|
|
9
|
+
*.pyd
|
|
10
|
+
*.dll
|
|
11
|
+
|
|
12
|
+
# IDE
|
|
13
|
+
.vscode/
|
|
14
|
+
.idea/
|
|
15
|
+
*.swp
|
|
16
|
+
|
|
17
|
+
# OS
|
|
18
|
+
.DS_Store
|
|
19
|
+
Thumbs.db
|
|
20
|
+
|
|
21
|
+
# Generated SWIG files
|
|
22
|
+
Python/Core_wrap.cxx
|
|
23
|
+
Python/Core.py
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
CMAKE_MINIMUM_REQUIRED(VERSION 3.17)
|
|
2
|
+
PROJECT(TexGen LANGUAGES C CXX)
|
|
3
|
+
|
|
4
|
+
# ============================================================================
|
|
5
|
+
# scikit-build-core detection
|
|
6
|
+
# When building via `pip install .` or `python -m build`, SKBUILD is set
|
|
7
|
+
# automatically by scikit-build-core.
|
|
8
|
+
# ============================================================================
|
|
9
|
+
if(DEFINED SKBUILD)
|
|
10
|
+
message(STATUS "Building via scikit-build-core (wheel mode)")
|
|
11
|
+
# In wheel mode, find the Python interpreter that scikit-build-core provides
|
|
12
|
+
find_package(Python REQUIRED COMPONENTS Interpreter Development.Module)
|
|
13
|
+
endif()
|
|
14
|
+
|
|
15
|
+
# ============================================================================
|
|
16
|
+
# Compiler flags
|
|
17
|
+
# ============================================================================
|
|
18
|
+
ADD_DEFINITIONS(-DSWIG_NO_CRT_SECURE_NO_DEPRECATE)
|
|
19
|
+
IF(MSVC)
|
|
20
|
+
ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE)
|
|
21
|
+
ENDIF()
|
|
22
|
+
|
|
23
|
+
IF(UNIX)
|
|
24
|
+
ADD_DEFINITIONS(-Wno-deprecated)
|
|
25
|
+
# Ensure all static libs are built with PIC so they can link into shared _Core
|
|
26
|
+
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
27
|
+
ENDIF()
|
|
28
|
+
|
|
29
|
+
# ============================================================================
|
|
30
|
+
# Output paths
|
|
31
|
+
# ============================================================================
|
|
32
|
+
IF(WIN32)
|
|
33
|
+
SET(REAL_OUTPUT_PATH ${TexGen_BINARY_DIR}/$(OutDir))
|
|
34
|
+
ELSE()
|
|
35
|
+
SET(REAL_OUTPUT_PATH ${TexGen_BINARY_DIR})
|
|
36
|
+
ENDIF()
|
|
37
|
+
|
|
38
|
+
# ============================================================================
|
|
39
|
+
# Build options
|
|
40
|
+
# ============================================================================
|
|
41
|
+
SET(BUILD_RENDERER ON CACHE BOOL "Enable rendering using VTK.")
|
|
42
|
+
SET(BUILD_PYTHON_INTERFACE ON CACHE BOOL "Enable the Python interface.")
|
|
43
|
+
SET(BUILD_GUI ON CACHE BOOL "Build the graphical user interface.")
|
|
44
|
+
SET(BUILD_EXAMPLES OFF CACHE BOOL "Build the examples.")
|
|
45
|
+
SET(BUILD_UNIT_TESTS OFF CACHE BOOL "Build the unit tests to ensure the software is working as expected.")
|
|
46
|
+
SET(BUILD_CASCADE_EXPORT OFF CACHE BOOL "Build module to export geometry to Open CASCADE.")
|
|
47
|
+
SET(BUILD_SHARED ON CACHE BOOL "Build shared libraries (set OFF for wheel packaging)")
|
|
48
|
+
SET(BUILD_DOCUMENTATION OFF CACHE BOOL "Build documentation using doxygen")
|
|
49
|
+
SET(BUILD_PROFILE OFF CACHE BOOL "Build profiling")
|
|
50
|
+
|
|
51
|
+
IF(BUILD_GUI)
|
|
52
|
+
IF(NOT BUILD_RENDERER)
|
|
53
|
+
MESSAGE("The renderer is needed in order to build the graphical user interface.\nSet BUILD_RENDERER ON.")
|
|
54
|
+
ENDIF()
|
|
55
|
+
IF(NOT BUILD_PYTHON_INTERFACE)
|
|
56
|
+
MESSAGE("The Python interface is needed in order to build the graphical user interface.\nSet BUILD_PYTHON_INTERFACE ON.")
|
|
57
|
+
ENDIF()
|
|
58
|
+
ENDIF()
|
|
59
|
+
|
|
60
|
+
# ============================================================================
|
|
61
|
+
# Subdirectories - core C++ libraries (always built as static for bundling)
|
|
62
|
+
# ============================================================================
|
|
63
|
+
ADD_SUBDIRECTORY(Core)
|
|
64
|
+
ADD_SUBDIRECTORY(Triangle)
|
|
65
|
+
ADD_SUBDIRECTORY(Octree)
|
|
66
|
+
ADD_SUBDIRECTORY(tinyxml)
|
|
67
|
+
ADD_SUBDIRECTORY(CSparse)
|
|
68
|
+
ADD_SUBDIRECTORY(tetgenlib)
|
|
69
|
+
ADD_SUBDIRECTORY(LatinHypercube)
|
|
70
|
+
|
|
71
|
+
IF(BUILD_RENDERER)
|
|
72
|
+
ADD_SUBDIRECTORY(Renderer)
|
|
73
|
+
ENDIF()
|
|
74
|
+
IF(BUILD_CASCADE_EXPORT)
|
|
75
|
+
ADD_SUBDIRECTORY(Export)
|
|
76
|
+
ENDIF()
|
|
77
|
+
IF(BUILD_PYTHON_INTERFACE)
|
|
78
|
+
ADD_SUBDIRECTORY(Python)
|
|
79
|
+
ENDIF()
|
|
80
|
+
IF(BUILD_GUI)
|
|
81
|
+
ADD_SUBDIRECTORY(GUI)
|
|
82
|
+
ENDIF()
|
|
83
|
+
IF(BUILD_EXAMPLES)
|
|
84
|
+
ADD_SUBDIRECTORY(Examples)
|
|
85
|
+
ENDIF()
|
|
86
|
+
IF(BUILD_UNIT_TESTS)
|
|
87
|
+
ADD_SUBDIRECTORY(UnitTests)
|
|
88
|
+
ENDIF()
|
|
89
|
+
IF(BUILD_PROFILE)
|
|
90
|
+
ADD_SUBDIRECTORY(ProfileTests)
|
|
91
|
+
ENDIF()
|
|
92
|
+
|
|
93
|
+
SET(LIBRARY_OUTPUT_PATH ${TexGen_BINARY_DIR} CACHE INTERNAL "Single output directory for building all libraries.")
|
|
94
|
+
SET(EXECUTABLE_OUTPUT_PATH ${TexGen_BINARY_DIR} CACHE INTERNAL "Single output directory for building all executables.")
|
|
95
|
+
CONFIGURE_FILE(${TexGen_SOURCE_DIR}/TexGenConfig.cmake.in
|
|
96
|
+
${TexGen_BINARY_DIR}/TexGenConfig.cmake)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
CC = cc
|
|
2
|
+
CFLAGS = -O
|
|
3
|
+
|
|
4
|
+
I = -I../Include
|
|
5
|
+
|
|
6
|
+
CS = ../Lib/libcsparse.a
|
|
7
|
+
|
|
8
|
+
all: lib cs_demo1 cs_demo2 cs_demo3
|
|
9
|
+
- ./cs_demo1 < ../Matrix/t1
|
|
10
|
+
- ./cs_demo2 < ../Matrix/t1
|
|
11
|
+
- ./cs_demo2 < ../Matrix/ash219
|
|
12
|
+
- ./cs_demo2 < ../Matrix/bcsstk01
|
|
13
|
+
- ./cs_demo2 < ../Matrix/fs_183_1
|
|
14
|
+
- ./cs_demo2 < ../Matrix/mbeacxc
|
|
15
|
+
- ./cs_demo2 < ../Matrix/west0067
|
|
16
|
+
- ./cs_demo2 < ../Matrix/lp_afiro
|
|
17
|
+
- ./cs_demo2 < ../Matrix/bcsstk16
|
|
18
|
+
- ./cs_demo3 < ../Matrix/bcsstk01
|
|
19
|
+
- ./cs_demo3 < ../Matrix/bcsstk16
|
|
20
|
+
|
|
21
|
+
lib:
|
|
22
|
+
( cd ../Lib ; $(MAKE) )
|
|
23
|
+
|
|
24
|
+
cs_demo1: lib cs_demo1.c Makefile
|
|
25
|
+
$(CC) $(CFLAGS) $(I) -o cs_demo1 cs_demo1.c $(CS) -lm
|
|
26
|
+
|
|
27
|
+
cs_demo2: lib cs_demo2.c cs_demo.c cs_demo.h Makefile
|
|
28
|
+
$(CC) $(CFLAGS) $(I) -o cs_demo2 cs_demo2.c cs_demo.c $(CS) -lm
|
|
29
|
+
|
|
30
|
+
cs_demo3: lib cs_demo3.c cs_demo.c cs_demo.h Makefile
|
|
31
|
+
$(CC) $(CFLAGS) $(I) -o cs_demo3 cs_demo3.c cs_demo.c $(CS) -lm
|
|
32
|
+
|
|
33
|
+
clean:
|
|
34
|
+
rm -f *.o
|
|
35
|
+
|
|
36
|
+
purge: distclean
|
|
37
|
+
|
|
38
|
+
distclean: clean
|
|
39
|
+
rm -f cs_demo1 cs_demo2 cs_demo3 *.a
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
CSparse/Demo: to compile a run the demos, just type "make" in this directory.
|
|
2
|
+
The printed residuals should all be small, except for the mbeacxc matrix
|
|
3
|
+
(which is numerically and structurally singular), and ash219 (which is a
|
|
4
|
+
least-squares problem). See cs_demo.out for the proper output of "make".
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
#include "cs_demo.h"
|
|
2
|
+
#include <time.h>
|
|
3
|
+
/* 1 if A is square & upper tri., -1 if square & lower tri., 0 otherwise */
|
|
4
|
+
static int is_sym (cs *A)
|
|
5
|
+
{
|
|
6
|
+
int is_upper, is_lower, j, p, n = A->n, m = A->m, *Ap = A->p, *Ai = A->i ;
|
|
7
|
+
if (m != n) return (0) ;
|
|
8
|
+
is_upper = 1 ;
|
|
9
|
+
is_lower = 1 ;
|
|
10
|
+
for (j = 0 ; j < n ; j++)
|
|
11
|
+
{
|
|
12
|
+
for (p = Ap [j] ; p < Ap [j+1] ; p++)
|
|
13
|
+
{
|
|
14
|
+
if (Ai [p] > j) is_upper = 0 ;
|
|
15
|
+
if (Ai [p] < j) is_lower = 0 ;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return (is_upper ? 1 : (is_lower ? -1 : 0)) ;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* true for off-diagonal entries */
|
|
22
|
+
static int dropdiag (int i, int j, double aij, void *other) { return (i != j) ;}
|
|
23
|
+
|
|
24
|
+
/* C = A + triu(A,1)' */
|
|
25
|
+
static cs *make_sym (cs *A)
|
|
26
|
+
{
|
|
27
|
+
cs *AT, *C ;
|
|
28
|
+
AT = cs_transpose (A, 1) ; /* AT = A' */
|
|
29
|
+
cs_fkeep (AT, &dropdiag, NULL) ; /* drop diagonal entries from AT */
|
|
30
|
+
C = cs_add (A, AT, 1, 1) ; /* C = A+AT */
|
|
31
|
+
cs_spfree (AT) ;
|
|
32
|
+
return (C) ;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* create a right-hand side */
|
|
36
|
+
static void rhs (double *x, double *b, int m)
|
|
37
|
+
{
|
|
38
|
+
int i ;
|
|
39
|
+
for (i = 0 ; i < m ; i++) b [i] = 1 + ((double) i) / m ;
|
|
40
|
+
for (i = 0 ; i < m ; i++) x [i] = b [i] ;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* infinity-norm of x */
|
|
44
|
+
static double norm (double *x, int n)
|
|
45
|
+
{
|
|
46
|
+
int i ;
|
|
47
|
+
double normx = 0 ;
|
|
48
|
+
for (i = 0 ; i < n ; i++) normx = CS_MAX (normx, fabs (x [i])) ;
|
|
49
|
+
return (normx) ;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* compute residual, norm(A*x-b,inf) / (norm(A,1)*norm(x,inf) + norm(b,inf)) */
|
|
53
|
+
static void print_resid (int ok, cs *A, double *x, double *b, double *resid)
|
|
54
|
+
{
|
|
55
|
+
int i, m, n ;
|
|
56
|
+
if (!ok) { printf (" (failed)\n") ; return ; }
|
|
57
|
+
m = A->m ; n = A->n ;
|
|
58
|
+
for (i = 0 ; i < m ; i++) resid [i] = -b [i] ; /* resid = -b */
|
|
59
|
+
cs_gaxpy (A, x, resid) ; /* resid = resid + A*x */
|
|
60
|
+
printf ("resid: %8.2e\n", norm (resid,m) / ((n == 0) ? 1 :
|
|
61
|
+
(cs_norm (A) * norm (x,n) + norm (b,m)))) ;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
static double tic (void) { return (clock () / (double) CLOCKS_PER_SEC) ; }
|
|
65
|
+
static double toc (double t) { double s = tic () ; return (CS_MAX (0, s-t)) ; }
|
|
66
|
+
|
|
67
|
+
static void print_order (int order)
|
|
68
|
+
{
|
|
69
|
+
switch (order)
|
|
70
|
+
{
|
|
71
|
+
case 0: printf ("natural ") ; break ;
|
|
72
|
+
case 1: printf ("amd(A+A') ") ; break ;
|
|
73
|
+
case 2: printf ("amd(S'*S) ") ; break ;
|
|
74
|
+
case 3: printf ("amd(A'*A) ") ; break ;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* read a problem from a file */
|
|
79
|
+
problem *get_problem (FILE *f, double tol)
|
|
80
|
+
{
|
|
81
|
+
cs *T, *A, *C ;
|
|
82
|
+
int sym, m, n, mn, nz1, nz2 ;
|
|
83
|
+
problem *Prob ;
|
|
84
|
+
Prob = cs_calloc (1, sizeof (problem)) ;
|
|
85
|
+
if (!Prob) return (NULL) ;
|
|
86
|
+
T = cs_load (f) ; /* load triplet matrix T from a file */
|
|
87
|
+
Prob->A = A = cs_compress (T) ; /* A = compressed-column form of T */
|
|
88
|
+
cs_spfree (T) ; /* clear T */
|
|
89
|
+
if (!cs_dupl (A)) return (free_problem (Prob)) ; /* sum up duplicates */
|
|
90
|
+
Prob->sym = sym = is_sym (A) ; /* determine if A is symmetric */
|
|
91
|
+
m = A->m ; n = A->n ;
|
|
92
|
+
mn = CS_MAX (m,n) ;
|
|
93
|
+
nz1 = A->p [n] ;
|
|
94
|
+
cs_dropzeros (A) ; /* drop zero entries */
|
|
95
|
+
nz2 = A->p [n] ;
|
|
96
|
+
if (tol > 0) cs_droptol (A, tol) ; /* drop tiny entries (just to test) */
|
|
97
|
+
Prob->C = C = sym ? make_sym (A) : A ; /* C = A + triu(A,1)', or C=A */
|
|
98
|
+
if (!C) return (free_problem (Prob)) ;
|
|
99
|
+
printf ("\n--- Matrix: %d-by-%d, nnz: %d (sym: %d: nnz %d), norm: %8.2e\n",
|
|
100
|
+
m, n, A->p [n], sym, sym ? C->p [n] : 0, cs_norm (C)) ;
|
|
101
|
+
if (nz1 != nz2) printf ("zero entries dropped: %d\n", nz1 - nz2) ;
|
|
102
|
+
if (nz2 != A->p [n]) printf ("tiny entries dropped: %d\n", nz2 - A->p [n]) ;
|
|
103
|
+
Prob->b = cs_malloc (mn, sizeof (double)) ;
|
|
104
|
+
Prob->x = cs_malloc (mn, sizeof (double)) ;
|
|
105
|
+
Prob->resid = cs_malloc (mn, sizeof (double)) ;
|
|
106
|
+
return ((!Prob->b || !Prob->x || !Prob->resid) ? free_problem (Prob) : Prob) ;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* free a problem */
|
|
110
|
+
problem *free_problem (problem *Prob)
|
|
111
|
+
{
|
|
112
|
+
if (!Prob) return (NULL) ;
|
|
113
|
+
cs_spfree (Prob->A) ;
|
|
114
|
+
if (Prob->sym) cs_spfree (Prob->C) ;
|
|
115
|
+
cs_free (Prob->b) ;
|
|
116
|
+
cs_free (Prob->x) ;
|
|
117
|
+
cs_free (Prob->resid) ;
|
|
118
|
+
return (cs_free (Prob)) ;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/* solve a linear system using Cholesky, LU, and QR, with various orderings */
|
|
122
|
+
int demo2 (problem *Prob)
|
|
123
|
+
{
|
|
124
|
+
cs *A, *C ;
|
|
125
|
+
double *b, *x, *resid, t, tol ;
|
|
126
|
+
int k, m, n, ok, order, nb, ns, *r, *s, *rr, sprank ;
|
|
127
|
+
csd *D ;
|
|
128
|
+
if (!Prob) return (0) ;
|
|
129
|
+
A = Prob->A ; C = Prob->C ; b = Prob->b ; x = Prob->x ; resid = Prob->resid;
|
|
130
|
+
m = A->m ; n = A->n ;
|
|
131
|
+
tol = Prob->sym ? 0.001 : 1 ; /* partial pivoting tolerance */
|
|
132
|
+
D = cs_dmperm (C, 1) ; /* randomized dmperm analysis */
|
|
133
|
+
if (!D) return (0) ;
|
|
134
|
+
nb = D->nb ; r = D->r ; s = D->s ; rr = D->rr ;
|
|
135
|
+
sprank = rr [3] ;
|
|
136
|
+
for (ns = 0, k = 0 ; k < nb ; k++)
|
|
137
|
+
{
|
|
138
|
+
ns += ((r [k+1] == r [k]+1) && (s [k+1] == s [k]+1)) ;
|
|
139
|
+
}
|
|
140
|
+
printf ("blocks: %d singletons: %d structural rank: %d\n", nb, ns, sprank) ;
|
|
141
|
+
cs_dfree (D) ;
|
|
142
|
+
for (order = 0 ; order <= 3 ; order += 3) /* natural and amd(A'*A) */
|
|
143
|
+
{
|
|
144
|
+
if (!order && m > 1000) continue ;
|
|
145
|
+
printf ("QR ") ;
|
|
146
|
+
print_order (order) ;
|
|
147
|
+
rhs (x, b, m) ; /* compute right-hand side */
|
|
148
|
+
t = tic () ;
|
|
149
|
+
ok = cs_qrsol (order, C, x) ; /* min norm(Ax-b) with QR */
|
|
150
|
+
printf ("time: %8.2f ", toc (t)) ;
|
|
151
|
+
print_resid (ok, C, x, b, resid) ; /* print residual */
|
|
152
|
+
}
|
|
153
|
+
if (m != n || sprank < n) return (1) ; /* return if rect. or singular*/
|
|
154
|
+
for (order = 0 ; order <= 3 ; order++) /* try all orderings */
|
|
155
|
+
{
|
|
156
|
+
if (!order && m > 1000) continue ;
|
|
157
|
+
printf ("LU ") ;
|
|
158
|
+
print_order (order) ;
|
|
159
|
+
rhs (x, b, m) ; /* compute right-hand side */
|
|
160
|
+
t = tic () ;
|
|
161
|
+
ok = cs_lusol (order, C, x, tol) ; /* solve Ax=b with LU */
|
|
162
|
+
printf ("time: %8.2f ", toc (t)) ;
|
|
163
|
+
print_resid (ok, C, x, b, resid) ; /* print residual */
|
|
164
|
+
}
|
|
165
|
+
if (!Prob->sym) return (1) ;
|
|
166
|
+
for (order = 0 ; order <= 1 ; order++) /* natural and amd(A+A') */
|
|
167
|
+
{
|
|
168
|
+
if (!order && m > 1000) continue ;
|
|
169
|
+
printf ("Chol ") ;
|
|
170
|
+
print_order (order) ;
|
|
171
|
+
rhs (x, b, m) ; /* compute right-hand side */
|
|
172
|
+
t = tic () ;
|
|
173
|
+
ok = cs_cholsol (order, C, x) ; /* solve Ax=b with Cholesky */
|
|
174
|
+
printf ("time: %8.2f ", toc (t)) ;
|
|
175
|
+
print_resid (ok, C, x, b, resid) ; /* print residual */
|
|
176
|
+
}
|
|
177
|
+
return (1) ;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/* free workspace for demo3 */
|
|
181
|
+
static int done3 (int ok, css *S, csn *N, double *y, cs *W, cs *E, int *p)
|
|
182
|
+
{
|
|
183
|
+
cs_sfree (S) ;
|
|
184
|
+
cs_nfree (N) ;
|
|
185
|
+
cs_free (y) ;
|
|
186
|
+
cs_spfree (W) ;
|
|
187
|
+
cs_spfree (E) ;
|
|
188
|
+
cs_free (p) ;
|
|
189
|
+
return (ok) ;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/* Cholesky update/downdate */
|
|
193
|
+
int demo3 (problem *Prob)
|
|
194
|
+
{
|
|
195
|
+
cs *A, *C, *W = NULL, *WW, *WT, *E = NULL, *W2 ;
|
|
196
|
+
int n, k, *Li, *Lp, *Wi, *Wp, p1, p2, *p = NULL, ok ;
|
|
197
|
+
double *b, *x, *resid, *y = NULL, *Lx, *Wx, s, t, t1 ;
|
|
198
|
+
css *S = NULL ;
|
|
199
|
+
csn *N = NULL ;
|
|
200
|
+
if (!Prob || !Prob->sym || Prob->A->n == 0) return (0) ;
|
|
201
|
+
A = Prob->A ; C = Prob->C ; b = Prob->b ; x = Prob->x ; resid = Prob->resid;
|
|
202
|
+
n = A->n ;
|
|
203
|
+
if (!Prob->sym || n == 0) return (1) ;
|
|
204
|
+
rhs (x, b, n) ; /* compute right-hand side */
|
|
205
|
+
printf ("\nchol then update/downdate ") ;
|
|
206
|
+
print_order (1) ;
|
|
207
|
+
y = cs_malloc (n, sizeof (double)) ;
|
|
208
|
+
t = tic () ;
|
|
209
|
+
S = cs_schol (1, C) ; /* symbolic Chol, amd(A+A') */
|
|
210
|
+
printf ("\nsymbolic chol time %8.2f\n", toc (t)) ;
|
|
211
|
+
t = tic () ;
|
|
212
|
+
N = cs_chol (C, S) ; /* numeric Cholesky */
|
|
213
|
+
printf ("numeric chol time %8.2f\n", toc (t)) ;
|
|
214
|
+
if (!S || !N || !y) return (done3 (0, S, N, y, W, E, p)) ;
|
|
215
|
+
t = tic () ;
|
|
216
|
+
cs_ipvec (S->pinv, b, y, n) ; /* y = P*b */
|
|
217
|
+
cs_lsolve (N->L, y) ; /* y = L\y */
|
|
218
|
+
cs_ltsolve (N->L, y) ; /* y = L'\y */
|
|
219
|
+
cs_pvec (S->pinv, y, x, n) ; /* x = P'*y */
|
|
220
|
+
printf ("solve chol time %8.2f\n", toc (t)) ;
|
|
221
|
+
printf ("original: ") ;
|
|
222
|
+
print_resid (1, C, x, b, resid) ; /* print residual */
|
|
223
|
+
k = n/2 ; /* construct W */
|
|
224
|
+
W = cs_spalloc (n, 1, n, 1, 0) ;
|
|
225
|
+
if (!W) return (done3 (0, S, N, y, W, E, p)) ;
|
|
226
|
+
Lp = N->L->p ; Li = N->L->i ; Lx = N->L->x ;
|
|
227
|
+
Wp = W->p ; Wi = W->i ; Wx = W->x ;
|
|
228
|
+
Wp [0] = 0 ;
|
|
229
|
+
p1 = Lp [k] ;
|
|
230
|
+
Wp [1] = Lp [k+1] - p1 ;
|
|
231
|
+
s = Lx [p1] ;
|
|
232
|
+
srand (1) ;
|
|
233
|
+
for ( ; p1 < Lp [k+1] ; p1++)
|
|
234
|
+
{
|
|
235
|
+
p2 = p1 - Lp [k] ;
|
|
236
|
+
Wi [p2] = Li [p1] ;
|
|
237
|
+
Wx [p2] = s * rand () / ((double) RAND_MAX) ;
|
|
238
|
+
}
|
|
239
|
+
t = tic () ;
|
|
240
|
+
ok = cs_updown (N->L, +1, W, S->parent) ; /* update: L*L'+W*W' */
|
|
241
|
+
t1 = toc (t) ;
|
|
242
|
+
printf ("update: time: %8.2f\n", t1) ;
|
|
243
|
+
if (!ok) return (done3 (0, S, N, y, W, E, p)) ;
|
|
244
|
+
t = tic () ;
|
|
245
|
+
cs_ipvec (S->pinv, b, y, n) ; /* y = P*b */
|
|
246
|
+
cs_lsolve (N->L, y) ; /* y = L\y */
|
|
247
|
+
cs_ltsolve (N->L, y) ; /* y = L'\y */
|
|
248
|
+
cs_pvec (S->pinv, y, x, n) ; /* x = P'*y */
|
|
249
|
+
t = toc (t) ;
|
|
250
|
+
p = cs_pinv (S->pinv, n) ;
|
|
251
|
+
W2 = cs_permute (W, p, NULL, 1) ; /* E = C + (P'W)*(P'W)' */
|
|
252
|
+
WT = cs_transpose (W2,1) ;
|
|
253
|
+
WW = cs_multiply (W2, WT) ;
|
|
254
|
+
cs_spfree (WT) ;
|
|
255
|
+
cs_spfree (W2) ;
|
|
256
|
+
E = cs_add (C, WW, 1, 1) ;
|
|
257
|
+
cs_spfree (WW) ;
|
|
258
|
+
if (!E || !p) return (done3 (0, S, N, y, W, E, p)) ;
|
|
259
|
+
printf ("update: time: %8.2f (incl solve) ", t1+t) ;
|
|
260
|
+
print_resid (1, E, x, b, resid) ; /* print residual */
|
|
261
|
+
cs_nfree (N) ; /* clear N */
|
|
262
|
+
t = tic () ;
|
|
263
|
+
N = cs_chol (E, S) ; /* numeric Cholesky */
|
|
264
|
+
if (!N) return (done3 (0, S, N, y, W, E, p)) ;
|
|
265
|
+
cs_ipvec (S->pinv, b, y, n) ; /* y = P*b */
|
|
266
|
+
cs_lsolve (N->L, y) ; /* y = L\y */
|
|
267
|
+
cs_ltsolve (N->L, y) ; /* y = L'\y */
|
|
268
|
+
cs_pvec (S->pinv, y, x, n) ; /* x = P'*y */
|
|
269
|
+
t = toc (t) ;
|
|
270
|
+
printf ("rechol: time: %8.2f (incl solve) ", t) ;
|
|
271
|
+
print_resid (1, E, x, b, resid) ; /* print residual */
|
|
272
|
+
t = tic () ;
|
|
273
|
+
ok = cs_updown (N->L, -1, W, S->parent) ; /* downdate: L*L'-W*W' */
|
|
274
|
+
t1 = toc (t) ;
|
|
275
|
+
if (!ok) return (done3 (0, S, N, y, W, E, p)) ;
|
|
276
|
+
printf ("downdate: time: %8.2f\n", t1) ;
|
|
277
|
+
t = tic () ;
|
|
278
|
+
cs_ipvec (S->pinv, b, y, n) ; /* y = P*b */
|
|
279
|
+
cs_lsolve (N->L, y) ; /* y = L\y */
|
|
280
|
+
cs_ltsolve (N->L, y) ; /* y = L'\y */
|
|
281
|
+
cs_pvec (S->pinv, y, x, n) ; /* x = P'*y */
|
|
282
|
+
t = toc (t) ;
|
|
283
|
+
printf ("downdate: time: %8.2f (incl solve) ", t1+t) ;
|
|
284
|
+
print_resid (1, C, x, b, resid) ; /* print residual */
|
|
285
|
+
return (done3 (1, S, N, y, W, E, p)) ;
|
|
286
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#include "cs.h"
|
|
2
|
+
typedef struct problem_struct
|
|
3
|
+
{
|
|
4
|
+
cs *A ;
|
|
5
|
+
cs *C ;
|
|
6
|
+
int sym ;
|
|
7
|
+
double *x ;
|
|
8
|
+
double *b ;
|
|
9
|
+
double *resid ;
|
|
10
|
+
} problem ;
|
|
11
|
+
|
|
12
|
+
problem *get_problem (FILE *f, double tol) ;
|
|
13
|
+
int demo2 (problem *Prob) ;
|
|
14
|
+
int demo3 (problem *Prob) ;
|
|
15
|
+
problem *free_problem (problem *Prob) ;
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
./cs_demo1 < ../Matrix/t1
|
|
2
|
+
T:
|
|
3
|
+
CSparse Version 2.2.0, Mar 31, 2007. Copyright (c) Timothy A. Davis, 2006-2007
|
|
4
|
+
triplet: 4-by-4, nzmax: 16 nnz: 10
|
|
5
|
+
2 2 : 3
|
|
6
|
+
1 0 : 3.1
|
|
7
|
+
3 3 : 1
|
|
8
|
+
0 2 : 3.2
|
|
9
|
+
1 1 : 2.9
|
|
10
|
+
3 0 : 3.5
|
|
11
|
+
3 1 : 0.4
|
|
12
|
+
1 3 : 0.9
|
|
13
|
+
0 0 : 4.5
|
|
14
|
+
2 1 : 1.7
|
|
15
|
+
A:
|
|
16
|
+
CSparse Version 2.2.0, Mar 31, 2007. Copyright (c) Timothy A. Davis, 2006-2007
|
|
17
|
+
4-by-4, nzmax: 10 nnz: 10, 1-norm: 11.1
|
|
18
|
+
col 0 : locations 0 to 2
|
|
19
|
+
1 : 3.1
|
|
20
|
+
3 : 3.5
|
|
21
|
+
0 : 4.5
|
|
22
|
+
col 1 : locations 3 to 5
|
|
23
|
+
1 : 2.9
|
|
24
|
+
3 : 0.4
|
|
25
|
+
2 : 1.7
|
|
26
|
+
col 2 : locations 6 to 7
|
|
27
|
+
2 : 3
|
|
28
|
+
0 : 3.2
|
|
29
|
+
col 3 : locations 8 to 9
|
|
30
|
+
3 : 1
|
|
31
|
+
1 : 0.9
|
|
32
|
+
AT:
|
|
33
|
+
CSparse Version 2.2.0, Mar 31, 2007. Copyright (c) Timothy A. Davis, 2006-2007
|
|
34
|
+
4-by-4, nzmax: 10 nnz: 10, 1-norm: 7.7
|
|
35
|
+
col 0 : locations 0 to 1
|
|
36
|
+
0 : 4.5
|
|
37
|
+
2 : 3.2
|
|
38
|
+
col 1 : locations 2 to 4
|
|
39
|
+
0 : 3.1
|
|
40
|
+
1 : 2.9
|
|
41
|
+
3 : 0.9
|
|
42
|
+
col 2 : locations 5 to 6
|
|
43
|
+
1 : 1.7
|
|
44
|
+
2 : 3
|
|
45
|
+
col 3 : locations 7 to 9
|
|
46
|
+
0 : 3.5
|
|
47
|
+
1 : 0.4
|
|
48
|
+
3 : 1
|
|
49
|
+
D:
|
|
50
|
+
CSparse Version 2.2.0, Mar 31, 2007. Copyright (c) Timothy A. Davis, 2006-2007
|
|
51
|
+
4-by-4, nzmax: 16 nnz: 16, 1-norm: 139.58
|
|
52
|
+
col 0 : locations 0 to 3
|
|
53
|
+
1 : 13.95
|
|
54
|
+
3 : 15.75
|
|
55
|
+
0 : 100.28
|
|
56
|
+
2 : 9.6
|
|
57
|
+
col 1 : locations 4 to 7
|
|
58
|
+
1 : 88.62
|
|
59
|
+
3 : 12.91
|
|
60
|
+
0 : 13.95
|
|
61
|
+
2 : 4.93
|
|
62
|
+
col 2 : locations 8 to 11
|
|
63
|
+
1 : 4.93
|
|
64
|
+
3 : 0.68
|
|
65
|
+
2 : 81.68
|
|
66
|
+
0 : 9.6
|
|
67
|
+
col 3 : locations 12 to 15
|
|
68
|
+
1 : 12.91
|
|
69
|
+
3 : 83.2
|
|
70
|
+
0 : 15.75
|
|
71
|
+
2 : 0.68
|
|
72
|
+
./cs_demo2 < ../Matrix/t1
|
|
73
|
+
|
|
74
|
+
--- Matrix: 4-by-4, nnz: 10 (sym: 0: nnz 0), norm: 1.11e+01
|
|
75
|
+
blocks: 1 singletons: 0 structural rank: 4
|
|
76
|
+
QR natural time: 0.00 resid: 1.53e-17
|
|
77
|
+
QR amd(A'*A) time: 0.00 resid: 1.53e-17
|
|
78
|
+
LU natural time: 0.00 resid: 1.04e-17
|
|
79
|
+
LU amd(A+A') time: 0.00 resid: 4.94e-18
|
|
80
|
+
LU amd(S'*S) time: 0.00 resid: 4.94e-18
|
|
81
|
+
LU amd(A'*A) time: 0.00 resid: 4.94e-18
|
|
82
|
+
./cs_demo2 < ../Matrix/ash219
|
|
83
|
+
|
|
84
|
+
--- Matrix: 219-by-85, nnz: 438 (sym: 0: nnz 0), norm: 9.00e+00
|
|
85
|
+
blocks: 1 singletons: 0 structural rank: 85
|
|
86
|
+
QR natural time: 0.00 resid: 1.61e-02
|
|
87
|
+
QR amd(A'*A) time: 0.00 resid: 1.61e-02
|
|
88
|
+
./cs_demo2 < ../Matrix/bcsstk01
|
|
89
|
+
|
|
90
|
+
--- Matrix: 48-by-48, nnz: 224 (sym: -1: nnz 400), norm: 3.57e+09
|
|
91
|
+
blocks: 1 singletons: 0 structural rank: 48
|
|
92
|
+
QR natural time: 0.00 resid: 2.83e-19
|
|
93
|
+
QR amd(A'*A) time: 0.00 resid: 5.19e-19
|
|
94
|
+
LU natural time: 0.00 resid: 2.63e-19
|
|
95
|
+
LU amd(A+A') time: 0.00 resid: 8.63e-20
|
|
96
|
+
LU amd(S'*S) time: 0.00 resid: 2.04e-19
|
|
97
|
+
LU amd(A'*A) time: 0.00 resid: 2.04e-19
|
|
98
|
+
Chol natural time: 0.00 resid: 1.90e-19
|
|
99
|
+
Chol amd(A+A') time: 0.00 resid: 2.01e-19
|
|
100
|
+
./cs_demo2 < ../Matrix/fs_183_1
|
|
101
|
+
|
|
102
|
+
--- Matrix: 183-by-183, nnz: 988 (sym: 0: nnz 0), norm: 1.70e+09
|
|
103
|
+
zero entries dropped: 71
|
|
104
|
+
tiny entries dropped: 10
|
|
105
|
+
blocks: 38 singletons: 37 structural rank: 183
|
|
106
|
+
QR natural time: 0.00 resid: 1.09e-27
|
|
107
|
+
QR amd(A'*A) time: 0.01 resid: 5.34e-28
|
|
108
|
+
LU natural time: 0.00 resid: 3.08e-28
|
|
109
|
+
LU amd(A+A') time: 0.00 resid: 1.42e-27
|
|
110
|
+
LU amd(S'*S) time: 0.01 resid: 7.11e-28
|
|
111
|
+
LU amd(A'*A) time: 0.00 resid: 7.11e-28
|
|
112
|
+
./cs_demo2 < ../Matrix/mbeacxc
|
|
113
|
+
|
|
114
|
+
--- Matrix: 492-by-490, nnz: 49920 (sym: 0: nnz 0), norm: 9.29e-01
|
|
115
|
+
blocks: 10 singletons: 8 structural rank: 448
|
|
116
|
+
QR natural time: 0.24 resid: nan
|
|
117
|
+
QR amd(A'*A) time: 0.30 resid: nan
|
|
118
|
+
./cs_demo2 < ../Matrix/west0067
|
|
119
|
+
|
|
120
|
+
--- Matrix: 67-by-67, nnz: 294 (sym: 0: nnz 0), norm: 6.14e+00
|
|
121
|
+
blocks: 2 singletons: 1 structural rank: 67
|
|
122
|
+
QR natural time: 0.00 resid: 3.42e-17
|
|
123
|
+
QR amd(A'*A) time: 0.00 resid: 1.95e-17
|
|
124
|
+
LU natural time: 0.00 resid: 3.85e-17
|
|
125
|
+
LU amd(A+A') time: 0.00 resid: 1.95e-17
|
|
126
|
+
LU amd(S'*S) time: 0.00 resid: 2.60e-17
|
|
127
|
+
LU amd(A'*A) time: 0.00 resid: 2.60e-17
|
|
128
|
+
./cs_demo2 < ../Matrix/lp_afiro
|
|
129
|
+
|
|
130
|
+
--- Matrix: 27-by-51, nnz: 102 (sym: 0: nnz 0), norm: 3.43e+00
|
|
131
|
+
blocks: 1 singletons: 0 structural rank: 27
|
|
132
|
+
QR natural time: 0.00 resid: 9.54e-17
|
|
133
|
+
QR amd(A'*A) time: 0.00 resid: 1.89e-16
|
|
134
|
+
./cs_demo2 < ../Matrix/bcsstk16
|
|
135
|
+
|
|
136
|
+
--- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
|
|
137
|
+
blocks: 75 singletons: 74 structural rank: 4884
|
|
138
|
+
QR amd(A'*A) time: 2.36 resid: 2.02e-22
|
|
139
|
+
LU amd(A+A') time: 1.41 resid: 1.06e-22
|
|
140
|
+
LU amd(S'*S) time: 1.38 resid: 1.21e-22
|
|
141
|
+
LU amd(A'*A) time: 1.46 resid: 1.70e-22
|
|
142
|
+
Chol amd(A+A') time: 0.64 resid: 9.28e-23
|
|
143
|
+
./cs_demo3 < ../Matrix/bcsstk01
|
|
144
|
+
|
|
145
|
+
--- Matrix: 48-by-48, nnz: 224 (sym: -1: nnz 400), norm: 3.57e+09
|
|
146
|
+
|
|
147
|
+
chol then update/downdate amd(A+A')
|
|
148
|
+
symbolic chol time 0.00
|
|
149
|
+
numeric chol time 0.00
|
|
150
|
+
solve chol time 0.00
|
|
151
|
+
original: resid: 2.01e-19
|
|
152
|
+
update: time: 0.00
|
|
153
|
+
update: time: 0.00 (incl solve) resid: 8.39e-19
|
|
154
|
+
rechol: time: 0.00 (incl solve) resid: 1.20e-18
|
|
155
|
+
downdate: time: 0.00
|
|
156
|
+
downdate: time: 0.00 (incl solve) resid: 3.30e-17
|
|
157
|
+
./cs_demo3 < ../Matrix/bcsstk16
|
|
158
|
+
|
|
159
|
+
--- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
|
|
160
|
+
|
|
161
|
+
chol then update/downdate amd(A+A')
|
|
162
|
+
symbolic chol time 0.04
|
|
163
|
+
numeric chol time 0.59
|
|
164
|
+
solve chol time 0.02
|
|
165
|
+
original: resid: 9.28e-23
|
|
166
|
+
update: time: 0.00
|
|
167
|
+
update: time: 0.01 (incl solve) resid: 8.62e-24
|
|
168
|
+
rechol: time: 0.61 (incl solve) resid: 8.72e-24
|
|
169
|
+
downdate: time: 0.00
|
|
170
|
+
downdate: time: 0.01 (incl solve) resid: 3.60e-22
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#include "cs.h"
|
|
2
|
+
int main (void)
|
|
3
|
+
{
|
|
4
|
+
cs *T, *A, *Eye, *AT, *C, *D ;
|
|
5
|
+
int i, m ;
|
|
6
|
+
T = cs_load (stdin) ; /* load triplet matrix T from stdin */
|
|
7
|
+
printf ("T:\n") ; cs_print (T, 0) ; /* print T */
|
|
8
|
+
A = cs_compress (T) ; /* A = compressed-column form of T */
|
|
9
|
+
printf ("A:\n") ; cs_print (A, 0) ; /* print A */
|
|
10
|
+
cs_spfree (T) ; /* clear T */
|
|
11
|
+
AT = cs_transpose (A, 1) ; /* AT = A' */
|
|
12
|
+
printf ("AT:\n") ; cs_print (AT, 0) ; /* print AT */
|
|
13
|
+
m = A ? A->m : 0 ; /* m = # of rows of A */
|
|
14
|
+
T = cs_spalloc (m, m, m, 1, 1) ; /* create triplet identity matrix */
|
|
15
|
+
for (i = 0 ; i < m ; i++) cs_entry (T, i, i, 1) ;
|
|
16
|
+
Eye = cs_compress (T) ; /* Eye = speye (m) */
|
|
17
|
+
cs_spfree (T) ;
|
|
18
|
+
C = cs_multiply (A, AT) ; /* C = A*A' */
|
|
19
|
+
D = cs_add (C, Eye, 1, cs_norm (C)) ; /* D = C + Eye*norm (C,1) */
|
|
20
|
+
printf ("D:\n") ; cs_print (D, 0) ; /* print D */
|
|
21
|
+
cs_spfree (A) ; /* clear A AT C D Eye */
|
|
22
|
+
cs_spfree (AT) ;
|
|
23
|
+
cs_spfree (C) ;
|
|
24
|
+
cs_spfree (D) ;
|
|
25
|
+
cs_spfree (Eye) ;
|
|
26
|
+
return (0) ;
|
|
27
|
+
}
|