Welcome to Cadabra Q&A, where you can ask questions and receive answers from other members of the community.
+1 vote

I'm reading The Cadabra Book and try every example in the same cadabra session. I tried command line and Jupyter kernel and same result.

I got the following error because in the same session the first two lines interfere with the others :

> {m#, n#}::Indices(vector);
Property Indices(position=free) attached to {m#, n#}.
> {n, m, p, q}::Integer(1..d);
Property Integer attached to {n, m, p, q}.
> A_{m n p}::TableauSymmetry(shape={1,1}, indices={1,2});
Property TableauSymmetry attached to A_{m n p}.
> p = TableauSymmetry.get($A_{m n p}$)
> p.attach($B_{m n p}$)
> ex:= B_{m n p} - B_{m p n};
B_{m n p}-B_{m p n}
> canonicalise(_);
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
RuntimeError: Indicex has integer property, but explicit range needed.

Is there a way to remove properties ?

Thanks

in General questions by (340 points)

2 Answers

+2 votes

There is no way currently to remove properties. Your problem goes away if you declare your indices correctly, that is

{n, m, p, q}::Indices(vector).

(as opposed to your first line). Granted, the error message is not exactly illuminating.

by (86.3k points)
0 votes

Thanks.

I clear command will be nice but probably not easy to implement.

by (340 points)
...