[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pspp-cvs] pspp/src/math/linreg linreg.h linreg.c ChangeLog
From: |
Jason H Stover |
Subject: |
[Pspp-cvs] pspp/src/math/linreg linreg.h linreg.c ChangeLog |
Date: |
Sun, 12 Aug 2007 02:36:51 +0000 |
CVSROOT: /sources/pspp
Module name: pspp
Changes by: Jason H Stover <jstover> 07/08/12 02:36:51
Modified files:
src/math/linreg: linreg.h linreg.c ChangeLog
Log message:
Added scope and explanation of use of conditional inverse; added
appropriate enum constant
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/src/math/linreg/linreg.h?cvsroot=pspp&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/pspp/src/math/linreg/linreg.c?cvsroot=pspp&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/pspp/src/math/linreg/ChangeLog?cvsroot=pspp&r1=1.16&r2=1.17
Patches:
Index: linreg.h
===================================================================
RCS file: /sources/pspp/pspp/src/math/linreg/linreg.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- linreg.h 7 Jul 2007 06:14:24 -0000 1.17
+++ linreg.h 12 Aug 2007 02:36:50 -0000 1.18
@@ -27,8 +27,9 @@
enum
{
+ PSPP_LINREG_CONDITIONAL_INVERSE,
+ PSPP_LINREG_QR,
PSPP_LINREG_SWEEP,
- PSPP_LINREG_SVD
};
Index: linreg.c
===================================================================
RCS file: /sources/pspp/pspp/src/math/linreg/linreg.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- linreg.c 7 Jul 2007 06:14:24 -0000 1.21
+++ linreg.c 12 Aug 2007 02:36:50 -0000 1.22
@@ -366,6 +366,18 @@
}
gsl_matrix_free (sw);
}
+ else if (cache->method == PSPP_LINREG_CONDITIONAL_INVERSE)
+ {
+ /*
+ Use the SVD of X^T X to find a conditional inverse of X^TX. If
+ the SVD is X^T X = U D V^T, then set the conditional inverse
+ to (X^T X)^c = V D^- U^T. D^- is defined as follows: If entry
+ (i, i) has value sigma_i, then entry (i, i) of D^- is 1 /
+ sigma_i if sigma_i > 0, and 0 otherwise. Then solve the normal
+ equations by setting the estimated parameter vector to
+ (X^TX)^c X^T Y.
+ */
+ }
else
{
gsl_multifit_linear_workspace *wk;
Index: ChangeLog
===================================================================
RCS file: /sources/pspp/pspp/src/math/linreg/ChangeLog,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- ChangeLog 12 Apr 2007 22:40:53 -0000 1.16
+++ ChangeLog 12 Aug 2007 02:36:50 -0000 1.17
@@ -1,3 +1,11 @@
+2007-08-11 Jason Stover <address@hidden>
+
+ * linreg.h (enum): Dropped ambiguous PSPP_LINREG_SVD in favor of
+ PSPP_LINREG_QR. Added PSPP_LINREG_CONDITIONAL_INVERSE.
+
+ * linreg.c (pspp_linreg): Added scope and comment for use of
+ generalized inverse to solve normal equations.
+
2007-04-12 Jason Stover <address@hidden>
* linreg.c: (pspp_linreg_cache_free) Check for null pointer before
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pspp-cvs] pspp/src/math/linreg linreg.h linreg.c ChangeLog,
Jason H Stover <=