Is Covariant Derivative Notation Misleading in Vector Calculus?

In summary, the notation for covariant derivatives is confusing because it is not actually a tensor. The notation is clunky and weird because first you take a covariant derivative of the vector, and the result is another vector. With my notation, the expression is just the partial derivative of the original vector.
  • #36
stevendaryl said:
Or, if you know what the relationship is between your basis vectors eμ and a set of local Cartesian basis
The OP is working on manifolds though. There may be no such thing as a Cartesian basis.
 
Physics news on Phys.org
  • #37
Orodruin said:
To me this is one of those cases where practicality trumps cumbersome notation. I can agree that there is no a priori clear indication as to if ##\nabla_\nu V^\mu## means ##(\nabla_\nu V)^\mu## or ##\nabla_\nu(V^\mu)##. However, we already have the notation ##\partial_\nu V^\mu## for ##\nabla_\nu (V^\mu)## so we do not really need another one. With this in mind, the notation is pretty consistent. As for the basis ##e_\mu##, the connection coefficient would be most easily expressed as ##\nabla_\mu e_\nu = \Gamma_{\mu\nu}^\lambda e_\lambda## - I don't really see a problem with this. Alternatively, ##\Gamma_{\mu\nu}^\lambda = e^\lambda(\nabla_\mu e_\nu)##, where ##e^\lambda## is the dual basis. The only notational rule is that when you have an expression of the form ##\nabla_\nu T^{\ldots}_{\ldots}##, the indices represented by ##\ldots## refer to the additional indices of the expression ##\nabla_\nu T##, i.e., it is understood as ##(\nabla_\nu T)_\ldots^\ldots##. I do not really see any possible misinterpretation here.

Regardless, I think this entire discussion is distracting from the OP's inquiry. It should perhaps be moved to a thread of its own?
When in doubt, just always write down the parantheses in place.
Also in mathematical logic there's a rule for eliminating parantheses, but I can't remember it.
I just keep on writing all the parantheses when needed.
 
  • #38
Orodruin said:
The OP is working on manifolds though. There may be no such thing as a Cartesian basis.

Yes, but it seems that understanding covariant derivatives in flat space using non-Cartesian coordinates is good practice for understanding the case of curved space.
 
  • #39
stevendaryl said:
Yes, but it seems that understanding covariant derivatives in flat space using non-Cartesian coordinates is good practice for understanding the case of curved space.
This is fine and usually how I introduce my own students to covariant derivatives. However, the differences in the manifold case need to be pointed out. I have seen too many examples if what happens to some students that somehow miss that part.
 
  • #40
PeterDonis said:
The covariant derivative operator takes any (p, q) tensor and produces a (p, q + 1) tensor. The directional derivative operator is not formed by "fixing " on ; it's formed by contracting with , i.e., it's the operator . This operator takes a (p, q) tensor and produces another (p, q) tensor.
To me is clear that covariant derivative operator ##\nabla## is actually an operator and not a tensor itself -- I believe it could be better to use ##\nabla()## for it. The argument inside the brackets () is a tensor field thus if we "pass" it a vector field ##X## it actually returns a (1,1) tensor.

To me it makes no sense to use indexes "inside" the term ##\nabla(X) = \nabla X## nevertheless it perfectly does make sense to apply upper-lower indexes to the overall ##\nabla X## such as ##\left( \nabla V \right)_\mu{}^\nu## since it is a tensor.
 
  • #41
cianfa72 said:
covariant derivative operator ##\nabla## is actually an operator and not a tensor itself

Yes, that's correct; the common notation ##\nabla_\mu## is really a shorthand for saying that ##\nabla## is an operator that takes a (p, q) tensor and produces a (p, q + 1) tensor, i.e., it "adds" one lower index. As you note, it makes more sense to put the indexes on the entire expression ##\nabla V## instead of on the ##\nabla## and the ##V## separately.
 
  • Like
Likes vanhees71
  • #42
PeterDonis said:
As you note, it makes more sense to put the indexes on the entire expression ∇V instead of on the ∇ and the V separately.
Well, yes and no. On the one hand it is true that the object as such is a (p,q+1) tensor. On the other hand the usual notation makes it clearer which index is which.
 
  • #43
Orodruin said:
the usual notation makes it clearer which index is which.

