What does the syntax C[1][x][y] mean?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
6
down vote

favorite












I am examining an integrability condition,
$$u_3,122=u_3,123.$$
Typing



DSolve[D[u3[x1,x2,x3],x1,x2,x2]==D[u3[x1,x2,x3],x1,x2,x3],u3,x1,x2,x3]


it into MMA gives the following output:



u3 -> Function[x1, x2, x3, 
C[1][x2, x3] + x1 C[1][x1][x3] + x1 C[2][x1][x2 + x3]]


I understand that the integration 'constants' C[1] and C[2] are functions of two variables, so the result C[1][x2, x3] is clear. But what does C[1][x1][x3] mean? Specifically, why is there a concatenation of argument brackets [x1][x3] instead of an argument?







share|improve this question


















  • 2




    I'm adding the bugs tag because there should be three independent parameters.
    – Michael E2
    Aug 9 at 13:00














up vote
6
down vote

favorite












I am examining an integrability condition,
$$u_3,122=u_3,123.$$
Typing



DSolve[D[u3[x1,x2,x3],x1,x2,x2]==D[u3[x1,x2,x3],x1,x2,x3],u3,x1,x2,x3]


it into MMA gives the following output:



u3 -> Function[x1, x2, x3, 
C[1][x2, x3] + x1 C[1][x1][x3] + x1 C[2][x1][x2 + x3]]


I understand that the integration 'constants' C[1] and C[2] are functions of two variables, so the result C[1][x2, x3] is clear. But what does C[1][x1][x3] mean? Specifically, why is there a concatenation of argument brackets [x1][x3] instead of an argument?







share|improve this question


















  • 2




    I'm adding the bugs tag because there should be three independent parameters.
    – Michael E2
    Aug 9 at 13:00












up vote
6
down vote

favorite









up vote
6
down vote

favorite











I am examining an integrability condition,
$$u_3,122=u_3,123.$$
Typing



DSolve[D[u3[x1,x2,x3],x1,x2,x2]==D[u3[x1,x2,x3],x1,x2,x3],u3,x1,x2,x3]


it into MMA gives the following output:



u3 -> Function[x1, x2, x3, 
C[1][x2, x3] + x1 C[1][x1][x3] + x1 C[2][x1][x2 + x3]]


I understand that the integration 'constants' C[1] and C[2] are functions of two variables, so the result C[1][x2, x3] is clear. But what does C[1][x1][x3] mean? Specifically, why is there a concatenation of argument brackets [x1][x3] instead of an argument?







share|improve this question














I am examining an integrability condition,
$$u_3,122=u_3,123.$$
Typing



DSolve[D[u3[x1,x2,x3],x1,x2,x2]==D[u3[x1,x2,x3],x1,x2,x3],u3,x1,x2,x3]


it into MMA gives the following output:



u3 -> Function[x1, x2, x3, 
C[1][x2, x3] + x1 C[1][x1][x3] + x1 C[2][x1][x2 + x3]]


I understand that the integration 'constants' C[1] and C[2] are functions of two variables, so the result C[1][x2, x3] is clear. But what does C[1][x1][x3] mean? Specifically, why is there a concatenation of argument brackets [x1][x3] instead of an argument?









share|improve this question













share|improve this question




share|improve this question








edited Aug 9 at 13:00









Michael E2

140k11190456




140k11190456










asked Aug 9 at 10:29









Rainer Glüge

22415




22415







  • 2




    I'm adding the bugs tag because there should be three independent parameters.
    – Michael E2
    Aug 9 at 13:00












  • 2




    I'm adding the bugs tag because there should be three independent parameters.
    – Michael E2
    Aug 9 at 13:00







2




2




I'm adding the bugs tag because there should be three independent parameters.
– Michael E2
Aug 9 at 13:00




I'm adding the bugs tag because there should be three independent parameters.
– Michael E2
Aug 9 at 13:00










1 Answer
1






active

oldest

votes

















up vote
6
down vote



accepted










It looks like an error. For C[1][x][y] to make sense C[1][x] must represent a single-variable function (and C[1] should represent a function that produces a function). However, in the solution returned by DSolve, C[1] has to have a different meaning in the first term. Probably the second two parameters should be C[2] and C[3]. Another point of confusion is that in classical math, C[1][x][y] would automatically be uncurried to form C[1][x, y]. See also Curry.



We can see that the more general expression with three functions C[1], C[2], C[3] is a solution:



D[u3[x1, x2, x3], x1, x2, x2] == D[u3[x1, x2, x3], x1, x2, x3] /.
u3 -> Function[x1, x2, x3,
C[1][x2, x3] + x1 C[3][x1][x3] + x1 C[2][x1][x2 + x3]]
(* True *)


The uncurried form is also a solution:



D[u3[x1, x2, x3], x1, x2, x2] == D[u3[x1, x2, x3], x1, x2, x3] /.
u3 -> Function[x1, x2, x3,
C[1][x2, x3] + x1 C[3][x1, x3] + x1 C[2][x1, x2 + x3]]
(* True *)


