スイッチング素子を駆動するゲート駆動回路において、ゲート電圧、ゲート電流とドレイン電流、ターンオン時間、ターンオフ時間の関係のデータを制御回路が持ち、その特性に従ってターンオン時間、ターンオフ時間の和が最短であり、スイッチング損失最少となる値にゲート抵抗の値を制御することを特徴とするゲート駆動回路。請求項1のゲート駆動回路において、スイッチング素子を駆動するゲート駆動回路において、コレクタエミッタ間又はドレインソース間等の電流を検知する装置を持ち、その電流により適切なゲート電圧、ゲート電流を選択するテーブルを制御回路が持ち、検知した電流に基づきゲート電圧とゲート電流を可変させることを特徴とするゲート駆動回路。請求項1のゲート駆動回路において、ゲート電圧およびゲート電流を可変させる装置がバイポーラトランジスタ等の能動素子であり、バイポーラトランジスタの能動領域を使ってゲート電圧と電流を制御することを特徴とするゲート駆動回路。請求項1のゲート駆動回路において、ゲート電圧およびゲート電流を可変させる装置がトランジスタ等のスイッチング素子であり、スイッチングによりゲート電圧、ゲート電流を制御することを特徴とするゲート駆動回路。Rgは素子の使用条件で最も厳しい点で決定されるため、常に最少スイッチング損失でスイッチング素子を動作させることができない。この課題に対し、特許文献1では負荷電流を計測し、かつ切り替え式のゲート抵抗を用いることでターンオン時間、ターンオフ時間を短くし、かつ過電圧を抑えることを提案している。特許文献2では負荷電流を計測し、かつゲート駆動回路の駆動電圧を可変することでゲート駆動電圧、電流を制御し、ターンオン時間、ターンオフ時間を短くし、かつ過電圧を抑えることを提案している。請求項1の発明によれば、スイッチング素子を駆動するゲート駆動回路において、ゲート電圧、ゲート電流とドレイン電流、ターンオン時間、ターンオフ時間の関係のデータを制御回路が持ち、その特性に従ってターンオン時間、ターンオフ時間の和が最短であり、スイッチング損失最少となる値にゲート抵抗の値を制御することを特徴とするゲート駆動回路。請求項2の発明によれば、請求項1のゲート駆動回路において、スイッチング素子を駆動するゲート駆動回路において、コレクタエミッタ間又はドレインソース間等の電流を検知する装置を持ち、その電流により適切なゲート電圧、ゲート電流を選択するテーブルを制御回路が持ち、検知した電流に基づきゲート電圧とゲート電流を可変させることを特徴とするゲート駆動回路。請求項3の発明によれば、請求項1のゲート駆動回路において、ゲート電圧およびゲート電流を可変させる装置がバイポーラトランジスタ等の能動素子であり、バイポーラトランジスタの能動領域を使ってゲート電圧と電流を制御することを特徴とするゲート駆動回路。請求項4の発明によれば、請求項1のゲート駆動回路において、ゲート電圧およびゲート電流を可変させる装置がトランジスタ等のスイッチング素子であり、スイッチングによりゲート電圧、ゲート電流を制御することを特徴とするゲート駆動回路。本発明のゲート駆動回路は、常に最少スイッチング損失でスイッチング素子が動作可能である。また、従来技術におけるゲート抵抗に相当する回路が無接点かつ無段階で制御可能であることが特徴である。本発明の好適な実施態様を以下の実施例を用いて説明する。図1を用いて本発明の実施例1を説明するコントローラからのオンオフ指令をゲート駆動回路CPU6が受信しオン信号をオン状態制御回路7に、オフ信号をオフ状態制御回路9に指令する。各制御回路はオン状態、オフ状態をコントロールするターンオン制御能動素子8、ターンオフ制御能動素子10にそれぞれ指令を送りスイッチング素子1のゲートに電圧を印加する。なお、この時ターンオン制御能動素子8はターンオフも可能だが主にターンオンを行うもの、ターンオフ制御能動素子10は同様にターンオンも可能だが主にターンオフを行うものである。スイッチング素子1はスイッチング動作を行い、主回路主回路負荷4、主回路電源3を制御する。この時にスイッチング素子を流れる主回路電流を主回路電流検知装置5が検知し、検知信号をゲート駆動回路CPU6にフィードバックを行う。ゲート駆動回路CPU6はターンオン制御能動素子8、ターンオフ制御能動素子10の出力特性及びスイッチング特性とスイッチング素子1のスイッチング特性のデータを持っており、スイッチング素子1のターンオン時間とターンオフ時間の和、すなわちスイッチング時間が常に最短となるような命令を各制御回路7、9に行う。ターンオン制御能動素子8、ターンオフ制御能動素子10は制御回路からの指令を受け、スイッチング素子のゲートに流れる電流と電圧を制御する。この動作により常にスイッチング素子1のスイッチング時間が最少となるようにゲート電圧、電流が制御される。スイッチング時間最小値Tswminが次の式となるゲート電圧、電流でターンオン時間、ターンオフ時間を制御する。この時のスイッチング時間Tswminは次の式で決定される。Tswmin=TonminToffminただし、Tonminはあるスイッチング素子を流れる主回路電流においてターンオン時間Tonが最少となる時間を指す。また、Toffminはスイッチング素子を流れる主回路電流においてターンオフ時間Toffが最少となる時間を指す。図3を用いて本発明の実施例2を説明する。コントローラからのオンオフ指令をゲート駆動回路CPU6が受信しオンオフ指令をオンオフ制御回路13に指令する。オンオフ制御回路13はオンオフ制御能動素子14を駆動し、オンオフ制御能動素子14は、スイッチング素子1のゲート端子へ流れ込む電圧、電流を制御する。スイッチング時間の計算方法は実施例1と同じである。図4を用いて本発明の実施例3を説明する。コントローラからのオンオフ指令をゲート駆動回路CPU6が受信しオン信号をオン状態制御回路7に、オフ信号をオフ状態制御回路9に指令する。各制御回路はPWM変調を行い、オン状態、オフ状態をコントロールするターンオン制御能動素子8、ターンオフ制御能動素子10をスイッチングする。ターンオン制御能動素子8、ターンオフ制御能動素子10から出力されたパルスは平滑リアクトル11、平滑コンデンサ12により平滑され、スイッチング素子1のゲートに入力される。スイッチング時間の計算方法は実施例1と同じである。