
Actually, if there are fewer unknowns than equations, you can have multiple means to solve for the unknowns. This is commonly exploited to check the consistency of equations, etc. The problem is how to ensure that some of the equations are not redundant.
If the equations are inconsistent due to measurement errors or such, then you can use least squares and other techniques to come up with the best estimates (according to some criteria).
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software





Thanks for the useful comments.
Yes, the subroutine would check the linear  dependency between equations and exclude those redundent equations.
Yes, a least square technique is required to fine the mean and standard deviations.





I'm not sure how to remove redundant equations, but in case you need to use least squares to estimate a likely set of parameter values, you'll need to use statistical methods to estimate the precision. In a typical least squares solution, you would look at the variancecovariance matrix and use that to estimate the standard errors in the parameter estimates.
In typical least squares there are some empirical methods to do all of that, but I'm not aware of a general algorithm.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software





Walt Fair, Jr. wrote: The problem is how to ensure that some of the equations are not redundant.
Walt Fair, Jr. wrote: Actually, if there are fewer unknowns than equations
If such equations are not redundant then they are incompatible.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
 Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
 Iain Clarke
[My articles]





Well, if everything is perfect, then they would be incompatible.
If there are measurement errors or other uncertainties, then they may all be valid estimates. That's exactly the situation that least squares estimates are designed to handle.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software





In the least square estimate you find the set of parameters that best fits the experimental data into the given equation. You have not incompatible equations.
Generally speaking, if you have more independent equations than unknows then you cannot find a solution.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
 Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
 Iain Clarke
[My articles]





And Walt is correct that there's a linear algebra method for doing least squares to find the "best" solution to the equations. If you have M equations and N unknowns, you have an MxN matrix times a Nx1 vector of unknowns giving a known Nx1 vector. You multiply both sides by the transpose of the matrix giving an (NxM) x (MxN) x (Nx1) = (Nx1) so you end up with an NxN matrix to do your solution with. If I remember right, the underlying principle is finding the best "projection".
Once you agree to clans, tribes, governments...you've opted for socialism. The rest is just details.





Simply put, you cannot solve:
x + y = 2
x  y = 0
x + 3y = 4
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
 Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
 Iain Clarke
[My articles]





CPallini wrote: Simply put, you cannot solve:
x + y = 2
x  y = 0
x + 3y = 4
You most certainly can find a solution. Whether it makes sense or not depends on what the equations represent. If, due to measurement or statistical errors, they really are representing the same set of parameters, then you can use least squares.
If all have the same importance and have been correctly normalized, etc., blah, blah, you simply find the minimum of:
[(x + y  2)^2 + (x  y)^2 + (x + 3*y  4)^2] w.r.t. x and y
If the minimum happens to be zero, the solution is exact. Otherwise it is an estimate of the parameters. The formal mathematical statement of the problem is something like
Find the set of x<small>i</small> that minimizes S = Sum{[f<small>j</small>(x<small>i</small>)  C<small>j</small>]^2}.
You can also add additional constraints to bound the problem and turn it into a nonlinear optimization problem.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software





Yes, you may indeed solve another problem, namely:
Given
f(x,y)=(x+y2)^2 + (xy)^2 + (x+3*y4)^2
find the value of the pair {x,y} which minimize f(x,y).
However, that has not to do with the original linear algebric system.
The algebric system has not solutions according to the RouchéCapelli theorem (and common sense).
Anyway, might be the OP really needed the solution to the least squares problem (i.e. I misunderstood his requirements), who knows?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
 Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
 Iain Clarke
[My articles]





Yes, but you can solve
x + y = 2 + a
x  y = 0 + b
x + 3y = 4 + c
to find the x and y that makes a^{2}+b^{2}+c^{2} the minimum possible.
Clearly they will be not the "solution" of the system, but the value that minimize the "error" in having AX != B
Also note that  even in case of linear dependency  the method works well (it just gives the solution with a null minimum squared error, that is the at that point one and only solution).
Note also (not directly related to the post in answer) that saying that one particular equation is redundant is improper: all equation have the same dignity. Hence "find which equation to exclude" is a misposed problem. I can exclude another and get the same solution.
2 bugs found.
> recompile ...
65534 bugs found.