Speculation: Probably the parameter generator checks the heads for unique C[n] expressions, but the head of C[1][x1][x3] is C[1][x1] and doesn't match C[1]. One can see that the order of creation with the following:



Trace[
DSolve[D[u3[x1, x2, x3], x1, x2, x2] ==
D[u3[x1, x2, x3], x1, x2, x3], u3, x1, x2, x3],
C[_][__],
TraceInternal -> True]


Remark: Note that DSolve gives an unexplainable error (without examining internals):




Last::nolast: has zero length and no last element.







share|improve this answer






















  • Just to compare. Maple 2018 answers $$ it u3 left( it x1,it x2,it x3 right) =F_1 left( it x3,it x2 right) +F_2 left( it x3,it x1 right) +F_3 left( it x1,it x3+it x2 right) . $$
    – user64494
    Aug 9 at 14:06











Your Answer




StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "387"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f179744%2fwhat-does-the-syntax-c1xy-mean%23new-answer', 'question_page');

);

Post as a guest






























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
6
down vote



accepted










It looks like an error. For C[1][x][y] to make sense C[1][x] must represent a single-variable function (and C[1] should represent a function that produces a function). However, in the solution returned by DSolve, C[1] has to have a different meaning in the first term. Probably the second two parameters should be C[2] and C[3]. Another point of confusion is that in classical math, C[1][x][y] would automatically be uncurried to form C[1][x, y]. See also Curry.



We can see that the more general expression with three functions C[1], C[2], C[3] is a solution:



D[u3[x1, x2, x3], x1, x2, x2] == D[u3[x1, x2, x3], x1, x2, x3] /.
u3 -> Function[x1, x2, x3,
C[1][x2, x3] + x1 C[3][x1][x3] + x1 C[2][x1][x2 + x3]]
(* True *)


The uncurried form is also a solution:



D[u3[x1, x2, x3], x1, x2, x2] == D[u3[x1, x2, x3], x1, x2, x3] /.
u3 -> Function[x1, x2, x3,
C[1][x2, x3] + x1 C[3][x1, x3] + x1 C[2][x1, x2 + x3]]
(* True *)


Speculation: Probably the parameter generator checks the heads for unique C[n] expressions, but the head of C[1][x1][x3] is C[1][x1] and doesn't match C[1]. One can see that the order of creation with the following:



Trace[
DSolve[D[u3[x1, x2, x3], x1, x2, x2] ==
D[u3[x1, x2, x3], x1, x2, x3], u3, x1, x2, x3],
C[_][__],
TraceInternal -> True]


Remark: Note that DSolve gives an unexplainable error (without examining internals):




Last::nolast: has zero length and no last element.







share|improve this answer






















  • Just to compare. Maple 2018 answers $$ it u3 left( it x1,it x2,it x3 right) =F_1 left( it x3,it x2 right) +F_2 left( it x3,it x1 right) +F_3 left( it x1,it x3+it x2 right) . $$
    – user64494
    Aug 9 at 14:06















up vote
6
down vote



accepted










It looks like an error. For C[1][x][y] to make sense C[1][x] must represent a single-variable function (and C[1] should represent a function that produces a function). However, in the solution returned by DSolve, C[1] has to have a different meaning in the first term. Probably the second two parameters should be C[2] and C[3]. Another point of confusion is that in classical math, C[1][x][y] would automatically be uncurried to form C[1][x, y]. See also Curry.



We can see that the more general expression with three functions C[1], C[2], C[3] is a solution:



D[u3[x1, x2, x3], x1, x2, x2] == D[u3[x1, x2, x3], x1, x2, x3] /.
u3 -> Function[x1, x2, x3,
C[1][x2, x3] + x1 C[3][x1][x3] + x1 C[2][x1][x2 + x3]]
(* True *)


The uncurried form is also a solution:



D[u3[x1, x2, x3], x1, x2, x2] == D[u3[x1, x2, x3], x1, x2, x3] /.
u3 -> Function[x1, x2, x3,
C[1][x2, x3] + x1 C[3][x1, x3] + x1 C[2][x1, x2 + x3]]
(* True *)


Speculation: Probably the parameter generator checks the heads for unique C[n] expressions, but the head of C[1][x1][x3] is C[1][x1] and doesn't match C[1]. One can see that the order of creation with the following:



Trace[
DSolve[D[u3[x1, x2, x3], x1, x2, x2] ==
D[u3[x1, x2, x3], x1, x2, x3], u3, x1, x2, x3],
C[_][__],
TraceInternal -> True]


Remark: Note that DSolve gives an unexplainable error (without examining internals):




Last::nolast: has zero length and no last element.







share|improve this answer






















  • Just to compare. Maple 2018 answers $$ it u3 left( it x1,it x2,it x3 right) =F_1 left( it x3,it x2 right) +F_2 left( it x3,it x1 right) +F_3 left( it x1,it x3+it x2 right) . $$
    – user64494
    Aug 9 at 14:06













