<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Cadabra Q&amp;A - Recent questions and answers in Bug reports</title>
<link>https://cadabra.science/qa/qa/bug-reports</link>
<description>Powered by Question2Answer</description>
<item>
<title>Answered: The mystery of meld</title>
<link>https://cadabra.science/qa/3056/the-mystery-of-meld?show=3057#a3057</link>
<description>&lt;p&gt;The first issue is now fixed on the &lt;code&gt;devel&lt;/code&gt; branch.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/3056/the-mystery-of-meld?show=3057#a3057</guid>
<pubDate>Thu, 04 Dec 2025 21:09:24 +0000</pubDate>
</item>
<item>
<title>Strange behavior young_project_product with zoom</title>
<link>https://cadabra.science/qa/3055/strange-behavior-young_project_product-with-zoom</link>
<description>&lt;p&gt;Hello, I found a peculiar effect of Young's projection when applied to part of an expression after using zoom. For example:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{a,b,c,d,f,e, m,n,k,l,q,r,s,t,u,v,w,x,y,z,m#, n#}::Indices(values={0..3}, position=independent);

\nabla{#}::Derivative.
h_{m? n?}::Metric.
h^{m? n?}::InverseMetric.
h_{m? n?}::Symmetric.
h^{m? n?}::Symmetric.
F_{a? b?}::AntiSymmetric.
F^{a? b?}::AntiSymmetric.
\nabla_{a}{F_{b c}}::TableauSymmetry(shape={2,1}, indices={0,1,2});
\nabla_{a}{\nabla_{b}{p}}::Symmetric;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and I have some long expression:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;expr := 1/2 F_{a b} F_{c d} R \nabla_{e}(p) \nabla_{f}(p) h^{a c} h^{b e} h^{d f}
-F_{a b} F_{c d} \nabla_{e}(\nabla_{f}(p)) \nabla_{m}(\nabla_{n}(p)) h^{a c} h^{b e} h^{d f} h^{m n} 
+ F_{a b} F_{c d} \nabla_{e}(\nabla_{f}(p)) \nabla_{m}(\nabla_{n}(p)) h^{a c} h^{b e} h^{d m} h^{f n}
-F_{a b} F_{c d} R_{e f} \nabla_{m}(p) \nabla_{n}(p) h^{a e} h^{b m} h^{c f} h^{d n}
-2F_{a b} \nabla_{c}(F_{d e}) \nabla_{f}(\nabla_{m}(p)) \nabla_{n}(p) h^{a f} h^{b n} h^{c d} h^{e m} 
+ F_{a b} F_{c d} \nabla_{e}(\nabla_{f}(p)) \nabla_{m}(\nabla_{n}(p)) h^{a e} h^{b m} h^{c f} h^{d n} 
+ F_{a b} \nabla_{c}(F_{d e}) \nabla_{f}(\nabla_{m}(p)) \nabla_{n}(p) h^{a c} h^{b d} h^{e f} h^{m n};&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And I want to simplify terms with \nabla&lt;em&gt;{a}{F&lt;/em&gt;{b c}}:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;zoom(expr, $Q?? \nabla_{a}{F_{b c}}$);
expr2 = take_match($@[expr2]$, $Q?? \nabla_{a}{F_{b c}}$);
canonicalise(young_project_product(expr2));&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;For expr I get 
&lt;code&gt;-  4/3 F_{a b} \nabla_{c}(F_{d e}) \nabla_{f}(\nabla_{m}(p)) \nabla_{n}(p) h^{a f} h^{b n} h^{c d} h^{e m}&lt;/code&gt;
but for expr2 I get &lt;/p&gt;
&lt;p&gt;&lt;code&gt;-  8/9 F_{a b} \nabla_{c}(F_{d e}) \nabla_{f}(\nabla_{m}(p)) \nabla_{n}(p) h^{a f} h^{b n} h^{c d} h^{e m}&lt;/code&gt;&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/3055/strange-behavior-young_project_product-with-zoom</guid>
<pubDate>Wed, 22 Oct 2025 16:56:49 +0000</pubDate>
</item>
<item>
<title>Answered: vary behaves in an odd way</title>
<link>https://cadabra.science/qa/3053/vary-behaves-in-an-odd-way?show=3054#a3054</link>
<description>&lt;p&gt;The trivial cases always slip the net somehow... Now fixed on the devel branch, will go into 2.5.16. Thanks for reporting.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/3053/vary-behaves-in-an-odd-way?show=3054#a3054</guid>
<pubDate>Mon, 06 Oct 2025 20:34:44 +0000</pubDate>
</item>
<item>
<title>Answered: plot example on p. 51 of The Cadabra Book require range</title>
<link>https://cadabra.science/qa/3048/plot-example-on-p-51-of-the-cadabra-book-require-range?show=3049#a3049</link>
<description>&lt;p&gt;For the range deduction to work you need to use the &lt;code&gt;devel&lt;/code&gt; branch; this has not made it to the &lt;code&gt;master&lt;/code&gt; branch yet but slipped into the docs inadvertedly.&lt;/p&gt;
&lt;p&gt;You are correct about the samples parameter not being fed through correctly; I have opened &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/kpeeters/cadabra2/issues/371&quot;&gt;https://github.com/kpeeters/cadabra2/issues/371&lt;/a&gt; to keep track of this. Thanks.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/3048/plot-example-on-p-51-of-the-cadabra-book-require-range?show=3049#a3049</guid>
<pubDate>Mon, 21 Jul 2025 17:05:48 +0000</pubDate>
</item>
<item>
<title>Answered: \dot command not displayed correctly</title>
<link>https://cadabra.science/qa/3043/dot-command-not-displayed-correctly?show=3045#a3045</link>
<description>&lt;p&gt;Maybe I don't write it correctly but it's not working for me&lt;/p&gt;
&lt;p&gt;can you show me the complete line ?&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/3043/dot-command-not-displayed-correctly?show=3045#a3045</guid>
<pubDate>Tue, 15 Jul 2025 11:10:52 +0000</pubDate>
</item>
<item>
<title>Answered: Regex not working</title>
<link>https://cadabra.science/qa/3035/regex-not-working?show=3038#a3038</link>
<description>&lt;p&gt;If you have a fix please open an issue in github and attach a fix (or open a pull request).&lt;/p&gt;
&lt;p&gt;(Regex is a feature I almost never use anymore, and was written before I started introducing rigid tests, so this does not surprise me at all).&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/3035/regex-not-working?show=3038#a3038</guid>
<pubDate>Sun, 13 Jul 2025 20:15:49 +0000</pubDate>
</item>
<item>
<title>Answered: execution problems</title>
<link>https://cadabra.science/qa/3015/execution-problems?show=3017#a3017</link>
<description>&lt;p&gt;I don't think that we can make this work again, and I actually don't think this worked as you thought before. The python packaging logic is so terribly convoluted and broken that it is probably not a good idea to try to install Cadabra in CMAKE_INSTALL_PREFIX that does not also have the python stuff. Previously, it would just install half in &lt;code&gt;/Users/leo/tmp2/bin/&lt;/code&gt; and the python stuff elsewhere in &lt;code&gt;/opt/homebrew/&lt;/code&gt;, I think.&lt;/p&gt;
&lt;p&gt;Just sorting this out has probably already taken at least 30% of the Cadabra development time (with packaging for Windows the remaining 70%...) so it is unlikely that I wlll find the energy to give this another attempt soon.&lt;/p&gt;
&lt;p&gt;If you just want to test, create a Python virtual environment and install Cadabra while you have that active.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/3015/execution-problems?show=3017#a3017</guid>
<pubDate>Tue, 08 Apr 2025 13:33:19 +0000</pubDate>
</item>
<item>
<title>Answered: cadabra2python seg fault</title>
<link>https://cadabra.science/qa/3012/cadabra2python-seg-fault?show=3016#a3016</link>
<description>&lt;p&gt;Now fixed in the &lt;code&gt;devel&lt;/code&gt; branch.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/3012/cadabra2python-seg-fault?show=3016#a3016</guid>
<pubDate>Tue, 08 Apr 2025 09:39:48 +0000</pubDate>
</item>
<item>
<title>Answered: curly-braces and lost indices</title>
<link>https://cadabra.science/qa/3010/curly-braces-and-lost-indices?show=3014#a3014</link>
<description>&lt;p&gt;Yes, the general advice is to not sprinkle curly braces around if you don't need them. I agree though that this is unexpected and should at least throw an error. I have added this to the issue tracker so it doesn't get lost, &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/kpeeters/cadabra2/issues/355&quot;&gt;https://github.com/kpeeters/cadabra2/issues/355&lt;/a&gt;.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/3010/curly-braces-and-lost-indices?show=3014#a3014</guid>
<pubDate>Tue, 08 Apr 2025 07:34:53 +0000</pubDate>
</item>
<item>
<title>Answered: simple substitute hits wrong target</title>
<link>https://cadabra.science/qa/3011/simple-substitute-hits-wrong-target?show=3013#a3013</link>
<description>&lt;p&gt;You smash a bug and it appears somewhere else... This one was caused by fixing a related issue just after X-mas (I blame Santa). Hopefully it is now finally gone. Pushed a fix to the &lt;code&gt;devel&lt;/code&gt; branch. Thanks for reporting this!&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/3011/simple-substitute-hits-wrong-target?show=3013#a3013</guid>
<pubDate>Tue, 08 Apr 2025 07:28:47 +0000</pubDate>
</item>
<item>
<title>Answered: Canonicalise Kernel crash</title>
<link>https://cadabra.science/qa/2962/canonicalise-kernel-crash?show=2987#a2987</link>
<description>&lt;p&gt;The presence of those squares (e.g. &lt;code&gt;(\partial_{t}{p})**2&lt;/code&gt; trips &lt;code&gt;canonicalise&lt;/code&gt;. In general, this algorithm cannot deal with powers; you have to write them out first with &lt;code&gt;expand_power&lt;/code&gt; if you want this to work. I will add a test to &lt;code&gt;canonicalise&lt;/code&gt; to prevent it from attempting to canonicalise these expressions.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2962/canonicalise-kernel-crash?show=2987#a2987</guid>
<pubDate>Fri, 27 Dec 2024 11:57:57 +0000</pubDate>
</item>
<item>
<title>Answered: c++lib fails to compile</title>
<link>https://cadabra.science/qa/2970/c-lib-fails-to-compile?show=2972#a2972</link>
<description>&lt;p&gt;Thanks! I have pushed changes for this to the &lt;code&gt;devel&lt;/code&gt; branch, and have also added it to the CI pipeline so the c++lib build process is tested on every commit; hopefully that will prevent this from getting out of sync again.&lt;/p&gt;
&lt;p&gt;There are not many people that I am aware of who use Cadabra's c++lib. Care to say a few words about what you are trying to do with it?&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2970/c-lib-fails-to-compile?show=2972#a2972</guid>
<pubDate>Wed, 11 Dec 2024 08:45:09 +0000</pubDate>
</item>
<item>
<title>Answered: Kronecker delta wrong output in 2D</title>
<link>https://cadabra.science/qa/2969/kronecker-delta-wrong-output-in-2d?show=2971#a2971</link>
<description>&lt;p&gt;Ouch. The code responsible for this bug was about 10 years old, did not have the appropriate tests, and indeed produced nonsense when the range of the integer was symbolic. Thanks for reporting this.&lt;/p&gt;
&lt;p&gt;I have pushed a fix to the &lt;code&gt;devel&lt;/code&gt; branch on github; this will go into 2.5.10 to be released soon.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2969/kronecker-delta-wrong-output-in-2d?show=2971#a2971</guid>
<pubDate>Tue, 10 Dec 2024 21:05:35 +0000</pubDate>
</item>
<item>
<title>Answered: collect_factors / simplify with AntiCommuting objects</title>
<link>https://cadabra.science/qa/2958/collect_factors-simplify-with-anticommuting-objects?show=2959#a2959</link>
<description>&lt;p&gt;That &lt;code&gt;simplify&lt;/code&gt; butchers the expression is expected, as no info about (anti-)commutativity currently gets passed through the sympy bridge. However, &lt;code&gt;collect_factors&lt;/code&gt; does not use sympy and should know better. I have opened an issue on github to keep track of this, &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/kpeeters/cadabra2/issues/324&quot;&gt;https://github.com/kpeeters/cadabra2/issues/324&lt;/a&gt; .&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2958/collect_factors-simplify-with-anticommuting-objects?show=2959#a2959</guid>
<pubDate>Thu, 21 Nov 2024 20:39:59 +0000</pubDate>
</item>
<item>
<title>Answered: sympy(?) errors parsing nested derivatives?</title>
<link>https://cadabra.science/qa/2949/sympy-errors-parsing-nested-derivatives?show=2950#a2950</link>
<description>&lt;p&gt;That problem comes from the fact that you wrote &lt;code&gt;\sin\phi&lt;/code&gt;, instead of &lt;code&gt;\sin(\phi)&lt;/code&gt;. In Cadabra you &lt;em&gt;have&lt;/em&gt; to group function arguments. (Of course I agree the error is useless and this should be caught earlier).&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2949/sympy-errors-parsing-nested-derivatives?show=2950#a2950</guid>
<pubDate>Tue, 01 Oct 2024 07:23:06 +0000</pubDate>
</item>
<item>
<title>Answered: \partial_\theta causes infinite loop(?) in server</title>
<link>https://cadabra.science/qa/2945/partial_-theta-causes-infinite-loop-in-server?show=2948#a2948</link>
<description>&lt;p&gt;I guess you have your answer there: add braces. In general, Cadabra is less forgiving about not wrapping arguments in braces, so just do it always. &lt;/p&gt;
&lt;p&gt;Cadabra should not hang of course, will investigate. I have opened an issue at &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/kpeeters/cadabra2/issues/312&quot;&gt;https://github.com/kpeeters/cadabra2/issues/312&lt;/a&gt;.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2945/partial_-theta-causes-infinite-loop-in-server?show=2948#a2948</guid>
<pubDate>Mon, 30 Sep 2024 09:58:40 +0000</pubDate>
</item>
<item>
<title>Answered: Gtk error messages on startup.</title>
<link>https://cadabra.science/qa/2941/gtk-error-messages-on-startup?show=2943#a2943</link>
<description>&lt;p&gt;I may need to see if those gtk modules should be included in the AppImage too (I have not done a lot of testing with the AppImage on systems that are truly bare, without an existing gtk installation).&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;connection to server failed&lt;/code&gt; message happens when you restart the kernel or load a new notebook (which restarts the kernel too). This kills the existing &lt;code&gt;cadabra-server&lt;/code&gt; first, and the client then reports that. I could probably remove that error as it sounds more alarming than it is.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2941/gtk-error-messages-on-startup?show=2943#a2943</guid>
<pubDate>Mon, 30 Sep 2024 07:15:18 +0000</pubDate>
</item>
<item>
<title>Answered: Cycle freeze</title>
<link>https://cadabra.science/qa/2929/cycle-freeze?show=2930#a2930</link>
<description>&lt;p&gt;I cannot reproduce this. Which &quot;today's update&quot; are you talking about? I did not make any new release. What is the version and build number? (start the command-line &lt;code&gt;cadabra2&lt;/code&gt; and look at the first line of output).&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2929/cycle-freeze?show=2930#a2930</guid>
<pubDate>Thu, 26 Sep 2024 17:01:38 +0000</pubDate>
</item>
<item>
<title>Answered: A bug of Accent</title>
<link>https://cadabra.science/qa/2912/a-bug-of-accent?show=2913#a2913</link>
<description>&lt;p&gt;Hi Eureka.&lt;/p&gt;
&lt;p&gt;Firstly, let me point that a semi-colon is missing at the en d of the third line. So, the correct &lt;em&gt;code&lt;/em&gt; should be &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{a,b}::Indices(vector).
\delta{#}::Accent.
ex := \delta{A^{a b}+B^{a b}};&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then, let me clarify that (to my understanding) accents are a way to differentiate symbols, i.e. it has no further properties. Why is this important? Perhaps your expression should be written as &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ex := \delta{A}^{a b} + \delta{B}^{a b};&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you are expect your &lt;em&gt;accent&lt;/em&gt; to have linearity property, give assign the property of &lt;code&gt;Derivative&lt;/code&gt;, i.e.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\delta{#}::Derivative.&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you use the &lt;code&gt;Derivative&lt;/code&gt; property instead of the &lt;code&gt;Accent&lt;/code&gt;, you could apply the &lt;code&gt;distribute&lt;/code&gt; algorithm in your original expression&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{a,b}::Indices(vector).
\delta{#}::Derivative.
ex:=\delta{A^{a b}+B^{a b}};
distribute(ex);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Cheers,
Dox.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2912/a-bug-of-accent?show=2913#a2913</guid>
<pubDate>Thu, 01 Aug 2024 08:51:17 +0000</pubDate>
</item>
<item>
<title>Answered: substitute gives incorrect value on scalar expression</title>
<link>https://cadabra.science/qa/2892/substitute-gives-incorrect-value-on-scalar-expression?show=2895#a2895</link>
<description>&lt;p&gt;Good catch, stupid error, now fixed.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2892/substitute-gives-incorrect-value-on-scalar-expression?show=2895#a2895</guid>
<pubDate>Tue, 18 Jun 2024 06:21:38 +0000</pubDate>
</item>
<item>
<title>Answered: LaTeXForm fails in version 2.5.2</title>
<link>https://cadabra.science/qa/2893/latexform-fails-in-version-2-5-2?show=2894#a2894</link>
<description>&lt;p&gt;Properties use round brackets for their arguments, no matter how much recent C++ committees may have confused your brain with that.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Dx{#}::LaTeXForm(&quot;Dx&quot;).&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;works. The error message could probably be nicer, I agree.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2893/latexform-fails-in-version-2-5-2?show=2894#a2894</guid>
<pubDate>Tue, 18 Jun 2024 05:46:42 +0000</pubDate>
</item>
<item>
<title>Answered: location of bracket blocks distribute</title>
<link>https://cadabra.science/qa/2876/location-of-bracket-blocks-distribute?show=2882#a2882</link>
<description>&lt;p&gt;This has been reported a number of times now, so it's time to do something about it. Now fixed in github (2.4.5.9): a newline will act as a single whitespace character and hence turn your &lt;code&gt;bah&lt;/code&gt; into &lt;code&gt;bah: = A (B+C)&lt;/code&gt;.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2876/location-of-bracket-blocks-distribute?show=2882#a2882</guid>
<pubDate>Tue, 11 Jun 2024 14:24:28 +0000</pubDate>
</item>
<item>
<title>Answered: leading scalar expression blocks canonicalise</title>
<link>https://cadabra.science/qa/2875/leading-scalar-expression-blocks-canonicalise?show=2881#a2881</link>
<description>&lt;p&gt;This was because &lt;code&gt;canonicalise&lt;/code&gt; was a bit too careful. If a term in an expression contains a sum as factor, and that factor has indices, then you &lt;em&gt;have&lt;/em&gt; to &lt;code&gt;distribute&lt;/code&gt; first. E.g.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(A_{m n} + B_{m n}) R_{p q}^{m n};&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But &lt;code&gt;canonicalise&lt;/code&gt; was rejecting &lt;em&gt;any&lt;/em&gt; sums inside a factor, like in your example, even if it has no indices. That's not necessary. &lt;/p&gt;
&lt;p&gt;Now fixed in github (2.4.5.9).&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2875/leading-scalar-expression-blocks-canonicalise?show=2881#a2881</guid>
<pubDate>Tue, 11 Jun 2024 14:16:31 +0000</pubDate>
</item>
<item>
<title>Answered: imp package was removed from python 3.12</title>
<link>https://cadabra.science/qa/2863/imp-package-was-removed-from-python-3-12?show=2868#a2868</link>
<description>&lt;p&gt;Can one of you please test the current &lt;code&gt;2.4.5.8&lt;/code&gt; now on github? You will most likely need to clean your cadabra notebook cache (&lt;code&gt;Tools &amp;gt; Clear package cache&lt;/code&gt;).&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2863/imp-package-was-removed-from-python-3-12?show=2868#a2868</guid>
<pubDate>Mon, 20 May 2024 12:53:29 +0000</pubDate>
</item>
<item>
<title>Answered: bug of unwrap</title>
<link>https://cadabra.science/qa/2828/bug-of-unwrap?show=2829#a2829</link>
<description>&lt;p&gt;Hi Eureka. &lt;/p&gt;
&lt;p&gt;I don't thing it is a bug, just a misunderstanding of the philosophy of &lt;code&gt;cadabra&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;According to the &lt;code&gt;unwrap&lt;/code&gt; documentation:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Derivatives will be set to zero if an object inside does not depend on it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hence, the command is not a computational aid... I mean, stricktly speaking you have not declare any dependence for &lt;code&gt;u&lt;/code&gt;! So the algorithm set its derivative to zero.&lt;/p&gt;
&lt;p&gt;My advice would be to use first a substitution rule, e.g.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;rl := \partial_{u}{u} -&amp;gt; 1;
ex:=\partial_u{u f};
product_rule(_)
substitute(ex, rl)
unwrap(ex);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;or if your calculation is &quot;simple&quot;, call the &lt;code&gt;sympy&lt;/code&gt; module:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;from cdb.sympy.calculus import *

ex := u f;
d_ex = diff(ex);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt; the absence of the colon in the last assignation (it is a &lt;code&gt;python&lt;/code&gt; assignation not a &lt;code&gt;cadabra&lt;/code&gt; one).&lt;/p&gt;
&lt;p&gt;Hope this would be useful!&lt;/p&gt;
&lt;p&gt;Cheers, Dox.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2828/bug-of-unwrap?show=2829#a2829</guid>
<pubDate>Tue, 23 Apr 2024 09:46:30 +0000</pubDate>
</item>
<item>
<title>bug of stop evaluation</title>
<link>https://cadabra.science/qa/2821/bug-of-stop-evaluation</link>
<description>&lt;p&gt;When I use &lt;code&gt;stop evaluation&lt;/code&gt; to stop evaluation, but it never works.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2821/bug-of-stop-evaluation</guid>
<pubDate>Sun, 21 Apr 2024 11:50:54 +0000</pubDate>
</item>
<item>
<title>bug of function keep_weight</title>
<link>https://cadabra.science/qa/2788/bug-of-function-keep_weight</link>
<description>&lt;p&gt;The following code: &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{u,v}::Weight(label=field,value=1);
ex:=(u v)**{1/2};
keep_weight(_,$field=1$);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I get the wrong result $0$, while the following code &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{u,v}::Weight(label=field,value=1);
ex:=(u v)**{1/2}+u u;
keep_weight(_,$field=1$);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;work fine. It seems a bug.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2788/bug-of-function-keep_weight</guid>
<pubDate>Wed, 17 Apr 2024 09:38:20 +0000</pubDate>
</item>
<item>
<title>Answered: The output is lost in WSL2</title>
<link>https://cadabra.science/qa/2775/the-output-is-lost-in-wsl2?show=2785#a2785</link>
<description>&lt;p&gt;If you know the absolute path to the file you can always use that in the &lt;code&gt;open&lt;/code&gt; call, no? What do you mean with &quot;I can't get the output there&quot;? Does the &lt;code&gt;open&lt;/code&gt; call fail or does reading from that file fail?&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2775/the-output-is-lost-in-wsl2?show=2785#a2785</guid>
<pubDate>Wed, 17 Apr 2024 07:50:59 +0000</pubDate>
</item>
<item>
<title>Answered: unwrap of partial derivatives</title>
<link>https://cadabra.science/qa/2768/unwrap-of-partial-derivatives?show=2769#a2769</link>
<description>&lt;p&gt;Hi Arina. Great question!&lt;/p&gt;
&lt;p&gt;I believe that the mismatch between the expected and actual behaviour of the &lt;code&gt;unwrap&lt;/code&gt; algorithm is due to the &quot;phylosophy&quot; of CADABRA, i.e., it is a software centred in manipulation rather than calculation.&lt;/p&gt;
&lt;p&gt;The &quot;calculation&quot; component of CADABRA came with the release of version 2.X, through the interaction with PYTHON (in particular with &lt;code&gt;sympy&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Note that if instead of &lt;code&gt;unwrap&lt;/code&gt;, you pass your expression to SYMPY, using &lt;code&gt;map_sympy&lt;/code&gt;, as follows&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;map_sympy($\partial_{t}{a}$);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;you get the expected result (of executing a calculation).&lt;/p&gt;
&lt;p&gt;Hope this can help you!&lt;/p&gt;
&lt;hr&gt;
&lt;h1&gt;UPDATE&lt;/h1&gt;
&lt;p&gt;I understand the point in your comment, hahaha.&lt;/p&gt;
&lt;p&gt;It seems to me that &lt;code&gt;unwrap&lt;/code&gt; is useful to &quot;move objects out&quot; because they are constant.&lt;/p&gt;
&lt;h2&gt;Example&lt;/h2&gt;
&lt;p&gt;In General Relativity the metric is covariantly constant, but its partial derivative is nonvanishing in general. So, you should assign a dependence on the partial derivative but not of the covariant derivative.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{l,m,n}::Indices.
\partial{#}::PartialDerivative.
\nabla{#}::Derivative.
g_{m n}::Depends(\partial{#});
\Psi::Depends(\partial{#},\nabla{#});&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now if you define the derivatives of $g \Psi$, and &lt;code&gt;unwrap&lt;/code&gt;, the difference is noticeable.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ex1 := \partial_{l}{ g_{m n} \Psi };
unwrap(ex1);
ex2 := \nabla_{l}{ g_{m n} \Psi };
unwrap(ex2);&lt;/code&gt;&lt;/pre&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2768/unwrap-of-partial-derivatives?show=2769#a2769</guid>
<pubDate>Thu, 28 Mar 2024 08:32:42 +0000</pubDate>
</item>
<item>
<title>Answered: meld returns zero where it shouldn't?</title>
<link>https://cadabra.science/qa/2734/meld-returns-zero-where-it-shouldnt?show=2736#a2736</link>
<description>&lt;p&gt;There is a bug in the logic that sets terms to zero when overlapping symmetry sets contain multiple identical indices. I have disabled that logic in meld for now, as I don't have time to think this through carefully. It shouldn't influence anything else as this was strictly a shortcut to find zeroes in particular situations, which meld will still find now, only slower.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2734/meld-returns-zero-where-it-shouldnt?show=2736#a2736</guid>
<pubDate>Thu, 08 Feb 2024 18:44:43 +0000</pubDate>
</item>
<item>
<title>Answered: Operations with fractional powers of negative numbers</title>
<link>https://cadabra.science/qa/2726/operations-with-fractional-powers-of-negative-numbers?show=2727#a2727</link>
<description>&lt;p&gt;It's not the fractional power, it's the '-1' inside the square root (any factor except '+1' leads to the same problem). This indeed should have returned unevaluated, I'm not sure why I left the hard &lt;code&gt;assert&lt;/code&gt; in the code which makes it bail out, other than to indicate to myself that this code was unfinished. I have filed an issue so we do not lose track of this again, &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/kpeeters/cadabra2/issues/290&quot;&gt;https://github.com/kpeeters/cadabra2/issues/290&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The sympy bridge can help with this,&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;simplify($(-X)**{-5/2} X$);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;returns what you want.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2726/operations-with-fractional-powers-of-negative-numbers?show=2727#a2727</guid>
<pubDate>Tue, 16 Jan 2024 19:15:49 +0000</pubDate>
</item>
<item>
<title>Answered: Interaction between 'canonicalise' and vector spinors</title>
<link>https://cadabra.science/qa/2723/interaction-between-canonicalise-and-vector-spinors?show=2724#a2724</link>
<description>&lt;p&gt;Well spotted. Effectively, what went wrong here is that the &lt;code&gt;canonicalise&lt;/code&gt; function would incorrectly treat &lt;code&gt;\psi^a \bar{\psi^b}&lt;/code&gt; as having the spinor line contracted (so as if the Dirac bar would be sitting on the first factor). The niceties of implicit notation...&lt;/p&gt;
&lt;p&gt;I have pushed a fix to github now. If you need an updated binary package let me know.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2723/interaction-between-canonicalise-and-vector-spinors?show=2724#a2724</guid>
<pubDate>Thu, 11 Jan 2024 20:02:55 +0000</pubDate>
</item>
<item>
<title>Answered: remove_zero_components and components_to_subrule fail with AttributeError</title>
<link>https://cadabra.science/qa/2714/remove_zero_components-components_to_subrule-attributeerror?show=2717#a2717</link>
<description>&lt;p&gt;You have a mixture of two installations, one in &lt;code&gt;/usr/lib/python3.10/dist-packages/&lt;/code&gt; and one (packages only) in &lt;code&gt;/home/gpn/.config/cadabra_packages/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;I would remove (or temporarily move into a different location) the &lt;code&gt;/home/gpn/.config/cadabra_packages/&lt;/code&gt; folder and then try again. &lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2714/remove_zero_components-components_to_subrule-attributeerror?show=2717#a2717</guid>
<pubDate>Tue, 09 Jan 2024 08:46:02 +0000</pubDate>
</item>
<item>
<title>Answered: Negative powers of 0</title>
<link>https://cadabra.science/qa/2673/negative-powers-of-0?show=2674#a2674</link>
<description>&lt;p&gt;Picky ;-) But yes, you are right. I have pushed a fix to github (it will now raise an exception).&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2673/negative-powers-of-0?show=2674#a2674</guid>
<pubDate>Tue, 12 Dec 2023 20:02:48 +0000</pubDate>
</item>
<item>
<title>Answered: meld sets to zero when it shouldn't?</title>
<link>https://cadabra.science/qa/2668/meld-sets-to-zero-when-it-shouldnt?show=2671#a2671</link>
<description>&lt;p&gt;Hi GNP. I was playing with your code (thank you for sharing it!), and I noticed that the problem is not with the &lt;code&gt;meld&lt;/code&gt; algorithm, but with the previous&lt;code&gt;sort_product&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you comment the &lt;code&gt;sort_product&lt;/code&gt; the result of both codes is the same (and nontrivial).&lt;/p&gt;
&lt;p&gt;Cheers,
Dox.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2668/meld-sets-to-zero-when-it-shouldnt?show=2671#a2671</guid>
<pubDate>Wed, 06 Dec 2023 14:21:02 +0000</pubDate>
</item>
<item>
<title>Answered: Manually fiddling with multiplier on \sum</title>
<link>https://cadabra.science/qa/2649/manually-fiddling-with-multiplier-on-sum?show=2650#a2650</link>
<description>&lt;p&gt;If you modify the tree, you are required to leave the tree in an internally consistent state. One of the conditions is that the multiplier of a &lt;code&gt;\sum&lt;/code&gt; node is not allowed to be anything except 1. &lt;/p&gt;
&lt;p&gt;On the C++ side there are various functions in &lt;code&gt;Cleanup.cc|hh&lt;/code&gt; which help to turn an inconsistent tree into a consistent one, but these are not exported to Python. It should not be too hard to export these as it's all individual functions.&lt;/p&gt;
&lt;p&gt;The reason why &lt;code&gt;ex2:=@(ex)&lt;/code&gt; works is that any new expression input will run the cleanup routines.&lt;/p&gt;
&lt;p&gt;(In all honesty, apart from Dom, you are the first person I am aware of who has done some serious work like this on the Python side, so there are bound to be other missing pieces).&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2649/manually-fiddling-with-multiplier-on-sum?show=2650#a2650</guid>
<pubDate>Fri, 01 Dec 2023 16:39:26 +0000</pubDate>
</item>
<item>
<title>Answered: WeightInherit type=additive thinks operator is \sum</title>
<link>https://cadabra.science/qa/2633/weightinherit-type-additive-thinks-operator-is-sum?show=2634#a2634</link>
<description>&lt;p&gt;Yeah, this is fishy. The &lt;code&gt;drop_weight&lt;/code&gt; algorithm is trying to be clever to determine where it can apply, and then fails miserably in this situation. Your particular problem can probably be solved by not treating &lt;code&gt;f&lt;/code&gt; as a sum with one term, but the general problem is more complicated.&lt;/p&gt;
&lt;p&gt;What we really want is to restrict this algorithm to &quot;terms in a sum&quot;. But the question is now whether that sum is allowed to appear somewhere deeper down the tree, e.g. in &lt;code&gt;f(x+y+z)&lt;/code&gt; if the full expression reads &lt;code&gt;f(x+y+z)+g(a+b)&lt;/code&gt;. I obviously didn't think this through fully. Suggestions welcome.&lt;/p&gt;
&lt;p&gt;To a certain extent this issue also arises for &lt;code&gt;zoom&lt;/code&gt;: when is a non-sum node to be treated as a single-term sum? &lt;code&gt;zoom&lt;/code&gt; ignores this altogether (and never works except in an explicit multi-term sum).&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2633/weightinherit-type-additive-thinks-operator-is-sum?show=2634#a2634</guid>
<pubDate>Wed, 29 Nov 2023 16:40:25 +0000</pubDate>
</item>
<item>
<title>Answered: substitute crashes with empty replacement rule</title>
<link>https://cadabra.science/qa/2616/substitute-crashes-with-empty-replacement-rule?show=2618#a2618</link>
<description>&lt;p&gt;Now fixed, thanks.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2616/substitute-crashes-with-empty-replacement-rule?show=2618#a2618</guid>
<pubDate>Sun, 26 Nov 2023 20:01:05 +0000</pubDate>
</item>
<item>
<title>Answered: Bug with Ex.matches() for indices in opposite positions</title>
<link>https://cadabra.science/qa/2615/bug-with-ex-matches-for-indices-in-opposite-positions?show=2617#a2617</link>
<description>&lt;p&gt;Pattern matching has a lot of different branches to handle these days... The underlying C++ matcher returns a variety of more subtle answers (not just true or false) and I did not map that to true/false correctly.&lt;/p&gt;
&lt;p&gt;Now fixed in github.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2615/bug-with-ex-matches-for-indices-in-opposite-positions?show=2617#a2617</guid>
<pubDate>Sun, 26 Nov 2023 20:00:53 +0000</pubDate>
</item>
<item>
<title>Answered: Empty expressions fail to match</title>
<link>https://cadabra.science/qa/2608/empty-expressions-fail-to-match?show=2614#a2614</link>
<description>&lt;p&gt;Thanks, this is now fixed in github.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2608/empty-expressions-fail-to-match?show=2614#a2614</guid>
<pubDate>Wed, 22 Nov 2023 18:39:41 +0000</pubDate>
</item>
<item>
<title>Answered: Problem with substitute and powers</title>
<link>https://cadabra.science/qa/2575/problem-with-substitute-and-powers?show=2602#a2602</link>
<description>&lt;p&gt;This is fixed in 2.4.5 which is now on github. If anyone needs a binary package for a system other than Ubuntu 22.04 (which is already available from the download page), let me know.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2575/problem-with-substitute-and-powers?show=2602#a2602</guid>
<pubDate>Tue, 14 Nov 2023 22:26:30 +0000</pubDate>
</item>
<item>
<title>Answered: Substitution after map_sympy(*, 'simplify')</title>
<link>https://cadabra.science/qa/2570/substitution-after-map_sympy-simplify?show=2571#a2571</link>
<description>&lt;p&gt;Ah, that's a good one. Internally, cadabra always writes &lt;code&gt;X**(0.5)&lt;/code&gt; even when you write &lt;code&gt;\sqrt{X}&lt;/code&gt;. But somehow this canonicalisation does not get applied when the &lt;code&gt;\sqrt{X}&lt;/code&gt; comes back from Python. And then the substitute does not match anymore.&lt;/p&gt;
&lt;p&gt;This requires a cadabra fix. It may be possible to convince sympy to output as &lt;code&gt;X**(0.5)&lt;/code&gt; as a temporary workaround; I don't know off the top of my head.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2570/substitution-after-map_sympy-simplify?show=2571#a2571</guid>
<pubDate>Wed, 25 Oct 2023 13:30:08 +0000</pubDate>
</item>
<item>
<title>Answered: InverseMetric is not symmetric?</title>
<link>https://cadabra.science/qa/2564/inversemetric-is-not-symmetric?show=2565#a2565</link>
<description>&lt;p&gt;Hi GPN.&lt;/p&gt;
&lt;p&gt;I was not able of reproducing your results. Let me show you my trial code.&lt;/p&gt;
&lt;p&gt;First, I assign some basic properties:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{\mu,\nu}::Indices;
g_{\mu\nu}::Metric;
g^{\mu\nu}::InverseMetric;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then I check if the inverse metric is symmetric:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;if Symmetric.get($g^{\mu\nu}$):
    print(&quot;True&quot;)
else:
    print(&quot;False&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I'm getting that it is &lt;code&gt;True&lt;/code&gt;!&lt;/p&gt;
&lt;p&gt;Just as a cross check I ask if it is antisymmetric:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;if AntiSymmetric.get($g^{\mu\nu}$):
    print(&quot;True&quot;)
else:
    print(&quot;False&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And I got &lt;code&gt;False&lt;/code&gt;!&lt;/p&gt;
&lt;p&gt;If you are not getting the same results it might be that you are using an older version of the software, were the inheritance of the symmetries was buggy or miscompiled.&lt;/p&gt;
&lt;p&gt;Regards,
Dox.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2564/inversemetric-is-not-symmetric?show=2565#a2565</guid>
<pubDate>Tue, 24 Oct 2023 08:47:40 +0000</pubDate>
</item>
<item>
<title>Answered: function evaluate output a wrong order of SelfAntiCommuting objects</title>
<link>https://cadabra.science/qa/2543/function-evaluate-output-wrong-selfanticommuting-objects?show=2546#a2546</link>
<description>&lt;p&gt;The &lt;code&gt;evaluate&lt;/code&gt; algorithm does not preserve the order of factors in a product at present. I am working on a fix for this; if there's anything new to test/try I will report here.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2543/function-evaluate-output-wrong-selfanticommuting-objects?show=2546#a2546</guid>
<pubDate>Fri, 06 Oct 2023 11:04:19 +0000</pubDate>
</item>
<item>
<title>Answered: Module &quot;cdb.core.component&quot; cannot be imported</title>
<link>https://cadabra.science/qa/2534/module-cdb-core-component-cannot-be-imported?show=2537#a2537</link>
<description>&lt;p&gt;Sorry for the wait. Just to explain the logic: this function &lt;code&gt;get_component&lt;/code&gt; used to be implemented in Python (the commented-out bit you noticed), but was at some point rewritten in C++ for a number of reasons. Since then, the &lt;code&gt;cdb.core.component&lt;/code&gt; Python module just imports &lt;code&gt;cdb.core._component&lt;/code&gt; (with underscore). This is a separate C++ library, which should have been installed with the build, but either wasn't, or is not in a path where Python looks for it.&lt;/p&gt;
&lt;p&gt;I cannot reproduce it on my macOS machine either, but will do some digging on a clean machine to see what might be the problem (Python search paths are notoriously tricky to get right across multiple platforms).&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2534/module-cdb-core-component-cannot-be-imported?show=2537#a2537</guid>
<pubDate>Fri, 08 Sep 2023 17:40:08 +0000</pubDate>
</item>
<item>
<title>Autocomplete on Jupyter Notebook acting weird</title>
<link>https://cadabra.science/qa/2499/autocomplete-on-jupyter-notebook-acting-weird</link>
<description>&lt;p&gt;Whenever I try to use autocompletion on Jupyter notebooks it always autocompletes with &quot;a.echo1&quot; or by appending &quot;ho1&quot; to the last &quot;a.echo1&quot; it autocompleted. Has autcomplete been integrated in the Jupyter kernel yet or is there something wrong with my setup? Thank you&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2499/autocomplete-on-jupyter-notebook-acting-weird</guid>
<pubDate>Tue, 25 Apr 2023 11:04:30 +0000</pubDate>
</item>
<item>
<title>Answered: eliminate_metric - avoid partial differential</title>
<link>https://cadabra.science/qa/2487/eliminate_metric-avoid-partial-differential?show=2489#a2489</link>
<description>&lt;p&gt;I know that Kasper already answer the question, but I'd like to comment some additional points:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The metric should depend on the partial derivatives (perhaps the covariant derivative, if you are working with nonmetricity).&lt;/li&gt;
&lt;li&gt;It is useful to denote the indices of the metric as subindices, with the &lt;code&gt;_&lt;/code&gt; sign, e.g. &lt;code&gt;g_{m n}&lt;/code&gt; instead of &lt;code&gt;g{m n}&lt;/code&gt;. Same for the Kronecker delta and the derivatives.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;eliminate_metric&lt;/code&gt; algorithm requires an argument, in this case either &lt;code&gt;(test)&lt;/code&gt;, or the customary &lt;code&gt;(_)&lt;/code&gt; to apply it to the pravious expression.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;The modified code&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;{x1,x2,x3,x4}::Coordinate;
{k,l,m,n,p,q,r,s,t}::Indices(position=fixed,values=[x1,x2,x3,x4]);
\nabla{#}::Derivative;
\partial{#}::PartialDerivative;
g_{m n}::Metric;
g^{m n}::InverseMetric;
g_{m}^{n}::KroneckerDelta;
g^{m}_{n}::KroneckerDelta;
{g_{m n},g^{m n}}::Depends(\partial{#});
test := Q^{s}_{r m n} -&amp;gt; g^{s k} \partial_{r m}{g_{k n}};
eliminate_metric(_);&lt;/code&gt;&lt;/pre&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2487/eliminate_metric-avoid-partial-differential?show=2489#a2489</guid>
<pubDate>Thu, 06 Apr 2023 08:09:06 +0000</pubDate>
</item>
<item>
<title>Answered: Incorrect Derivative Free Index Behaviour For User-Defined Symbols</title>
<link>https://cadabra.science/qa/2445/incorrect-derivative-free-index-behaviour-defined-symbols?show=2466#a2466</link>
<description>&lt;p&gt;You cannot use &lt;code&gt;x_\mu&lt;/code&gt; or &lt;code&gt;x_\m&lt;/code&gt; in the derivative like that. Current github HEAD will report $x_\mu$ and $\mu$ (twice) as free indices in both cases. However, if you use&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;D_{\mu}{ \theta_\mu }&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;or in the 2nd case&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;D_{\m}{\theta_\m}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;then things work and (again with current github HEAD) will report no free indices.&lt;/p&gt;
&lt;p&gt;Please let me know if this is still a problem with github HEAD (2.4.3.5).&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2445/incorrect-derivative-free-index-behaviour-defined-symbols?show=2466#a2466</guid>
<pubDate>Sun, 12 Mar 2023 18:33:04 +0000</pubDate>
</item>
<item>
<title>Answered: Broken link in manual: `Weight`</title>
<link>https://cadabra.science/qa/2439/broken-link-in-manual-weight?show=2455#a2455</link>
<description>&lt;p&gt;Thanks, now fixed.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2439/broken-link-in-manual-weight?show=2455#a2455</guid>
<pubDate>Thu, 16 Feb 2023 08:32:45 +0000</pubDate>
</item>
<item>
<title>Answered: exponents problems</title>
<link>https://cadabra.science/qa/2452/exponents-problems?show=2453#a2453</link>
<description>&lt;p&gt;Use a substitution like&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; substitute(ex, $\exp(A??) \exp(B??)-&amp;gt; exp(A??+B??)$)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Add the &lt;code&gt;, repeat=True&lt;/code&gt; if necessary to make it repeat the process until the expression no longer changes.&lt;/p&gt;</description>
<category>Bug reports</category>
<guid isPermaLink="true">https://cadabra.science/qa/2452/exponents-problems?show=2453#a2453</guid>
<pubDate>Mon, 13 Feb 2023 15:05:56 +0000</pubDate>
</item>
</channel>
</rss>