But there is no "which index is which"; that's the point. It's not like one index "belongs" to the ##\nabla## operator and one index "belongs" to the vector ##V##. Both indexes "belong" to the object ##\nabla V##; you can't separate them out. That's the issue that prompted the original complaint about the usual notation.
 
  • Informative
Likes cianfa72
  • #44
PeterDonis said:
But there is no "which index is which";
Of course there is. If not all tensors would be symmetric. In the particular case of this operator, the singled out argument is that for which the operator becomes a directional derivative when taking an argument.
 
  • #45
Orodruin said:
Of course there is. If not all tensors would be symmetric.

I don't understand.

Orodruin said:
In the particular case of this operator, the singled out argument is that for which the operator becomes a directional derivative when taking an argument.

I don't understand how the term "argument" applies here. I see what you are getting at: if I want to obtain a directional derivative from the object ##\left( \nabla V \right)_\mu{}^\nu##, I have to contract with the ##\mu## index, not the ##\nu## index. Or, if I look at just the operator by itself, I can contract ##\nabla_\mu## with a vector ##u^\mu## to obtain the directional derivative operator ##u^\mu \nabla_mu##; I can't contract anything with the vector ##V## to get a directional derivative operator. But the argument of the operator in either case is the same, the vector ##V##.
 
  • #46
PeterDonis said:
But there is no "which index is which"; that's the point.
Orodruin said:
Of course there is. If not all tensors would be symmetric.
PeterDonis said:
I don't understand.

I think the point being made here is that the horizontal positioning is important [well, for any not totally-symmetric tensor :wink:] and of course cannot be ignored; In slot notation, the covariant derivative of a type ##(k,l)## tensor ##T## along a vector ##U## is$$\nabla_{U} T := \nabla T(\, \cdot \, , \dots, \, \cdot \, , U)$$with the ##U## in the final slot.

With the usual conventions of tensor notation, the components of the covariant derivative, in some chosen basis, would be written $${\nabla T^{\alpha_1, \dots, \alpha_k}}_{\beta_1, \dots, \beta_{l+1}}$$but for covariant derivatives it seems much more natural to re-write this last lower index ##\beta_{l+1}## on the nabla instead,$$\nabla_{\beta_{l+1}} {T^{\alpha_1, \dots, \alpha_k}}_{\beta_1, \dots, \beta_{l}}$$because this makes especially clear that the ##\beta_{l+1}## index, corresponding to the final slot on the tensor, corresponds to the basis vector along which the derivative is being taken.
 
Last edited by a moderator:
  • Like
Likes Paul Colby
  • #47
PeterDonis said:
Yes, that's correct; the common notation ##\nabla_\mu## is really a shorthand for saying that ##\nabla## is an operator that takes a (p, q) tensor and produces a (p, q + 1) tensor, i.e., it "adds" one lower index. As you note, it makes more sense to put the indexes on the entire expression ##\nabla V## instead of on the ##\nabla## and the ##V## separately.

That’s the convention that I greatly dislike. It is true that ##\nabla V## is a (1,1) tensor, but I don’t understand what is wrong with considering ##\nabla_\mu V## to be a vector.
 
  • #48
##\nabla_\mu## makes perfect sense as an operator on vectors, with the effect that it takes a vector with components ##V^\nu## and returns a new vector with components

##\partial_\mu V^\nu + \Gamma^\nu_{\mu \lambda} V^\lambda##
 
  • #49
stevendaryl said:
I don’t understand what is wrong with considering ##\nabla_\mu V## to be a vector.

If by ##\nabla_\mu V## you mean ##\left( e_\mu \right)^\mu \nabla_\mu V## (which shows the abuse of notation involved in confusing "which vector" indexes with component indexes), then, yes, that's a vector. I just don't think that's what the notation ##\nabla_\mu## usually means.

If by ##\nabla_\mu V## you mean ##\nabla_\mu V^\nu##, i.e., ##\left( \nabla V \right)_\mu{}^\nu##, that's not a vector, that's a (1, 1) tensor.

stevendaryl said:
##\nabla_\mu## makes perfect sense as an operator on vectors

Yes, an operator that takes vectors as input and gives (1, 1) tensors as output. The thing that gets output has 1 upper and 1 lower index. The expression you wrote down for the output shows that.
 
  • #50
stevendaryl said:
a new vector with components

##\partial_\mu V^\nu + \Gamma^\nu_{\mu \lambda} V^\lambda##