up vote
6
down vote



accepted







up vote
6
down vote



accepted






It looks like an error. For C[1][x][y] to make sense C[1][x] must represent a single-variable function (and C[1] should represent a function that produces a function). However, in the solution returned by DSolve, C[1] has to have a different meaning in the first term. Probably the second two parameters should be C[2] and C[3]. Another point of confusion is that in classical math, C[1][x][y] would automatically be uncurried to form C[1][x, y]. See also Curry.



We can see that the more general expression with three functions C[1], C[2], C[3] is a solution:



D[u3[x1, x2, x3], x1, x2, x2] == D[u3[x1, x2, x3], x1, x2, x3] /.
u3 -> Function[x1, x2, x3,
C[1][x2, x3] + x1 C[3][x1][x3] + x1 C[2][x1][x2 + x3]]
(* True *)


The uncurried form is also a solution:



D[u3[x1, x2, x3], x1, x2, x2] == D[u3[x1, x2, x3], x1, x2, x3] /.
u3 -> Function[x1, x2, x3,
C[1][x2, x3] + x1 C[3][x1, x3] + x1 C[2][x1, x2 + x3]]
(* True *)


Speculation: Probably the parameter generator checks the heads for unique C[n] expressions, but the head of C[1][x1][x3] is C[1][x1] and doesn't match C[1]. One can see that the order of creation with the following:



Trace[
DSolve[D[u3[x1, x2, x3], x1, x2, x2] ==
D[u3[x1, x2, x3], x1, x2, x3], u3, x1, x2, x3],
C[_][__],
TraceInternal -> True]


Remark: Note that DSolve gives an unexplainable error (without examining internals):




Last::nolast: has zero length and no last element.







share|improve this answer














It looks like an error. For C[1][x][y] to make sense C[1][x] must represent a single-variable function (and C[1] should represent a function that produces a function). However, in the solution returned by DSolve, C[1] has to have a different meaning in the first term. Probably the second two parameters should be C[2] and C[3]. Another point of confusion is that in classical math, C[1][x][y] would automatically be uncurried to form C[1][x, y]. See also Curry.



We can see that the more general expression with three functions C[1], C[2], C[3] is a solution:



D[u3[x1, x2, x3], x1, x2, x2] == D[u3[x1, x2, x3], x1, x2, x3] /.
u3 -> Function[x1, x2, x3,
C[1][x2, x3] + x1 C[3][x1][x3] + x1 C[2][x1][x2 + x3]]
(* True *)


The uncurried form is also a solution:



D[u3[x1, x2, x3], x1, x2, x2] == D[u3[x1, x2, x3], x1, x2, x3] /.
u3 -> Function[x1, x2, x3,
C[1][x2, x3] + x1 C[3][x1, x3] + x1 C[2][x1, x2 + x3]]
(* True *)


Speculation: Probably the parameter generator checks the heads for unique C[n] expressions, but the head of C[1][x1][x3] is C[1][x1] and doesn't match C[1]. One can see that the order of creation with the following:



Trace[
DSolve[D[u3[x1, x2, x3], x1, x2, x2] ==
D[u3[x1, x2, x3], x1, x2, x3], u3, x1, x2, x3],
C[_][__],
TraceInternal -> True]


Remark: Note that DSolve gives an unexplainable error (without examining internals):




Last::nolast: has zero length and no last element.








share|improve this answer














share|improve this answer



share|improve this answer








edited Aug 9 at 14:12

























answered Aug 9 at 13:14









Michael E2

140k11190456




140k11190456











  • Just to compare. Maple 2018 answers $$ it u3 left( it x1,it x2,it x3 right) =F_1 left( it x3,it x2 right) +F_2 left( it x3,it x1 right) +F_3 left( it x1,it x3+it x2 right) . $$
    – user64494
    Aug 9 at 14:06

















  • Just to compare. Maple 2018 answers $$ it u3 left( it x1,it x2,it x3 right) =F_1 left( it x3,it x2 right) +F_2 left( it x3,it x1 right) +F_3 left( it x1,it x3+it x2 right) . $$
    – user64494
    Aug 9 at 14:06
















Just to compare. Maple 2018 answers $$ it u3 left( it x1,it x2,it x3 right) =F_1 left( it x3,it x2 right) +F_2 left( it x3,it x1 right) +F_3 left( it x1,it x3+it x2 right) . $$
– user64494
Aug 9 at 14:06





Just to compare. Maple 2018 answers $$ it u3 left( it x1,it x2,it x3 right) =F_1 left( it x3,it x2 right) +F_2 left( it x3,it x1 right) +F_3 left( it x1,it x3+it x2 right) . $$
– user64494
Aug 9 at 14:06


















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f179744%2fwhat-does-the-syntax-c1xy-mean%23new-answer', 'question_page');

);

Post as a guest













































































Comments

Popular posts from this blog

Long meetings (6-7 hours a day): Being “babysat” by supervisor

Is the Concept of Multiple Fantasy Races Scientifically Flawed? [closed]

Confectionery