Skip to content

Commit e8552f5

Browse files
committed
Merge branch 'NotationB'
2 parents d61d11b + aaf4306 commit e8552f5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+64334
-27485
lines changed

CMakeLists.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,3 +153,28 @@ add_custom_target(
153153
${CMAKE_CURRENT_BINARY_DIR}/test.log
154154
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tests/Test.m
155155
COMMENT "Running tests")
156+
157+
# ##############################################################################
158+
# Benchmarks
159+
# ##############################################################################
160+
161+
add_custom_target(
162+
bench
163+
COMMAND
164+
${WolframLanguage_wolframscript_EXE} -script
165+
${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/Benchmark.m | tee
166+
${CMAKE_CURRENT_BINARY_DIR}/bench.log
167+
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/Benchmark.m
168+
COMMENT "Running benchmarks"
169+
VERBATIM)
170+
171+
# Run a single benchmark file:
172+
# make bench-single FILE=ScalarBench.m
173+
add_custom_target(
174+
bench-single
175+
COMMAND
176+
${WolframLanguage_wolframscript_EXE} -script
177+
${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/Benchmark.m $(FILE) | tee
178+
${CMAKE_CURRENT_BINARY_DIR}/bench.log
179+
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/Benchmark.m
180+
COMMENT "Running benchmark")

FunKit.m

Lines changed: 66 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,15 @@
2020

2121

2222
(* ::Input::Initialization:: *)
23-
If[($AllowInternet&&$NetworkConnected)&&$FrontEnd=!=Null&&$Notebooks===True,
23+
If[($AllowInternet&&$NetworkConnected)&&$FrontEnd=!=Null,
2424
Module[{FCurPacletAddr,FCurPaclet,FCurVersion,
2525
FInstalledPaclet,FInstalledVersion},
2626

2727
FCurPacletAddr="https://github.com/satfra/FunKit/raw/refs/heads/main/PacletInfo.m";
28-
FCurPaclet=(List@@Import[FCurPacletAddr])[[1]];
28+
FCurPaclet=Import[FCurPacletAddr];
29+
30+
If[FCurPaclet=!=$Failed,
31+
FCurPaclet=(List@@FCurPaclet)[[1]];
2932
FCurVersion=FCurPaclet["Version"];
3033

3134
FInstalledPaclet=(List@@Import[FileNameJoin[{$UserBaseDirectory,"Applications","FunKit","PacletInfo.m"}]])[[1]];
@@ -43,6 +46,25 @@
4346
];
4447
];
4548
];
49+
];
50+
51+
52+
(* ::Input::Initialization:: *)
53+
Unprotect[$FUNKITDIR]
54+
$FUNKITDIR=SelectFirst[
55+
Join[
56+
{
57+
FileNameJoin[{$UserBaseDirectory,"Applications","FunKit"}],
58+
FileNameJoin[{$BaseDirectory,"Applications","FunKit"}],
59+
FileNameJoin[{$InstallationDirectory,"AddOns","Applications","FunKit"}],
60+
FileNameJoin[{$InstallationDirectory,"AddOns","Packages","FunKit"}],
61+
FileNameJoin[{$InstallationDirectory,"AddOns","ExtraPackages","FunKit"}]
62+
},
63+
Select[$Path,StringContainsQ[#,"FunKit"]&]
64+
],
65+
DirectoryQ[#]&
66+
]<>"/";
67+
Protect[$FUNKITDIR]
4668

4769

4870
(* ::Input::Initialization:: *)
@@ -96,17 +118,22 @@
96118
];
97119
];
98120

99-
Block[{Print},Needs["TensorBases`"]];
121+
Print[""]
122+
Block[{(*Print*)},Get["TensorBases`"]];
123+
Print[""]
100124
PrintTemporary["\!\(\*
101125
StyleBox[\"TensorBases\",\nFontSize->10,\nFontWeight->\"Bold\",\nFontSlant->\"Italic\"]\)\!\(\*
102126
StyleBox[\" \",\nFontSize->10,\nFontSlant->\"Italic\"]\)\!\(\*
103127
StyleBox[\"loaded\",\nFontSize->10,\nFontWeight->\"Plain\",\nFontSlant->\"Italic\"]\)"];
104128

105129

106130
(* ::Input::Initialization:: *)
107-
If[Length@PacletFind["MaTeX"]===0&&($AllowInternet&&$NetworkConnected),
108-
ResourceFunction["MaTeXInstall"][]
109-
]
131+
If[Length@PacletFind["MaTeX"]===0,
132+
If[$AllowInternet&&$NetworkConnected,
133+
ResourceFunction["MaTeXInstall"][],
134+
PacletInstall[$FUNKITDIR<>"/dependencies/MaTeX-1.7.10.paclet"]
135+
];
136+
];
110137
Get["MaTeX`"]
111138
PrintTemporary["\!\(\*
112139
StyleBox[\"MaTeX\",\nFontSize->10,\nFontWeight->\"Bold\",\nFontSlant->\"Italic\"]\)\!\(\*
@@ -115,19 +142,7 @@
115142

116143

117144
(* ::Input::Initialization:: *)
118-
Get[SelectFirst[
119-
Join[
120-
{
121-
FileNameJoin[{$UserBaseDirectory,"Applications","FunKit"}],
122-
FileNameJoin[{$BaseDirectory,"Applications","FunKit"}],
123-
FileNameJoin[{$InstallationDirectory,"AddOns","Applications","FunKit"}],
124-
FileNameJoin[{$InstallationDirectory,"AddOns","Packages","FunKit"}],
125-
FileNameJoin[{$InstallationDirectory,"AddOns","ExtraPackages","FunKit"}]
126-
},
127-
Select[$Path,StringContainsQ[#,"FunKit"]&]
128-
],
129-
DirectoryQ[#]&
130-
]<>"/"<>"/utils/MathematicaTeXUtilities.m"]
145+
Get[$FUNKITDIR<>"/utils/MathematicaTeXUtilities.m"]
131146

132147

133148
(* ::Input::Initialization:: *)
@@ -170,13 +185,13 @@
170185

171186
(* ::Input::Initialization:: *)
172187
If[Head[$DistributedContexts]=!=List,$DistributedContexts={}];
173-
$DistributedContexts=$DistributedContexts\[Union]{$Context,"FunKit`Private`","TensorBases`","FormTracer`","FormTracer`Private`","TensorBases`","TensorBases`Private`"}
188+
$DistributedContexts=$DistributedContexts\[Union]{$Context,"FunKit`Private`","FormTracer`","FormTracer`Private`"}
174189

175190

176191
(* ::Input::Initialization:: *)
177192
Begin["`Private`"]
178193
If[Head[$DistributedContexts]=!=List,$DistributedContexts={}];
179-
$DistributedContexts=$DistributedContexts\[Union]{$Context,"FunKit`Private`","TensorBases`","FormTracer`","FormTracer`Private`","TensorBases`","TensorBases`Private`"}
194+
$DistributedContexts=$DistributedContexts\[Union]{$Context,"FunKit`Private`","FormTracer`","FormTracer`Private`"}
180195
End[]
181196

182197

@@ -251,12 +266,6 @@
251266
StyleBox[\"COEN\",\nFontSize->10,\nFontWeight->\"Bold\",\nFontSlant->\"Italic\"]\)\!\(\*
252267
StyleBox[\" \",\nFontSize->10,\nFontSlant->\"Italic\"]\)\!\(\*
253268
StyleBox[\"loaded\",\nFontSize->10,\nFontWeight->\"Plain\",\nFontSlant->\"Italic\"]\)"];
254-
Get[$FunKitDirectory<>"modules/SeDecA.m"];
255-
PrintTemporary["\!\(\*
256-
StyleBox[\"...\",\nFontSize->10,\nFontSlant->\"Italic\"]\)\!\(\*
257-
StyleBox[\"SeDecA\",\nFontSize->10,\nFontWeight->\"Bold\",\nFontSlant->\"Italic\"]\)\!\(\*
258-
StyleBox[\" \",\nFontSize->10,\nFontSlant->\"Italic\"]\)\!\(\*
259-
StyleBox[\"loaded\",\nFontSize->10,\nFontWeight->\"Plain\",\nFontSlant->\"Italic\"]\)"];
260269
If[$FrontEnd=!=Null,
261270
Print["Welcome to \!\(\*
262271
StyleBox[\"\:2588\:2580\",\nFontColor->GrayLevel[0]]\)\!\(\*
@@ -306,13 +315,13 @@
306315

307316

308317
(* ::Input::Initialization:: *)
309-
framedPrint[fpr_]:=Internal`InheritedBlock[{Print},
318+
$framedPrint[fpr_]:=Internal`InheritedBlock[{Print},
310319
Unprotect@Print;
311320
Print=Echo[Framed[#]]&;
312321
Protect@Print;
313322
ReleaseHold[fpr]
314323
];
315-
SetAttributes[framedPrint,HoldAll];
324+
SetAttributes[$framedPrint,HoldAll];
316325

317326

318327
(* ::Input::Initialization:: *)
@@ -356,13 +365,13 @@ Any equation is comprised of terms that contain (possibly non-commuting) factors
356365
To see a list of all indexed objects known to \!\(\*
357366
StyleBox[\"FEDeriK\",\nFontWeight->\"Bold\"]\), one can call \!\(\*
358367
StyleBox[\"ShowIndexedObjects\",\nFontColor->RGBColor[1, 0.5, 0]]\)[], which outputs "];
359-
framedPrint@ShowIndexedObjects[];
368+
$framedPrint@ShowIndexedObjects[];
360369
Print["in the current case. One can register custom indexed objects with \!\(\*
361370
StyleBox[\"FEDeriK\",\nFontWeight->\"Bold\"]\) by using \!\(\*
362371
StyleBox[\"AddIndexedObject\",\nFontColor->RGBColor[1, 0.5, 0]]\)[_Symbol].
363372
A subset of the indexed objects are correlation functions, and \!\(\*
364373
StyleBox[\"ShowCorrelationFunctions\",\nFontColor->RGBColor[1, 0.5, 0]]\)[] outputs "];
365-
framedPrint@ShowCorrelationFunctions[];
374+
$framedPrint@ShowCorrelationFunctions[];
366375
Print["These are special indexed objects, which are always hit by functional derivatives.
367376
As an example, take the generalised flow equation ",MaTeX`MaTeX["\\partial_t \\Gamma = -\\dot\\Phi^a\\Gamma_a + \\frac{1}{2}G^{ac}\\Bigg(\\gamma_c^{\\phantom{c}b}\\partial_t + 2 \\frac{\\delta\\dot{\\Phi}^b}{\\delta\\Phi^c}\\Bigg){R}_{ab}"],
368377
"First, we add a new correlation function using \!\(\*
@@ -421,5 +430,29 @@ Any equation is comprised of terms that contain (possibly non-commuting) factors
421430

422431

423432
(* ::Input::Initialization:: *)
424-
DistributeDefinitions["FunKit`"];
425-
DistributeDefinitions["FunKit`Private`"];
433+
(* Note that we do NOT just call
434+
DistributeDefinitions["FunKit`"]
435+
DistributeDefinitions["FunKit`Private`"]
436+
As this takes a LOT of time - in the following we only distribute precisely the things that are actually used (bringing down the distribution time by a factor of 10)
437+
*)
438+
439+
440+
(* ::Input::Initialization:: *)
441+
DistributeDefinitions[
442+
"FunKit`FTerm",
443+
"FunKit`FFormSimplify",
444+
"FunKit`FunKitDebug",
445+
"FunKit`Private`SafeReplaceTrace",
446+
"FunKit`Private`GetAllCustomSymbols",
447+
"FunKit`Private`ImportAndSimplifyFORM",
448+
"FunKit`Private`scallDef",
449+
"FunKit`Private`$AlwaysExpandLorentzTensors",
450+
"FunKit`Private`makeTemporaryFileName",
451+
"FunKit`Private`$DefaultTimeConstraint",
452+
"FunKit`Private`$StandardQuickSimplify",
453+
"FunKit`Private`makeHashFile",
454+
"FunKit`Private`NormalizeIndices",
455+
"FunKit`Private`$TraceCacheDir",
456+
"FunKit`Private`$standardFORMmomentumRules",
457+
"FunKit`Private`GetAllMomenta"
458+
];

0 commit comments

Comments
 (0)