That isn't a vector, it's a (1, 1) tensor. It has two free indexes, one upper and one lower.
 
  • Like
Likes cianfa72
  • #51
PeterDonis said:
That isn't a vector, it's a (1, 1) tensor. It has two free indexes, one upper and one lower.

No, it's NOT a tensor, it's a vector. For each possible value of ##\mu##, it's a different vector. In the same way that ##e_\mu## represents four different vectors, one for each value of ##\mu##. Look, if instead of ##\mu##, I used "x", surely you wouldn't think that

##\partial_x V^\nu + \Gamma^\nu_{x \lambda} V^\lambda##

is a tensor. Would you? No, it's the directional derivative of ##V## in the x-direction.

Similarly,
##\partial_\mu V^\nu + \Gamma^\nu_{\mu \lambda} V^\lambda##

means a directional derivative in the ##\mu##-direction.
 
  • #52
PeterDonis said:
If by ##\nabla_\mu V## you mean ##\left( e_\mu \right)^\mu \nabla_\mu V## (which shows the abuse of notation involved in confusing "which vector" indexes with component indexes), then, yes, that's a vector. I just don't think that's what the notation ##\nabla_\mu## usually means.

That might be true. I think that the usual notation is pretty screwed up.

If by ##\nabla_\mu V## you mean ##\nabla_\mu V^\nu##.

That doesn't make any sense to me. To me, ##\nabla V## is a 1,1 tensor, and ##\nabla_\mu V^\nu## is not a tensor at all, but a COMPONENT of a tensor.

To me, ##V^\nu## is not a vector, it is a component of a vector.
 
  • #53
Just my humble opinion, I think we're really going round in circles here getting bogged down in semantics. Something of the form ##\nabla_{\mu} V^{\nu}## can be completely justifiably viewed as either the components of a (1,1) tensor, or the components of a (1,0) tensor [vector], depending on the context.

It really just amounts to whether you view the subscript ##\mu## as a shorthand for ##e_{\mu}##, in which case ##\nabla_{\mu} V^{\nu} = \nabla(e_{\mu}, V)^{\nu}## are the components of a vector field, or whether you consider it an index in its own right, ##\nabla_{\mu} V^{\nu} = {(\nabla V)_{\mu}}^{\nu}## in which case it's the components of a tensor field.

It's just notation!
 
Last edited by a moderator:
  • #54
etotheipi said:
Just my humble opinion, I think we're really going round in circles here getting bogged down in semantics. Something of the form ##\nabla_{\mu} V^{\nu}## can be completely justifiably viewed as either a (1,1) tensor, or a (1,0) tensor [vector], depending on the context.

My feeling is that it should never be considered a tensor or a vector, but should be considered components of a tensor or a vector. That's what I consider confusing about physics notation is that they don't distinguish carefully between a vector and a component of a vector, and they don't distinguish between a function and the value of a function at a point.
 
  • Like
Likes cianfa72 and (deleted member)
  • #55
PeterDonis said:
I don't understand how the term "argument"
The (p,q+1) tensor is a linear map that takes p+q+1 arguments (p dual vectors and q+1 vectors) to real numbers.
 
  • #56
stevendaryl said:
My feeling is that it should never be considered a tensor or a vector, but should be considered components of a tensor or a vector. That's what I consider confusing about physics notation is that they don't distinguish carefully between a vector and a component of a vector, and they don't distinguish between a function and the value of a function at a point.

Yes sorry, I agree; I was just using the sloppy physicist's parlance that you mentioned right now :wink:

