Talk:Geometric algebra: Difference between revisions

From Rosetta Code
Content added Content deleted
Line 25: Line 25:
::::I see that you posted a solution using the quaternion task. That is obviously not what was intended. You're supposed to implement the geometric algebra and use it to implement quaternions. Implementing quaternions is not the purpose ''per se''.--[[User:Grondilu|Grondilu]] ([[User talk:Grondilu|talk]]) 16:14, 17 October 2015 (UTC)
::::I see that you posted a solution using the quaternion task. That is obviously not what was intended. You're supposed to implement the geometric algebra and use it to implement quaternions. Implementing quaternions is not the purpose ''per se''.--[[User:Grondilu|Grondilu]] ([[User talk:Grondilu|talk]]) 16:14, 17 October 2015 (UTC)
:::::I believe I have changed that implementation to satisfy the requirement of the "incorrect" notice. That said, I will also note that I believe this issue could be stated significantly more clearly in the task description with relatively little effort. --[[User:Rdm|Rdm]] ([[User talk:Rdm|talk]]) 17:42, 17 October 2015 (UTC)
:::::I believe I have changed that implementation to satisfy the requirement of the "incorrect" notice. That said, I will also note that I believe this issue could be stated significantly more clearly in the task description with relatively little effort. --[[User:Rdm|Rdm]] ([[User talk:Rdm|talk]]) 17:42, 17 October 2015 (UTC)
::::::I think it is pretty clear already that the quaternion data structure is meant only as a show-case the use of geometric algebra. Using an implementation of quaternions that does not actually implement geometric algebra can not be satisfactory. If you persist I guess I will have to switch back to verifying axioms.--[[User:Grondilu|Grondilu]] ([[User talk:Grondilu|talk]]) 17:58, 17 October 2015 (UTC)
::::::I think it is pretty clear already that the quaternion data structure is meant only as a show-case for the use of geometric algebra. Using an implementation of quaternions that does not actually implement geometric algebra can not be satisfactory. If you persist I guess I will have to switch back to verifying axioms.--[[User:Grondilu|Grondilu]] ([[User talk:Grondilu|talk]]) 17:58, 17 October 2015 (UTC)

Revision as of 17:59, 17 October 2015

This is maybe too big for a task

I'm pretty sure people will say that, and maybe they're right. But maybe not. I don't think it is much more complicated than say Quaternion type, and in any case it is, from both the programming and mathematical points of view,, quite interesting and worth featuring in Rosetta Code, imho. Please feel free to argue about it.--Grondilu (talk) 22:38, 13 October 2015 (UTC)

It's not clear that we can meaningfully implement anything with infinite dimension - countable or not. At best, we can support a finite subset of such a thing.
More specifically, how would we tell whether an implementation has or has not satisfied that part of the task requirement? --Rdm (talk) 12:36, 14 October 2015 (UTC)
It's infinite in the sense that there is no limit to the number of dimensions. But we only consider vectors that have a finite support. I guess I could mention that, indeed. It's also true that it's not obvious how we can check that an implementation can handle any vector size. I welcome suggestions.--Grondilu (talk) 15:56, 14 October 2015 (UTC)
I would describe that as an arbitrary number of dimensions rather than an infinite number of dimensions (edit: and I see that you have made exactly that change in the task description). But that brings up another issue: - unless we severely constrain our work, how are we going to verify that an implementation has satisfied this task in that regard? --Rdm (talk) 16:25, 14 October 2015 (UTC)
There is no way to verify this kind of things from just the output. We have to trust the code to do something significant without cheating. What I suggested in the task description was to pick a random vector and check that its square is a Real.--Grondilu (talk) 16:28, 14 October 2015 (UTC)
Ok, so I think what you are saying is roughly that the task should instead be implementing with the added constraint that must be picked arbitrarily from the space? That's certainly doable... --Rdm (talk) 16:34, 14 October 2015 (UTC)
No, I don't say that. We should keep the axioms as they are and try our best to verify them from a computational point of view.--Grondilu (talk) 16:44, 14 October 2015 (UTC)
After some thought I changed the task requirements and made it demand an implementation of quaternion to demonstrate the solution. Hope it's ok.--Grondilu (talk) 10:37, 17 October 2015 (UTC)
That might be a bit overly constrained? Though, granted, not constrained enough for the "forall" test to be implemented - which, I guess, is why you made the test for correctness be a single case? See also Quaternion type for quaternion implementations... --Rdm (talk) 12:45, 17 October 2015 (UTC)
I see that you posted a solution using the quaternion task. That is obviously not what was intended. You're supposed to implement the geometric algebra and use it to implement quaternions. Implementing quaternions is not the purpose per se.--Grondilu (talk) 16:14, 17 October 2015 (UTC)
I believe I have changed that implementation to satisfy the requirement of the "incorrect" notice. That said, I will also note that I believe this issue could be stated significantly more clearly in the task description with relatively little effort. --Rdm (talk) 17:42, 17 October 2015 (UTC)
I think it is pretty clear already that the quaternion data structure is meant only as a show-case for the use of geometric algebra. Using an implementation of quaternions that does not actually implement geometric algebra can not be satisfactory. If you persist I guess I will have to switch back to verifying axioms.--Grondilu (talk) 17:58, 17 October 2015 (UTC)