Skip to content
Merged
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
7a42611
allow use of arithmetic constants alongside expressions in products e…
evaleev Nov 21, 2025
8a8c94f
preliminary implementation of PythonEinsumGenerator
evaleev Nov 21, 2025
72504a8
added 1 einsum ref output
evaleev Nov 21, 2025
66dac48
port over scope_exit wrapper from mpqc
evaleev Nov 21, 2025
5af85f1
test_export: Implement RAII cleanup for temporary test directories
evaleev Nov 21, 2025
75213c9
test_export_python.cpp: Fix command injection vulnerability
evaleev Nov 21, 2025
54556c0
PythonEinsumGenerator: index mapping does not use global state any lo…
evaleev Nov 21, 2025
eb8637b
Initial plan
Copilot Nov 21, 2025
9deec68
port over scope_exit wrapper from mpqc
evaleev Nov 21, 2025
785edeb
test_export: Implement RAII cleanup for temporary test directories
evaleev Nov 21, 2025
ec5ca90
test_export_python.cpp: Fix command injection vulnerability
evaleev Nov 21, 2025
1f3c2e6
PythonEinsumGenerator: index mapping does not use global state any lo…
evaleev Nov 21, 2025
cbe70f5
Apply suggestions from code review
evaleev Nov 21, 2025
2702b2c
Merge branch 'feature/export-numpy' into copilot/sub-pr-429
evaleev Nov 21, 2025
f3113a9
Fix shell escaping vulnerability in test_export_python.cpp
Copilot Nov 21, 2025
b11a07b
Apply suggestions from code review
evaleev Nov 21, 2025
0e11d25
Update progress - code review passed
Copilot Nov 21, 2025
0d16763
Remove CodeQL build artifacts and update .gitignore
Copilot Nov 21, 2025
13c0c70
Merge branch 'feature/export-numpy' into copilot/sub-pr-429
evaleev Nov 21, 2025
afa16eb
Merge pull request #430 from ValeevGroup/copilot/sub-pr-429
evaleev Nov 21, 2025
6ab03ed
Update tests/unit/test_export_python.cpp
evaleev Nov 22, 2025
94ccc45
introduced sequant::printf
evaleev Nov 21, 2025
580278c
Apply suggestions from code review
evaleev Nov 22, 2025
8b36281
switch to actions/setup-python
evaleev Nov 23, 2025
32d3367
[dox] fixup
evaleev Nov 23, 2025
05d149f
sequant::wprintf fixup format string
evaleev Nov 23, 2025
e66f924
Merge branch 'master' into feature/export-numpy
evaleev Nov 27, 2025
d33818b
[export] python tensor names are annotated by space tags, just like o…
evaleev Nov 27, 2025
142bb86
[export/python] validate ternary contraction, both source code and nu…
evaleev Nov 27, 2025
663b35c
[export/python] validate tensor + tensor*tensor expression, both sour…
evaleev Nov 28, 2025
dc3cf69
[export/python] added reference code to named_expression_group
evaleev Nov 28, 2025
7cc9c3a
[export/python] adjust sanitize_python_name to deal with wide chars
evaleev Nov 28, 2025
9cd18e9
[export/python] remove files in destroy
evaleev Nov 28, 2025
113ce2f
[export/python] preserve the case when mapping Index to einsum index
evaleev Nov 28, 2025
d768e3c
[export/python] redesign generator/context hierarchy along the lines …
evaleev Nov 28, 2025
cea5f55
[export/python] (optionally, on by detail) import modules at the begi…
evaleev Nov 28, 2025
f7f2b53
[export] unname unused vars instead of (void)
evaleev Nov 28, 2025
b2394ce
[export/python] make layout (row vs col) configurable
evaleev Nov 28, 2025
c0a1fa2
[export/python] fixup + validate torch unit tests
evaleev Nov 29, 2025
7901dcc
[ci] free up disk space on ubuntu runners to be able to afford PyTorc…
evaleev Nov 29, 2025
12d5788
[skip ci] cleanup
evaleev Nov 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,14 @@ jobs:
steps:
- uses: actions/checkout@v5

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Install Python packages
run: pip install numpy torch

- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ _deps
# End of https://www.gitignore.io/api/cmake
# build directory
build
_codeql_build_dir
_codeql_detected_source_root

.clangd
.vscode
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,7 @@ set(SeQuant_src
SeQuant/core/utility/macros.hpp
SeQuant/core/utility/nodiscard.hpp
SeQuant/core/utility/permutation.hpp
SeQuant/core/utility/scope.hpp
SeQuant/core/utility/singleton.hpp
SeQuant/core/utility/string.cpp
SeQuant/core/utility/string.hpp
Expand Down
44 changes: 8 additions & 36 deletions SeQuant/core/export/julia_tensor_operations.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -219,49 +219,21 @@ class JuliaTensorOperationsGenerator : public Generator<Context> {
" += " + to_julia_expr(expression, ctx) + "\n";
}

void declare(const Index &idx, const Context &ctx) override {
(void)idx;
(void)ctx;
}
void declare(const Index &, const Context &) override {}

void declare(const Variable &variable, UsageSet usage,
const Context &ctx) override {
(void)variable;
(void)usage;
(void)ctx;
}
void declare(const Variable &, UsageSet, const Context &) override {}

void declare(const Tensor &tensor, UsageSet usage,
const Context &ctx) override {
(void)tensor;
(void)usage;
(void)ctx;
}
void declare(const Tensor &, UsageSet, const Context &) override {}

void all_indices_declared(std::size_t amount, const Context &ctx) override {
(void)amount;
(void)ctx;
}
void all_indices_declared(std::size_t, const Context &) override {}

void all_variables_declared(std::size_t amount, const Context &ctx) override {
(void)amount;
(void)ctx;
}
void all_variables_declared(std::size_t, const Context &) override {}

void all_tensors_declared(std::size_t amount, const Context &ctx) override {
(void)amount;
(void)ctx;
}
void all_tensors_declared(std::size_t, const Context &) override {}

void begin_declarations(DeclarationScope scope, const Context &ctx) override {
(void)scope;
(void)ctx;
}
void begin_declarations(DeclarationScope, const Context &) override {}

void end_declarations(DeclarationScope scope, const Context &ctx) override {
(void)scope;
(void)ctx;
}
void end_declarations(DeclarationScope, const Context &) override {}

void insert_comment(const std::string &comment, const Context &) override {
m_generated += "# " + comment + "\n";
Expand Down
Loading
Loading