emilio_grv wrote: Yes, but you can solve
x + y = 2 + ax  y = 0 + bx + 3y = 4 + c
to find the x and y that makes a2+b2+c2 the minimum possible.
That is just another 'new' different problem.
And what would be the 'practical' usefulness of the solution of such new problem is questionable. Consider, for instance, if the original system is, by remote chance:
x = 1000
x = 0
emilio_grv wrote: Note also (not directly related to the post in answer) that saying that one particular equation is redundant is improper: all equation have the same dignity. Hence "find which equation to exclude" is a misposed problem. I can exclude another and get the same solution.
It was a quick way to say: "when you have two linearly dependent equations, you may esclude one of them to find the solution", of course all the equations have the same dignity in the system, anyway you can arbitrarly choose one to solve the system.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
 Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
 Iain Clarke
[My articles]
modified on Saturday, July 10, 2010 11:21 AM





I've been trying to put some code together for setting a desired file creation date/time.
I also got introduced to the FILETIME structure (2 DWORD).
DWORD unsigned long 4,294,967,296 (possibles, including zero)
Hopefully I can get a string to be processed and set the file creation date/time.
So these would be the variables for the DWORD:
1 second 100
1 minute 6,000
1 hour 360,000
24 hours 8,640,000
1 year 3,153,600,000
Current resources on MSDN use SystemTime functions, out of fear of guiding someone to fake copyrighted material.
HANDLE File = CreateFile(L"My File.txt", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_WRITE_ATTRIBUTES, NULL);
SetFileTime( File, &CreationTime, NULL, NULL);
CloseHandle(File);





What's your point?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
 Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
 Iain Clarke
[My articles]





i want to set the file creation date to a specific time





This is what you want to do. Now, what is the question or problem?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
 Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
 Iain Clarke
[My articles]





what's the question ?
Watched code never compiles.





i want to set the file creation date/time to a desired date/time





And what problem are you having in doing so?
"One man's wage rise is another man's price increase."  Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it."  Michael Simmons
"Man who follows car will be exhausted."  Confucius





Fareed Rizkalla wrote: Current resources on MSDN use SystemTime functions, out of fear of guiding someone to fake copyrighted material.
W.T.F. ?!
I which paranoia you've got lost ?
2 bugs found.
> recompile ...
65534 bugs found.





Is it possible to set C as the default to convert and compile in rather than c++?
If that is not possible, how do I set a specific project to C rather than C++?
(Trying to get a vb6 converted to native c rather than c++ without total rewrite.)
Thank You,
Don





Why don't you give the c (instead of cpp ) extension to your files?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
 Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
 Iain Clarke
[My articles]





The compiler driver works out what type of source file it's got based on the extension you give it. Call it .cpp and it'll use the C++ compiler, .c and it'll use the C compiler. You can overide this on a per source file basis by using /TC (compile as C) and /TP (compile as C++). It's an advanced option in the properties of the project.
Cheers,
Ash





Edit : Issue was mostly with the spawned EXE that did not handled parameters properly.
Now everything is working ok.
Thanks.
I'm trying to figure out a couple of issues I have with some path that contains spaces when using ShellExecuteEx :
The current directory contains space : C:\Users\me\Documents\Visual Studio 2008\Projects\asdcasd\asdcasd
TCHAR Buffer[MAX_PATH];
DWORD dwRet;
dwRet = GetCurrentDirectory(MAX_PATH, Buffer);
CString sWorkingPath;
sWorkingPath.Format( _T("\"%s\""), Buffer );
CString command ( _T("XMLtoPDF.exe"));
CString parameters( _T(""));
CString sExe;
sExe.Format ( _T("\"%s\\%s\""), Buffer, command);
SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = _T("open");
ShExecInfo.lpFile = sExe;
ShExecInfo.lpParameters = parameters;
ShExecInfo.lpDirectory = sWorkingPath;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
The exe spawns a console (it's a perl bytecompiled standalone) and tells me the path is not good : C:\Users\me\Documents\Visual does not exists.
I've checked the path and they all semms to be doublequoted to handle the spaces.
Am i missing something ?
Thanks a bunch.
Watched code never compiles.
modified on Thursday, July 8, 2010 3:52 PM





Suggestions:
1) Use GetShortPathName() .
2) Use UrlEscape() .
I'm not sure if either will work, however.
"One man's wage rise is another man's price increase."  Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it."  Michael Simmons
"Man who follows car will be exhausted."  Confucius