[Only exception is if we're using Penrose's abstract indices, in which case ##\nabla_{a} V^{b}## does refer to the abstract tensor itself.]
 
  • #57
etotheipi said:
Yes sorry, I agree; I was just using the sloppy physicist's parlance that you mentioned right now :wink:

[Only exception is if we're using Penrose's abstract indices, in which case ##\nabla_{a} V^{b}## does refer to the abstract tensor itself.]

Yes, I understand Penrose abstract indices, but sometimes you want to talk about a component of a vector. Then you have to do something like ##(V^b)^\mu##, which is very weird looking.
 
  • Like
Likes etotheipi
  • #58
stevendaryl said:
Yes, I understand Penrose abstract indices, but sometimes you want to talk about a component of a vector. Then you have to do something like ##(V^b)^\mu##, which is very weird looking.

In fact in Wald's book he just uses ##V^{\mu}## for the components of ##V^a## in some basis, which is pretty clean. The only bit that looks weird to me is stuff like tetrads, where you have to write ##(e_{\mu})^a## where ##\mu## is labelling a particular basis vector in the basis. :smile:
 
  • Like
Likes robphy
  • #59
stevendaryl said:
This is something that drives me crazy about physics notation, which is that the notation doesn't distinguish between a vector and a component of a vector, and doesn't distinguish between a tensor and a component of a tensor.

If ##U## and ##V## are vectors, then ##\nabla_U V## is another vector.

This notation drives me nuts, as well. I generally prefer abstract index notation. So to calculate the acceleration vector field field a from a velocity vector field v, via a directional derivative, I'd write ##a^b = u^a \nabla_a v^b##. Then ##\nabla_a v^b## is notationally a second rank tensor. Taking a directional derivative is just a contraction of this second rank tensor with some vector. In this case, we contract the second rank tensor arising from the covariant derivative of the velocity field with the original velocity field to get the acceleration field.

Of course authors don't always do this. If there is enough context I can usually figure it out the notation with enough effort. If the context is lacking or unclear (as in some of this discussion), I find it hard to follow the intent of the author who chooses some other notational scheme. Which doesn't necessarily make it wrong, it's just that I find it confusing.

The only difference between index notation and abstract index notation is that if we require a specific basis (for instance, a coordinate basis), then we use greek letters in the subscripts and superscripts as a warning of this requirement.
 
  • Like
Likes etotheipi
  • #60
stevendaryl said:
it's NOT a tensor, it's a vector.

We've already been around this merry-go-round once. I'm sorry, but I simply don't see the point of trying to gerrymander the interpretation of individual indexes of the same kind on expressions the way you are doing.

To me, the whole point of having indexes on expressions is to denote what kind of object the thing is. A vector has one upper index. A (1, 1) tensor has one upper and one lower index. If indexes are contracted in the expression, they aren't free indexes so they don't contribute to the "what kind of object" determination. Calling something with one upper and one lower index a "vector" because you are trying to think of one index one way and another index another way makes no sense to me. I can't stop you from doing it, but I don't see the point of it; I think it just causes more confusion instead of solving any.

As I mentioned much earlier in this thread, Wald's abstract index notation can be helpful in this connection since it separates out the "what kind of object" indexes from all the other uses (and abuses) of index notation and makes at least that aspect clear. For example, we could write ##\left( e_\mu \right)^a## to show that this thing we are calling ##e_\mu##, however confusing the ##\mu## index might be (just witness the confusion about that in this thread), at least is known for sure to be a vector--one upper abstract index.

In Wald's abstract index notation, we would write ##\left( \nabla V \right)_a{}^b##, or, if we are using the common shortcut, ##\nabla_a V^b##. The two abstract indexes tell us what kind of object it is: a (1, 1) tensor; and they do that whether we include the parentheses or not. It's also clear that we are not talking about components, so we don't have to get confused about whether components are scalars (because we haven't made it clear whether we mean "components" generally, or "components in a particular fixed basis", another confusion we've had in this thread). If we want to express a particular component of an object, we have to contract it appropriately: for example, we would say that ##\left( V^a \right)^\mu = V^a \left( e^\mu \right)_a##. And now it's clear that this "component" is a scalar, because it's a component in a fixed basis--a contraction of two vectors. (Actually, a contraction of a vector and a covector, since I've used the basis covector in the contraction.)

stevendaryl said:
Look, if instead of ##\mu##, I used "x",

Then you would be writing a different expression, which at least would give some indication that you intended the ##x## index to mean something different from the other ones (although even then the "directional derivative" interpretation is not the one that I would intuitively assign, nor, I think, would most physics readers--we would intuitively think you mean the ##x## component of the 1, 1 tensor). But you didn't write that expression; you wrote the one you wrote. You wrote an expression with two free indexes of the same kind (both Greek indexes). To most readers, that means both indexes are indicating the same kind of thing. So for you to then complain that nobody understands that you meant one Greek index to indicate "directional derivative" and the other Greek index to indicate "vector" doesn't seem to me like a good strategy.

In Wald's abstract index notation, the directional derivative of ##V## in the ##x## direction would be ##\left( e_x \right)^a \nabla_a V^b##. And now it's clear (a) that this thing is a vector (one free upper index), and (b) that the ##x## index is not a "what kind of object" index, it's a "which object" index.
 
  • Like
Likes cianfa72 and robphy
  • #61
etotheipi said:
It's just notation!

Yes, but since there are multiple different, contradictory conventions for notation, and since it's often not clear which convention a particular person is using, it's at least worth trying to describe the different conventions and have some debate about their pros and cons.
 
  • Like
Likes etotheipi
  • #62
PeterDonis said:
Yes, but since there are multiple different, contradictory conventions for notation, and since it's often not clear which convention a particular person is using, it's at least worth trying to describe the different conventions and have some debate about their pros and cons.

Very true. Good notation can get you a long way in a problem!

On the plus side, I'm happy to see Penrose's notation getting some love in this thread. It seems that some people like to bash it, but I actually think it's quite nice. It's helpful conceptually and it looks pretty :smile:
 
  • #63
etotheipi said:
I actually think it's quite nice.

So do I. It's one thing I greatly prefer about Wald as compared to, say, MTW. Their boldface notation for tensors, while it has some nice features, completely obscures the "slot" information that Wald's abstract index notation makes clear. And the only alternative notation MTW uses is component notation, which, while in their usage it does make the slot information clear (they basically use it to serve both functions--the Wald abstract index function and the "components in an unspecified basis" function, and in their usage components are never scalars--they will always write an explicit contraction when they want to obtain a scalar), does invite other confusions.
 
  • Like
Likes etotheipi
  • #64
PeterDonis said:
We've already been around this merry-go-round once. I'm sorry, but I simply don't see the point of trying to gerrymander the interpretation of individual indexes of the same kind on expressions the way you are doing.

If ##V^\nu## does not mean a component of vector ##V##, then how do you indicate the components of vector ##V##? If ##\nabla_\mu V^\nu## doesn't mean the ##^{\nu}_\mu## component of tensor ##\nabla V##, then how do you indicate that component?

I think you're defending a convention that causes no end of confusion.

To me, the whole point of having indexes on expressions is to denote what kind of object the thing is.

Doesn't calling it a ##(1,1)## tensor already indicate that?

Then you would be writing a different expression, which at least would give some indication that you intended the ##x## index to mean something different from the other ones (although even then the "directional derivative" interpretation is not the one that I would intuitively assign, nor, I think, would most physics readers--we would intuitively think you mean the ##x## component of the 1, 1 tensor).

You keep making a distinction where there is no distinction. If ##T## is a (1,1) tensor, then it is true BOTH that ##T^x_y## is a component of the (1,1) tensor ##T##, and ALSO that ##T^x_y## is the x-component of the vector formed by contracting ##T## with the basis vector ##e_y##. So you're making a distinction that doesn't exist.
 
  • #65
pervect said:
The only difference between index notation and abstract index notation is that if we require a specific basis (for instance, a coordinate basis), then we use greek letters in the subscripts and superscripts as a warning of this requirement.

I think it is unambiguous, except that in practice, people don't always stick to greek letters for names of components. They often use, instead, ##i, j, k## if it's meant to be a Cartesian basis. The notation ##V^a## looks like it's talking about a component of vector ##V##.
 
  • #66
So I think that the two sides can be reconciled if people do always use roman letters for abstract indices, and use greek letters for concrete indices. So under that convention, ##\nabla_\mu V^\nu## is talking about components of a tensor. If you want to talk about the tensor itself, you would use ##\nabla_a V^b##.
 
  • #67
stevendaryl said:
If ##V^\nu## does not mean a component of vector ##V##

It does. That's not the issue. The issue is that, while you're fine with using the Greek index ##\nu## to indicate a component, you insist on using the Greek index ##\mu## to indicate something else, like a directional derivative.

stevendaryl said:
I think you're defending a convention that causes no end of confusion.

I think you're mistaken about what I am saying. See above.

stevendaryl said:
Doesn't calling it a ##(1,1)## tensor already indicate that?

Sure, if you don't mind writing "##\nabla V##, a (1, 1) tensor" every time. But the whole point of having a notation like ##\nabla_a V^b## is to not have to write all that extra stuff every time, because what the object is is obvious from the notation.

stevendaryl said:
You keep making a distinction where there is no distinction.

No, you keep ignoring the fact that the double meaning you are trying to get away with only works if you are using a coordinate basis. We've already been around this merry-go-round as well.
 
  • #68
stevendaryl said:
I think that the two sides can be reconciled if people do always use roman letters for abstract indices, and use greek letters for concrete indices.

If by "concrete indices" you mean "component indices", then yes, that works. That's basically the convention Wald uses.

However, you have been using Greek letters for things that aren't component indices, like directional derivatives. You have used ##\nabla_\mu V^\nu## to mean, not the ##\mu##, ##\nu## component of the (1, 1) tensor ##\nabla_a V^b##, but the directional derivative in the ##\mu## direction of the vector ##V^\nu##, or more precisely the directional derivative in the direction of the vector ##e_\mu## in some fixed basis of the scalar obtained by taking the ##\nu## component of the vector ##V## in the same basis. The fact that, if the fixed basis chosen is a coordinate basis, those two things turn out to be the same, does not mean they are the same thing in general or that the same notation can always be used to designate both.

A slight abuse of Wald's convention would write what I just described above as ##\left[ \left( e_\mu \right)^a \nabla_a V^b \right]^\nu##. Notice how this makes it clear that the two Greek letters are serving different functions: ##\nu## is a component and ##\mu## is a "which vector" label that designates the direction in which we are taking the directional derivative (and this latter use is not what Wald normally uses Greek indices for, which is why I say this is a slight abuse of his convention). An even more explicit way to write it would be ##\left( e_\mu \right)^a \nabla_a V^b \left( e^\nu \right)_b##, which makes it clear what "taking the ##\nu## component" actually means. (Notice that this last expression is clearly a scalar, making it clear why "components of vectors in a fixed basis are scalars" is true.)
 
  • #69
PeterDonis said:
It does. That's not the issue.

Then ##T^\mu_\nu## is not a tensor or a vector. It's just a number that happened to be formed from a tensor ##T##. ##\nabla_\mu V^\nu## is, for a particular choice of ##\mu## and ##\nu##, just a number.

The issue is that, while you're fine with using the Greek index ##\nu## to indicate a component, you insist on using the Greek index ##\mu## to indicate something else, like a directional derivative.

The index tells you which one. ##V^\nu## tells you which component of ##V##, ##e_\mu## tells you which basis vector, ##\nabla_\mu## tells you which directional derivative (the one in the direction of basis vector ##e_\mu##.

No, you keep ignoring the fact that the double meaning you are trying to get away with only works if you are using a coordinate basis. We've already been around this merry-go-round as well.

How does it depend on a coordinate basis?

My claim is that if you have a (1,1) tensor ##T##, then it is true both that ##T^\nu_\mu## is the ##\nu-\mu## component of ##T##, and also that it is the ##\nu## component of the vector formed by contracting ##T## with the vector ##e_\mu##. How does that equivalence depend on whether ##e_\mu## is a coordinate basis?
 
  • #70
stevendaryl said:
##\nabla_\mu V^\nu## is, for a particular choice of ##\mu## and ##\nu##, just a number.

But the notation ##\nabla_\mu V^\nu##, by itself, does not say whether you mean the particular number you get from making a particular choice of values for the indices, or the abstract object that is the (1, 1) tensor itself. You, yourself, complained about that very ambiguity when you said, correctly, that physics notation doesn't make it clear whether you are talking about a vector or the components of a vector. But now you suddenly turn around and say that that notation always means the components? Why are you shifting your ground?

stevendaryl said:
The index tells you which one.

I understand quite well that your choice of index tells you perfectly clearly which one. My point is that it doesn't tell me which one--or most other physics readers. As I noted above, you complained before about physics notation not clearly distinguishing between vectors and their components; the notation you are using here fails to clearly distinguish between components and directional derivatives. I'm not arguing that the usual physics notation is clear; indeed, I have posted several times now describing the advantages of Wald's abstract index notation over the usual physics notation. I just don't see how your preferred notation is an improvement. I don't see how it helps to exchange one confusion for another.

stevendaryl said:
How does it depend on a coordinate basis?

I addressed this a while back, and so did @Orodruin. See posts #13 and #21.
 

Similar threads

Replies
7
Views
2K
Replies
7
Views
695
Replies
19
Views
2K
Replies
22
Views
2K
Replies
6
Views
2K
Replies
62
Views
4K
Replies
10
Views
995
Back
Top