├── .gitignore ├── README.md ├── cpp ├── cuda_summation │ ├── CMakeLists.txt │ ├── README.md │ ├── docker │ │ ├── Dockerfile │ │ ├── docker-build.sh │ │ └── docker-run.sh │ └── main.cu └── tbb_summation │ ├── CMakeLists.txt │ ├── docker │ ├── Dockerfile │ ├── docker-build.sh │ └── docker-run.sh │ └── main.cpp └── python ├── cpu_vs_gpu_matmul ├── README.md ├── matmul_cpu_vs_gpu_pytorch.py └── matmul_cpu_vs_gpu_tensorflow.py ├── icp_gauss_newton_from_scratch ├── README.txt ├── config.py ├── dataset_generator.py ├── figures │ ├── high_noise_with_prealignements_with_pruning │ │ ├── Screenshot from 2024-09-07 14-23-28.png │ │ ├── Screenshot from 2024-09-07 14-23-32.png │ │ ├── Screenshot from 2024-09-07 14-23-38.png │ │ ├── config.txt │ │ └── config.txt~ │ ├── high_noise_with_prealignements_without_pruning │ │ ├── Screenshot from 2024-09-07 14-26-29.png │ │ ├── Screenshot from 2024-09-07 14-26-32.png │ │ ├── Screenshot from 2024-09-07 14-26-37.png │ │ ├── config.txt │ │ └── config.txt~ │ ├── high_noise_without_prealignements_with_pruning │ │ ├── Screenshot from 2024-09-07 14-24-21.png │ │ ├── Screenshot from 2024-09-07 14-24-24.png │ │ ├── Screenshot from 2024-09-07 14-24-28.png │ │ ├── config.txt │ │ └── config.txt~ │ ├── low_noise_with_prealignements_with_pruning │ │ ├── Screenshot from 2024-09-07 14-22-02.png │ │ ├── Screenshot from 2024-09-07 14-22-05.png │ │ └── config.txt │ └── low_noise_without_prealignements_with_pruning │ │ ├── Screenshot from 2024-09-07 14-24-54.png │ │ ├── Screenshot from 2024-09-07 14-24-59.png │ │ ├── config.txt │ │ └── config.txt~ ├── main_icp.py └── visualizer.py ├── lib ├── pose_module.py └── test_oplus.py ├── pgo_numpy ├── 1_baseline_gtsam_5nodes_rect.py ├── 1_pgo_numpy_from_scratch_5nodes_rect.py ├── 2_pgo_numpy_from_scratch_30nodes_circle.py └── pgo_numpy_lib.py ├── single_SE3_pose_averaging └── main_onmanifold_ganussnewton.py ├── single_rotation_averaging ├── README.md ├── main_naive.py ├── main_onmanifold_ganussnewton.py └── main_onmanifold_ganussnewton_result.png └── two_SE3_pose_graph_optimization ├── main.py └── main_refactored.py /.gitignore: -------------------------------------------------------------------------------- 1 | *build 2 | *__pycache__* 3 | .DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/README.md -------------------------------------------------------------------------------- /cpp/cuda_summation/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/cpp/cuda_summation/CMakeLists.txt -------------------------------------------------------------------------------- /cpp/cuda_summation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/cpp/cuda_summation/README.md -------------------------------------------------------------------------------- /cpp/cuda_summation/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/cpp/cuda_summation/docker/Dockerfile -------------------------------------------------------------------------------- /cpp/cuda_summation/docker/docker-build.sh: -------------------------------------------------------------------------------- 1 | docker build -t my-ubuntu-dev:24.04-cuda . -------------------------------------------------------------------------------- /cpp/cuda_summation/docker/docker-run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/cpp/cuda_summation/docker/docker-run.sh -------------------------------------------------------------------------------- /cpp/cuda_summation/main.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/cpp/cuda_summation/main.cu -------------------------------------------------------------------------------- /cpp/tbb_summation/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/cpp/tbb_summation/CMakeLists.txt -------------------------------------------------------------------------------- /cpp/tbb_summation/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/cpp/tbb_summation/docker/Dockerfile -------------------------------------------------------------------------------- /cpp/tbb_summation/docker/docker-build.sh: -------------------------------------------------------------------------------- 1 | docker build -t my-ubuntu-dev:24.04 . -------------------------------------------------------------------------------- /cpp/tbb_summation/docker/docker-run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/cpp/tbb_summation/docker/docker-run.sh -------------------------------------------------------------------------------- /cpp/tbb_summation/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/cpp/tbb_summation/main.cpp -------------------------------------------------------------------------------- /python/cpu_vs_gpu_matmul/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/cpu_vs_gpu_matmul/README.md -------------------------------------------------------------------------------- /python/cpu_vs_gpu_matmul/matmul_cpu_vs_gpu_pytorch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/cpu_vs_gpu_matmul/matmul_cpu_vs_gpu_pytorch.py -------------------------------------------------------------------------------- /python/cpu_vs_gpu_matmul/matmul_cpu_vs_gpu_tensorflow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/cpu_vs_gpu_matmul/matmul_cpu_vs_gpu_tensorflow.py -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/README.txt -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/config.py -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/dataset_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/dataset_generator.py -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_with_pruning/Screenshot from 2024-09-07 14-23-28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_with_pruning/Screenshot from 2024-09-07 14-23-28.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_with_pruning/Screenshot from 2024-09-07 14-23-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_with_pruning/Screenshot from 2024-09-07 14-23-32.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_with_pruning/Screenshot from 2024-09-07 14-23-38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_with_pruning/Screenshot from 2024-09-07 14-23-38.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_with_pruning/config.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_with_pruning/config.txt -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_with_pruning/config.txt~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_with_pruning/config.txt~ -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_without_pruning/Screenshot from 2024-09-07 14-26-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_without_pruning/Screenshot from 2024-09-07 14-26-29.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_without_pruning/Screenshot from 2024-09-07 14-26-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_without_pruning/Screenshot from 2024-09-07 14-26-32.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_without_pruning/Screenshot from 2024-09-07 14-26-37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_without_pruning/Screenshot from 2024-09-07 14-26-37.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_without_pruning/config.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_without_pruning/config.txt -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_without_pruning/config.txt~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_with_prealignements_without_pruning/config.txt~ -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_without_prealignements_with_pruning/Screenshot from 2024-09-07 14-24-21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_without_prealignements_with_pruning/Screenshot from 2024-09-07 14-24-21.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_without_prealignements_with_pruning/Screenshot from 2024-09-07 14-24-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_without_prealignements_with_pruning/Screenshot from 2024-09-07 14-24-24.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_without_prealignements_with_pruning/Screenshot from 2024-09-07 14-24-28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_without_prealignements_with_pruning/Screenshot from 2024-09-07 14-24-28.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_without_prealignements_with_pruning/config.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_without_prealignements_with_pruning/config.txt -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/high_noise_without_prealignements_with_pruning/config.txt~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/high_noise_without_prealignements_with_pruning/config.txt~ -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/low_noise_with_prealignements_with_pruning/Screenshot from 2024-09-07 14-22-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/low_noise_with_prealignements_with_pruning/Screenshot from 2024-09-07 14-22-02.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/low_noise_with_prealignements_with_pruning/Screenshot from 2024-09-07 14-22-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/low_noise_with_prealignements_with_pruning/Screenshot from 2024-09-07 14-22-05.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/low_noise_with_prealignements_with_pruning/config.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/low_noise_with_prealignements_with_pruning/config.txt -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/low_noise_without_prealignements_with_pruning/Screenshot from 2024-09-07 14-24-54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/low_noise_without_prealignements_with_pruning/Screenshot from 2024-09-07 14-24-54.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/low_noise_without_prealignements_with_pruning/Screenshot from 2024-09-07 14-24-59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/low_noise_without_prealignements_with_pruning/Screenshot from 2024-09-07 14-24-59.png -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/low_noise_without_prealignements_with_pruning/config.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/low_noise_without_prealignements_with_pruning/config.txt -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/figures/low_noise_without_prealignements_with_pruning/config.txt~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/figures/low_noise_without_prealignements_with_pruning/config.txt~ -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/main_icp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/main_icp.py -------------------------------------------------------------------------------- /python/icp_gauss_newton_from_scratch/visualizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/icp_gauss_newton_from_scratch/visualizer.py -------------------------------------------------------------------------------- /python/lib/pose_module.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/lib/pose_module.py -------------------------------------------------------------------------------- /python/lib/test_oplus.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/lib/test_oplus.py -------------------------------------------------------------------------------- /python/pgo_numpy/1_baseline_gtsam_5nodes_rect.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/pgo_numpy/1_baseline_gtsam_5nodes_rect.py -------------------------------------------------------------------------------- /python/pgo_numpy/1_pgo_numpy_from_scratch_5nodes_rect.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/pgo_numpy/1_pgo_numpy_from_scratch_5nodes_rect.py -------------------------------------------------------------------------------- /python/pgo_numpy/2_pgo_numpy_from_scratch_30nodes_circle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/pgo_numpy/2_pgo_numpy_from_scratch_30nodes_circle.py -------------------------------------------------------------------------------- /python/pgo_numpy/pgo_numpy_lib.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/pgo_numpy/pgo_numpy_lib.py -------------------------------------------------------------------------------- /python/single_SE3_pose_averaging/main_onmanifold_ganussnewton.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/single_SE3_pose_averaging/main_onmanifold_ganussnewton.py -------------------------------------------------------------------------------- /python/single_rotation_averaging/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/single_rotation_averaging/README.md -------------------------------------------------------------------------------- /python/single_rotation_averaging/main_naive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/single_rotation_averaging/main_naive.py -------------------------------------------------------------------------------- /python/single_rotation_averaging/main_onmanifold_ganussnewton.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/single_rotation_averaging/main_onmanifold_ganussnewton.py -------------------------------------------------------------------------------- /python/single_rotation_averaging/main_onmanifold_ganussnewton_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/single_rotation_averaging/main_onmanifold_ganussnewton_result.png -------------------------------------------------------------------------------- /python/two_SE3_pose_graph_optimization/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/two_SE3_pose_graph_optimization/main.py -------------------------------------------------------------------------------- /python/two_SE3_pose_graph_optimization/main_refactored.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gisbi-kim/numerical_geometric_programming_lectures/HEAD/python/two_SE3_pose_graph_optimization/main_refactored.py --------------------------------------------------------------------------------