mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-02-06 20:49:33 +00:00
(calc-det-lu): New variable.
(math-det-raw, math-det-step): Replace variable lu by declared variable.
This commit is contained in:
parent
3a7a4adb2d
commit
4952f0be95
@ -3,8 +3,7 @@
|
||||
;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: David Gillespie <daveg@synaptics.com>
|
||||
;; Maintainers: D. Goel <deego@gnufans.org>
|
||||
;; Colin Walters <walters@debian.org>
|
||||
;; Maintainer: Jay Belanger <belanger@truman.edu>
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
@ -176,6 +175,10 @@
|
||||
(nth 1 m)
|
||||
(math-reject-arg m 'square-matrixp))))
|
||||
|
||||
;; The variable math-det-lu is local to math-det-raw, but is
|
||||
;; used by math-det-step, which is called by math-det-raw.
|
||||
(defvar math-det-lu)
|
||||
|
||||
(defun math-det-raw (m)
|
||||
(let ((n (1- (length m))))
|
||||
(cond ((= n 1)
|
||||
@ -211,13 +214,13 @@
|
||||
(nth 3 (nth 3 m))))))
|
||||
(t (let ((lud (math-matrix-lud m)))
|
||||
(if lud
|
||||
(let ((lu (car lud)))
|
||||
(let ((math-det-lu (car lud)))
|
||||
(math-det-step n (nth 2 lud)))
|
||||
0))))))
|
||||
|
||||
(defun math-det-step (n prod)
|
||||
(if (> n 0)
|
||||
(math-det-step (1- n) (math-mul prod (nth n (nth n lu))))
|
||||
(math-det-step (1- n) (math-mul prod (nth n (nth n math-det-lu))))
|
||||
prod))
|
||||
|
||||
;;; This returns a list (LU index d), or nil if not possible.
|
||||
|
Loading…
x
Reference in New Issue
Block a user